SYSDBA and SYSOPER

SYSDBA and SYSOPER
In my opinion, SYSDBA and SYSOPER are system privileges.
You can find them by select * from system_privilege_map where name like 'SYS%'

As I know
1. schema: SYS, SYSTEM, SYSMAN
2. privilege: SYSDBA, SYSOPER
3. role: DBA

Note: The DBA role does not include the SYSDBA or SYSOPER system privileges.

-------------

sysdba、sysoper是一种很特殊的权限,可以启动与关闭、创建与删除数据库等,不包含在dba权限之内的。
两个权限是超越数据库的权限(新建,启动,关闭数据库),在数据库之上,所以dba_roles中没有(??)。
只要用internal用户将此权限授给其它的用户就可以用此用户加 as sysdba 登录,可以关闭和启动数据库了。并可以进行oracle DBA所不能做的操作。

授权:
SQL> grant sysdba,sysoper to jcat
收回权限:
SQL> revoke sysdba from jcat

查看这两个权限的拥有情况(需一定的权限,sys就可以看):
SQL> select * from v$pwfile_users

-------------
 
sysdba 拥有最高的系统权限 (sysdba的权限包含所有sysoper的权限)
sysoper主要用来启动、关闭数据库
相比之下,SYSDBA比SYSOPER多了两个权限:
 1)change character set,改变字符集设置;
 2)CREATE DATABASE,创建数据库。
 

sysoper登陆后用户是 public
sysdba 登陆后是 sys
可以通过以下方式进行验证:
SQL> conn test/test as sysoper;
SQL> show user
USER 为"PUBLIC"
 
SQL> conn test/test as sysdba
SQL> show user
USER 为"SYS"

你可能感兴趣的:(SYSDBA and SYSOPER)