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
-------------
sysoper登陆后用户是 public
sysdba 登陆后是 sys
两个权限是超越数据库的权限(新建,启动,关闭数据库),在数据库之上,所以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主要用来启动、关闭数据库
相比之下,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 sysoper;
SQL> show user
USER 为"PUBLIC"
SQL> conn test/test as sysdba
SQL> show user
USER 为"SYS"
SQL> show user
USER 为"SYS"
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26043157/viewspace-703991/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26043157/viewspace-703991/