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登录时,不能访问普通用户的表数据。