Oracle创建用户和密码步骤详解

使用SQL*Plus或SQL Developer登录管理员账号,执行:,CREATE USER 用户名 IDENTIFIED BY 密码;GRANT CONNECT, RESOURCE TO 用户名;,即完成带密码用户的创建和基础权限分配。

创建用户名的核心步骤

通过SQL*Plus或SQL Developer执行以下命令:

Oracle创建用户和密码步骤详解

CREATE USER 用户名 
IDENTIFIED BY 密码
DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE 临时表空间名
QUOTA 空间大小 ON 表空间名;

参数详解

  • 用户名:自定义名称(如 sales_admin),需以字母开头,长度≤30字符
  • 密码:需满足复杂度要求(下文详述)
  • DEFAULT/TEMPORARY TABLESPACE:指定存储数据的表空间(默认USERSTEMP
  • QUOTA:分配存储空间(如 10MUNLIMITED

示例

CREATE USER audit_user 
IDENTIFIED BY "Str0ngP@ss2025!" 
DEFAULT TABLESPACE users 
TEMPORARY TABLESPACE temp 
QUOTA 500M ON users;

密码安全强制要求

Oracle默认启用密码策略,需满足:

  1. 长度:≥8字符(12位以上更安全)
  2. 复杂度:包含大写字母、小写字母、数字、特殊字符(如 )
  3. 历史记录:禁止重复使用最近5次密码
  4. 失效周期:默认180天过期(可通过ALTER PROFILE修改)

⚠️ 禁用弱密码(如password123),否则触发ORA-28003: password verification failed


后续关键配置

  1. 授予权限(基础权限示例):

    Oracle创建用户和密码步骤详解

    GRANT CONNECT, RESOURCE TO 用户名;  -- 允许连接和创建对象
    GRANT CREATE SESSION TO 用户名;     -- 登录必需权限
  2. 修改密码

    ALTER USER 用户名 IDENTIFIED BY 新密码;
  3. 解锁用户(当多次登录失败后):

    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; 
  • 安全建议

    Oracle创建用户和密码步骤详解

    1. 定期使用 ALTER USER ... PASSWORD EXPIRE 强制更新密码
    2. 通过PROFILE限制登录尝试次数:
      CREATE PROFILE secure_profile LIMIT FAILED_LOGIN_ATTEMPTS 3;
      ALTER USER 用户名 PROFILE secure_profile;

高级场景

外部认证用户(不存储密码)

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[验证登录测试]

📌 最佳实践

  • 生产环境禁用简单密码策略
  • 通过角色(ROLE)管理权限而非直接赋权
  • 定期审计用户:SELECT username, account_status FROM dba_users;

引用说明
本文操作基于Oracle 19c版本,参考Oracle官方文档《Database Security Guide》中Authentication MethodsUser Privileges章节,权限管理需遵循最小特权原则(Principle of Least Privilege)。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/38899.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月25日 06:53
下一篇 2025年6月11日 04:41

相关推荐

  • Excel如何快速连接数据库?

    Excel连接数据库可通过ODBC或Power Query实现:使用ODBC需配置数据源后导入;Power Query支持直接连接多种数据库并实时刷新数据,实现动态数据同步分析。

    2025年6月17日
    100
  • 如何高效将图片存入数据库?这些方法你掌握了吗?

    将图片存入数据库通常采用二进制存储方式,需将图片转为字节流后存入BLOB类型字段,可通过编程语言(如Java、Python)读取图片文件,使用数据库连接工具执行插入操作,注意大文件可能影响性能,建议存储路径或使用专门文件存储系统。

    2025年5月29日
    300
  • 微信清理空间方法

    微信官方未开放注册数据库清理功能,不建议用户自行操作,避免数据丢失或账号异常,如需清理空间,可使用微信内置的“存储空间”管理工具,删除缓存、聊天记录或不需要的文件。

    2025年6月22日
    000
  • 如何高效更新数据库表结构?

    更新数据库表主要通过SQL的UPDATE语句修改现有数据,或使用ALTER TABLE调整表结构(如增删列),执行时需指定条件定位记录,并注意事务管理及备份数据确保操作安全。

    2025年5月29日
    300
  • 安卓如何实现数据库连接代码

    在安卓开发中,通常通过SQLiteOpenHelper类实现本地数据库连接,或使用HttpURLConnection/Retrofit等网络库连接远程数据库API,关键步骤包括:配置数据库驱动(远程需服务端支持)、建立连接、执行SQL操作并处理结果,注意:直接连接外部数据库存在安全风险,推荐通过REST API中间层交互。

    2025年6月19日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN