首页主机资讯Debian Oracle数据库如何进行权限管理

Debian Oracle数据库如何进行权限管理

时间2025-12-03 21:10:03发布访客分类主机资讯浏览387
导读:Debian上Oracle数据库权限管理实操指南 一 环境准备与连接 以操作系统用户oracle登录,确保环境变量正确(示例为ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1),必要时...

Debian上Oracle数据库权限管理实操指南

一 环境准备与连接

  • 以操作系统用户oracle登录,确保环境变量正确(示例为ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1),必要时执行:source ~/.bash_profile
  • 启动监听:lsnrctl start;以管理员身份连接数据库:sqlplus / as sysdba
  • 注意:权限管理的对象在数据库内(用户、角色、权限、Profile),与操作系统用户oracle的权限无关,但为保证服务可用,需确保目录如**/u01属主为oracle:oinstall**、权限775

二 用户与登录权限

  • 创建用户并指定默认表空间(示例表空间为users):
    CREATE USER appuser IDENTIFIED BY < pwd> DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
  • 允许登录:授予CREATE SESSION
  • 常见账户维护:
    • 修改密码:ALTER USER appuser IDENTIFIED BY < newpwd> ;
    • 锁定/解锁:ALTER USER appuser ACCOUNT LOCK|UNLOCK;
    • 删除用户(含对象):DROP USER appuser CASCADE;
  • 登录被拒常见原因:未授予CREATE SESSION

三 系统权限与对象权限

  • 系统权限(示例):
    • 授予建表:GRANT CREATE TABLE TO appuser;
    • 授予任意表查询:GRANT SELECT ANY TABLE TO appuser; (谨慎)
    • 允许转授权限:GRANT CREATE SESSION TO appuser WITH ADMIN OPTION;
    • 回收:REVOKE CREATE TABLE FROM appuser;
    • 特性:系统权限回收不级联
  • 对象权限(示例,schema为scott):
    • 授予表权限:GRANT SELECT, INSERT, UPDATE, DELETE ON scott.emp TO appuser;
    • 列级权限:GRANT INSERT (empno, ename) ON scott.emp TO appuser;
    • 允许再授权:GRANT SELECT ON scott.emp TO appuser WITH GRANT OPTION;
    • 回收:REVOKE SELECT, INSERT ON scott.emp FROM appuser;
    • 特性:对象权限回收级联
  • 公共授权(谨慎使用):GRANT CREATE SESSION TO PUBLIC; GRANT SELECT ON scott.emp TO PUBLIC;

四 角色管理与预定义角色

  • 创建与授权角色:
    • 创建:CREATE ROLE app_role;
    • 给角色授系统权限:GRANT CREATE SESSION, CREATE TABLE TO app_role;
    • 给角色授对象权限:GRANT SELECT, INSERT, UPDATE, DELETE ON scott.emp TO app_role;
    • 将角色授予用户:GRANT app_role TO appuser;
    • 允许转授角色:GRANT app_role TO appuser WITH ADMIN OPTION;
    • 删除角色:DROP ROLE app_role;
  • 预定义角色:
    • CONNECT:常用基础会话与对象创建权限集合。
    • RESOURCE:包含创建表、索引、过程、触发器等权限;在部分版本中隐含UNLIMITED TABLESPACE
    • DBA:几乎全部系统权限;注意其不包含SYSDBA/SYSOPER特权(启停实例)。
  • 安全建议:生产环境优先采用最小权限自定义角色,谨慎授予DBAWITH ADMIN OPTION / WITH GRANT OPTION

五 表空间配额与Profile口令资源限制

  • 表空间配额(示例为users):
    • 授予配额:ALTER USER appuser QUOTA 100M ON users;
    • 无限制:ALTER USER appuser QUOTA UNLIMITED ON users;
    • 常见报错:ORA-01950: no privileges on tablespace 表示缺配额。
  • Profile(口令与资源限制):
    • 查看:SELECT * FROM dba_profiles WHERE profile='DEFAULT';
    • 口令限制示例:ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1 PASSWORD_LIFE_TIME 90;
    • 资源限制需启用:ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=MEMORY;
    • 切换用户Profile:ALTER USER appuser PROFILE app_profile;
    • 删除Profile:DROP PROFILE app_profile CASCADE; (同时将其用户改回DEFAULT)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Oracle数据库如何进行权限管理
本文地址: https://pptw.com/jishu/762764.html
如何监控Debian上Zookeeper的状态 Debian上Oracle如何进行数据恢复

游客 回复需填写必要信息