Oracle 新建用户的步骤通常包括以下几个主要环节。请注意,这些步骤需要由具有相应权限(如sysdba角色)的用户执行。以下是详细的步骤:

1. 连接到数据库

首先,你需要使用具有足够权限的账户(如system或sys作为sysdba)连接到Oracle数据库。这通常通过SQLPlus或SQL Developer等客户端工具完成。例如,在SQLPlus中,你可以使用如下命令连接:

sqlplus system
输入口令登录
  • 1.
  • 2.

2. 创建表空间(可选)

虽然创建用户时可以直接指定使用系统默认的表空间,但出于管理和性能的考虑,通常会为用户创建专用的表空间。创建表空间的SQL命令示例如下:

CREATE TABLESPACE 表空间名 DATAFILE 'D:\app\Administrator\oradata\orcl\用户名.dbf' SIZE 50M AUTOEXTEND ON;
  • 1.

这里表空间名需要替换为你打算创建的表空间名,数据文件路径和大小也需根据实际情况调整,SIZE 50M文件的初始大小,AUTOEXTEND ON文件大小是否自动扩展(ON:是)。

3. 创建用户

使用CREATE USER语句创建新用户,并指定密码、默认表空间和临时表空间。例如:

CREATE USER 用户名 IDENTIFIED BY 密码
DEFAULT TABLESPACE 表空间
TEMPORARY TABLESPACE temp;
  • 1.
  • 2.
  • 3.

在这里,用户名密码需要替换为你打算使用的用户名和密码,表空间应替换为你在第2步(如果执行了)中创建的表空间名,或者系统默认的表空间名。

注意:此处创建用户报错【ORA-65096:公用用户名或角色名无效】

原因:此时默认是CDB容器,而CDB容器创建用户需要以c##或者C##开头,修改用户名增加前缀即可

只创建用户后还不可登录,此时登录会报错【ORA-01045: 用户xxxxxx 没有 CREATE SESSION 权限; 登录被拒绝】

需要授予权限后方可进行登录

4. 授予用户权限

创建用户后,需要授予用户执行数据库操作的权限。通常,会授予用户如CREATE SESSIONCREATE TABLECREATE VIEW等基本权限,以及根据需要授予更高级的权限。例如:

GRANT CONNECT, RESOURCE TO 用户名;
-- 注意:DBA权限应谨慎授予,因为它提供了对数据库的广泛控制权
-- GRANT DBA TO 用户名; (仅在必要时授予)
  • 1.
  • 2.
  • 3.

5. 验证用户权限

最后,使用新创建的用户名和密码重新连接到数据库,尝试执行一些操作,以验证用户是否已被正确创建并授予了所需的权限。

注意事项

  • 在执行上述步骤时,请确保你有足够的权限。
  • 替换示例中的用户名密码、路径和大小等占位符为实际的值。
  • 授予权限时,请遵循最小权限原则,仅授予用户执行其任务所必需的权限。
  • 如果是在生产环境中操作,请确保先备份相关数据,以防万一发生数据丢失或损坏。

以上步骤基于Oracle数据库的一般操作,具体细节可能因Oracle数据库的版本和配置而异。如果在操作过程中遇到问题,请参考Oracle的官方文档或寻求专业的技术支持。