Oracle DB 21c XE如何创建或赋予用户SYSDBA权限?
在Oracle 21c XE中给用户赋予SYSDBA权限的正确方法
你之前的命令错误原因
你执行的GRANT CREATE SESSION GRANT ANY PRIVILEGE TO aarab;存在两个问题:
- 语法错误:多个权限之间必须用逗号分隔,正确写法应为
GRANT CREATE SESSION, GRANT ANY PRIVILEGE TO aarab; - 权限范围错误:
GRANT ANY PRIVILEGE仅允许用户授予其他权限,并不等同于SYSDBA的全部权限——SYSDBA是Oracle的顶级管理特权,包含启动/关闭数据库、创建数据库、执行全库恢复等核心操作权限,不是普通权限的集合。
给现有用户赋予SYSDBA权限的步骤
- 以SYSDBA身份登录数据库:
sqlplus / as sysdba - 执行赋予SYSDBA权限的命令:
GRANT SYSDBA TO aarab; - 验证权限:退出当前会话后,用以下命令登录测试:
sqlplus aarab/<你的密码> as sysdba
创建带SYSDBA权限的新用户
如果要直接创建拥有SYSDBA权限的用户,步骤如下:
- 以SYSDBA身份登录后,先设置会话参数(Oracle XE默认是CDB模式,此参数允许创建非容器用户):
alter session set "_ORACLE_SCRIPT"=true; - 创建用户:
create user aarab identified by <你的密码>; - 赋予SYSDBA权限:
GRANT SYSDBA TO aarab;
注意事项
SYSDBA是Oracle权限体系中最高级别的特权,拥有完全的数据库管理控制权,仅应授予可信的数据库管理员,避免因权限滥用导致数据安全风险。
内容的提问来源于stack exchange,提问作者jamal1aarab
相关产品推荐
相关产品推荐

