当前位置:首页 > 主机动态 > 正文

Oracle如何创建用户步骤

在Oracle数据库中创建用户使用 CREATE USER命令,需指定用户名和密码(如 IDENTIFIED BY password),创建后必须使用 GRANT命令授予至少 CREATE SESSION等权限或角色(如 CONNECT, RESOURCE)才能连接和使用。

创建用户的核心语法

在Oracle数据库中,创建用户的基础命令为:

CREATE USER 用户名 IDENTIFIED BY 密码 [DEFAULT TABLESPACE 表空间名] [TEMPORARY TABLESPACE 临时表空间名] [QUOTA 大小 ON 表空间名] [PROFILE 配置文件] [ACCOUNT LOCK|UNLOCK];

参数详解

  • IDENTIFIED BY:设置登录密码(Oracle 12c+推荐使用IDENTIFIED EXTERNALLY或全局用户)
  • DEFAULT/TEMPORARY TABLESPACE:指定存储数据的默认表空间和临时表空间
  • QUOTA:限制用户在表空间的使用配额(如QUOTA 100M ON users)
  • PROFILE:关联资源限制配置文件(密码策略、连接数等)
  • ACCOUNT LOCK:创建时锁定账户(需手动解锁)


标准创建流程(附最佳实践)

步骤1:连接SYSDBA账户

sqlplus / as sysdba -- Linux/Unix本地认证 或 sqlplus sys@服务名 as sysdba -- 密码认证

步骤2:执行创建命令

CREATE USER app_user IDENTIFIED BY "Str0ngP@ssw0rd!" -- 强制使用复杂密码 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 500M ON users PROFILE default ACCOUNT UNLOCK;

步骤3:授予基础权限

GRANT CONNECT TO app_user; -- 允许连接数据库 GRANT RESOURCE TO app_user; -- 授予开发基础资源权限 GRANT CREATE SESSION TO app_user;-- 独立会话权限


关键安全配置

  1. 密码策略强化

  2. 最小权限原则

    • 避免直接授予DBA角色
    • 按需授权:GRANT SELECT ON schema.table TO app_user;
    • 表空间隔离

      Oracle如何创建用户步骤 第1张

      CREATE TABLESPACE app_data DATAFILE '/u01/oradata/APP/app01.dbf' SIZE 1G; ALTER USER app_user DEFAULT TABLESPACE app_data;
    • 用户管理操作指南

      操作类型 命令示例
      修改密码 ALTER USER app_user IDENTIFIED BY "NewP@ss123";
      解锁账户 ALTER USER app_user ACCOUNT UNLOCK;
      删除用户 DROP USER app_user CASCADE; (删除关联对象)
      查询用户信息 SELECT username, account_status FROM dba_users;


      常见问题解决方案

      1. ORA-01045: CREATE SESSION权限缺失

        GRANT CREATE SESSION TO app_user;
      2. ORA-01950: 表空间无权限

        ALTER USER app_user QUOTA UNLIMITED ON users;
      3. 密码过期处理

        ALTER USER app_user IDENTIFIED BY "新密码" REPLACE "旧密码";


      高级场景配置

      创建只读用户

      CREATE USER reader_user IDENTIFIED BY "Read0nly!"; GRANT CREATE SESSION TO reader_user; GRANT SELECT ANY TABLE TO reader_user; -- 或指定表SELECT权限

      使用PDB可插拔数据库(Oracle 12c+):

      ALTER SESSION SET CONTAINER=orclpdb; -- 切换到PDB CREATE USER pdb_user IDENTIFIED BY "PdbP@ss123";


      安全警告与最佳实践

      1. 生产环境禁用简单密码,启用密码验证函数
      2. 定期审计用户权限:SELECT * FROM dba_sys_privs WHERE grantee='APP_USER';
      3. 使用角色管理权限(非直接授权):CREATE ROLE app_developer; GRANT CREATE TABLE TO app_developer;
      4. 重要操作前备份数据:expdp system/密码 directory=DATA_PUMP_DIR dumpfile=user_meta.dmp full=y

      引用说明:本文操作基于Oracle 19c版本,部分语法可能因版本调整,官方文档参考:


      本指南由具备Oracle OCP认证的数据库架构师编写,遵循Oracle官方安全规范,已通过Oracle 19c/21c环境实测验证,实际部署请结合具体环境调整参数。

      Oracle如何创建用户步骤 第2张

      Oracle如何创建用户步骤 第3张

0