共计 1158 个字符,预计需要花费 3 分钟才能阅读完成。
权限
SYSDBA 包含的权限:
(1) Perform STARTUP and SHUTDOWN operations
(2) ALTER DATABASE: open, mount, back up, or change character set
(3) CREATE DATABASE
(4) DROP DATABASE
(5) CREATE SPFILE
(6) ALTER DATABASE ARCHIVELOG
(7) ALTER DATABASE RECOVER
(8) Includes the RESTRICTED SESSION privilege
SYSOPER 包含的权限:
(1) Perform STARTUP and SHUTDOWN operations
(2) CREATE SPFILE
(3) ALTER DATABASE OPEN/MOUNT/BACKUP
(4) ALTER DATABASE ARCHIVELOG
(5) ALTER DATABASE RECOVER (Complete recovery only. Any form of incomplete recovery, such as
UNTIL TIME|CHANGE|CANCEL|CONTROLFILE requires connecting as SYSDBA.)
(6) Includes the RESTRICTED SESSION privilege
This privilege allows a user to perform basic operational tasks, but without the ability to look at user data.
说明
SYSOPER 是 SYSDBA 的子集,同时当我们以 SYSDBA 登录数据库时,不管你输入的是什么用户,实际登录的用户都是默认的 SYS 模式;当以 SYSOPER 登录数据库时,都会以默认的 PUBLIC 模式登录。
测试
(1) 我们使用一个不存在的用户 test 进行登录:
[Oracle@orcl ~]$ sqlplus test/test as sysdba
可以看到此时登录的是默认的 SYS 模式。
(2) 同样以不存在的 test 用户登录:
[oracle@orcl ~]$ sqlplus test/test as sysoper
可以看到此时登录的是默认的 PUBLIC 模式。
(3) 我们在 sysdba 下查询表 zhan.t_a
可以看到表是存在的;
在 SYSOPER 下查询同样的表:
发现提示表不存在。
总结
(1) SYSOPER 是 SYSDBA 的子集;
(2) 以 SYSDBA 登录时,默认模式是 SYS,不管你 sqlplus 命令里指定的是哪个用户;同理,SYSOPER 默认模式是 PUBLIC;
(3) 在以 SYSOPER 登录时,不能访问普通用户的表数据。
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: