ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sysdba与sysoper系统特权介绍

sysdba与sysoper系统特权介绍

原创 Linux操作系统 作者:pingley 时间:2012-02-16 13:06:23 0 删除 编辑
sysdba与sysoper系统特权介绍
       sysdba,sysoper拥有很高的数据库管理权限。sysdba的权限大于sysoper,sysoper不能查看用户的数据。sysdba,sysoper系统特权允许在数据库没有打开的时候访问实例。这时候使用的是外部认证的方式,操作系统认证,密码文件认证或者外部服务器验证,当然正常的数据字典认证也是可用的(当数据库打开以后)。操作系统认证会查看发出sysdba,sysoper的用户是否在操作系统oracle软件所的用户组内。如果通过验证则允许该用户以sysdba,sysoper登录到数据库.当以sysdba登录到数据库的时候,用户所在的模式是sys。当以sysoper登录到数据库的时候用户的模式是public。注意sysdba,sysoper是一组数据库系统特权,不是用户,也不是role.
实际上当时使用操作系统认证以sysdba或sysoper特权登录,用户名分别是:
sysdba 对应 sys.sysoper 对应 public
SQL> conn / as sysdba
已连接。
SQL> show user
USER 为 "SYS"
sysdba,sysoper系统特权不能授权给role,因为只有当数据库启动角色才是可用的。
sysdba,sysoper系统特权的授予:
SQL> grant sysoper to hr;
授权成功。
SQL> grant sysoper to hr
  2  with admin option;
授权成功。
SQL> conn hr as sysoper
输入口令:
已连接。
SQL> show user
USER 为 "PUBLIC"    //sysoper系统特权登录的时候,用户是public。
SQL> grant sysoper to scott;
grant sysoper to scott
*
第 1 行出现错误:
ORA-01031: 权限不足
只有sys才可以授予别的用户sysdba,sysoper系统特权。获得sysoper with
admin option的用户,无法授权其他用户拥有sysoper系统特权。
刚才那个操作太危险了,赶紧把sysoper系统特权收回来。
SQL> revoke sysoper from hr;
撤销成功。
sysdba,sysoper特权的授予千万要小心谨慎。特别是sysdba特权,只要一个用户获得了sysdba特权,他就是“sys”了。
如果获得sysdba特权的用户想回过头来干掉老子(sys)。是不合伦理的。
SQL> show user
USER 为 "SYS"
SQL> revoke sysdba from sys;
revoke sysdba from sys
*
第 1 行出现错误:
ORA-01998: REVOKE 失败: 用户 SYS 始终具有 SYSOPER 和 SYSDBA
获得sysdba系统特权的用户想回收sys用户的sysdba特权,失败了。
通过动态性能视图V$pwfile_users查看当前数据库系统中获得sysdba,sysoper,sysasm系统特权的用户。
SQL> column username format a15
SQL> select * from V$pwfile_users;

USERNAME        SYSDBA     SYSOPER    SYSASM
--------------- ---------- ---------- ----------
SYS             TRUE       TRUE       FALSE
SCOTT           TRUE       FALSE      FALSE
sysdba系统特权被授予的操作有:
startup and shutdown 
alter database: open, mount, back up, 或者改变字符集
create database
drop database
create spfile
alter database archivelog
alter database recover
restricted session privilege
sysoper系统特权被授予的操作有:
startup and shutdown 
create spfile
alter database open/mount/backup
alter database archivelog
alter database recover 只能执行完全恢复。不完全恢复需要使用sysdba。
restricted session privileg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-716572/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    717575