插件窝 干货文章 oracle 不同用户

oracle 不同用户

用户 username 权限 管理 56    来源:    2025-04-23

Oracle 不同用户管理

Oracle 数据库中的用户管理是数据库安全的重要组成部分。以下是关于 Oracle 不同用户的详细说明:

1. 用户类型

1.1 系统预定义用户

  • SYS:超级用户,拥有最高权限,拥有数据字典
  • SYSTEM:管理用户,用于日常管理任务
  • DBSNMP:用于 Oracle Enterprise Manager 监控
  • SYSMAN:用于 Oracle Enterprise Manager 管理
  • OUTLN:用于存储大纲(plan stability)信息
  • SCOTT:示例用户(默认密码 TIGER)

1.2 自定义用户

由 DBA 根据需要创建的业务用户

2. 用户创建与管理

2.1 创建用户

CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE tablespace_name
TEMPORARY TABLESPACE temp_tablespace_name
QUOTA size ON tablespace_name
PROFILE profile_name
PASSWORD EXPIRE;

2.2 修改用户

ALTER USER username 
IDENTIFIED BY new_password
QUOTA 100M ON users;

2.3 删除用户

DROP USER username [CASCADE];
-- CASCADE 选项会删除用户拥有的所有对象

3. 用户权限管理

3.1 系统权限

GRANT CREATE SESSION, CREATE TABLE TO username;
REVOKE CREATE TABLE FROM username;

3.2 对象权限

GRANT SELECT, INSERT ON schema.table TO username;
REVOKE INSERT ON schema.table FROM username;

3.3 角色管理

CREATE ROLE role_name;
GRANT role_name TO username;
REVOKE role_name FROM username;

4. 用户查询

4.1 查看所有用户

SELECT username, account_status, created FROM dba_users;

4.2 查看用户权限

SELECT * FROM dba_sys_privs WHERE grantee = 'USERNAME';

4.3 查看用户角色

SELECT * FROM dba_role_privs WHERE grantee = 'USERNAME';

5. 用户安全最佳实践

  1. 为每个应用创建单独的用户
  2. 遵循最小权限原则
  3. 定期修改密码
  4. 使用密码复杂度策略
  5. 锁定不活跃的用户
  6. 使用角色而非直接授予权限

6. 常见问题解决

6.1 用户被锁定

ALTER USER username ACCOUNT UNLOCK;

6.2 密码过期

ALTER USER username IDENTIFIED BY new_password;
ALTER USER username PASSWORD EXPIRE;

6.3 权限不足

检查并授予所需权限:

GRANT required_privilege TO username;

需要更具体的 Oracle 用户管理问题,可以进一步详细说明您遇到的情况。

上一篇:oracle关闭日志