Oracle如何创建用户步骤

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

创建用户的核心语法

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

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. 密码策略强化

    ALTER PROFILE default LIMIT
    PASSWORD_LIFE_TIME 90         -- 90天有效期
    FAILED_LOGIN_ATTEMPTS 5;      -- 5次错误锁定
  2. 最小权限原则

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

    Oracle如何创建用户步骤

    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 "旧密码";

高级场景配置

创建只读用户

Oracle如何创建用户步骤

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环境实测验证,实际部署请结合具体环境调整参数。

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月25日 08:11
下一篇 2025年6月25日 08:20

相关推荐

  • 测试机器如何高效检测数据库性能?

    测试数据库时需验证数据完整性、事务处理(ACID特性)、查询性能(响应时间、吞吐量)、安全性(权限控制、防注入)及备份恢复机制,确保数据准确、系统稳定可靠。

    2025年6月1日
    400
  • Linux如何登录数据库

    在Linux中进入MySQL数据库通常使用命令行: ,1. 直接登录:mysql -u 用户名 -p,回车后输入密码 ,2. 或先进入交互环境再验证:输入mysql,再通过\u 用户名和\p连接 ,(其他数据库如PostgreSQL使用psql命令,方法类似)

    2025年6月16日
    200
  • 如何备份手机应用数据库?

    备份手机应用数据库主要方法: ,1. **云同步**:开启应用内的iCloud/Google Drive备份功能(若支持); ,2. **导出文件**:通过手机文件管理器或ADB命令导出数据库文件(需root/调试权限); ,3. **整机备份**:使用手机自带的云服务或电脑备份工具(如iTunes、华为备份)完整备份应用数据。 ,**注意**:部分应用数据库可能加密或禁止导出。

    2025年6月20日
    200
  • 如何用JSP连接数据库?

    在JSP中连接数据库需加载JDBC驱动,通过DriverManager获取Connection对象,使用URL、用户名和密码建立连接,最后执行SQL操作并关闭资源。

    2025年6月13日
    100
  • 如何查看DB2日志?

    查看DB2数据库日志主要分两种:事务日志(归档日志)位于数据库配置的日志路径下,可通过db2 get db cfg查看路径;诊断日志(db2diag.log)在实例的诊断路径下,使用db2diag命令或直接查看文件,需确保有相应文件访问权限。

    2025年6月17日
    000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN