Oracle创建用户和密码步骤详解
- 主机动态
- 2025-06-25
- 5
创建用户名的核心步骤
通过SQL*Plus或SQL Developer执行以下命令:
CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 临时表空间名 QUOTA 空间大小 ON 表空间名;
参数详解:
- 用户名:自定义名称(如 sales_admin),需以字母开头,长度≤30字符
- 密码:需满足复杂度要求(下文详述)
- DEFAULT/TEMPORARY TABLESPACE:指定存储数据的表空间(默认USERS和TEMP)
- QUOTA:分配存储空间(如 10M或UNLIMITED)
示例:
密码安全强制要求
Oracle默认启用密码策略,需满足:
- 长度:≥8字符(12位以上更安全)
- 复杂度:包含大写字母、小写字母、数字、特殊字符(如 )
- 历史记录:禁止重复使用最近5次密码
- 失效周期:默认180天过期(可通过ALTER PROFILE修改)
️ 禁用弱密码(如password123),否则触发ORA-28003: password verification failed
后续关键配置
-
授予权限(基础权限示例):

-
修改密码:
ALTER USER 用户名 IDENTIFIED BY 新密码; -
解锁用户(当多次登录失败后):
ALTER USER 用户名 ACCOUNT UNLOCK; -
问题1:用户无CREATE SESSION权限
错误提示:ORA-01045: CREATE SESSION privilege missing
解决方案:执行 GRANT CREATE SESSION TO 用户名;

-
问题2:密码复杂度不足
错误提示:ORA-28003: password verification failed
解决方案:
-- 临时禁用复杂度检查(生产环境不推荐) ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL; -
安全建议:
- 定期使用 ALTER USER ... PASSWORD EXPIRE 强制更新密码
- 通过PROFILE限制登录尝试次数: CREATE PROFILE secure_profile LIMIT FAILED_LOGIN_ATTEMPTS 3; ALTER USER 用户名 PROFILE secure_profile;
- 生产环境禁用简单密码策略
- 通过角色(ROLE)管理权限而非直接赋权
- 定期审计用户:SELECT username, account_status FROM dba_users;
高级场景
外部认证用户(不存储密码)
CREATE USER ops_user IDENTIFIED EXTERNALLY; -- 依赖操作系统/域认证 **2. 全局用户(企业级认证)** ```sql CREATE USER global_user IDENTIFIED GLOBALLY AS 'CN=admin,DC=corp'; -- 关联LDAP目录服务
总结关键流程
graph LR A[连接SYSDBA账户] --> B[执行CREATE USER命令] B --> C[设置复杂密码] C --> D[分配表空间配额] D --> E[授予CONNECT+CREATE SESSION权限] E --> F[验证登录测试]
最佳实践:
引用说明:
本文操作基于Oracle 19c版本,参考Oracle官方文档《Database Security Guide》中Authentication Methods与User Privileges章节,权限管理需遵循最小特权原则(Principle of Least Privilege)。

故障排查与安全建议