关于sysdba和sysoper权限

2022-08-18 17:39:13 浏览数 (1)

权限

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

0 人点赞