欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle 中system sys,sysoper sysdba 的区别 oraclecuugocpCOM 

程序员文章站 2024-01-08 19:27:10
...
--=====================================
-- system sys,sysoper sysdba 的区别
--=====================================
cuug 每周五晚8点都有免费的网络课程,大家可及时关注cuug官网详细了解。
Oracle 中sys,system帐户以及登陆时的normal,sysoper,sysdba是经常容易混淆的几个概念,下面详细讲述了这几个的区别。
一、sys,system帐户
当Oracle 数据库安装完毕后,系统会自动创建两个帐户如下:
sys:缺省密码为CHANGE_ON_INSTALL ,且被授予DBA角色
system:缺省密码为MANAGER,且被授予DBA角色

下面具体描述sys与system帐户
sys :这个帐户相当于SQL server中的sa帐户,或者说Xp系统中的administrator,或Linux系统中的root帐户,是个超级帐户,拥有的权限最大,可以完成数据库的所有管理任务。Oracle中全部的基表,视图等都是以sys架构存储在数据字典中,类似于SQL server中的master数据库,存储了所有最原始最基本最关键的系统结构,数据等。因此所有以sys架构的对象不允许用户或数据库管理员修改,也不建议创建sys架构的对象。

system :该帐户除了不能完成备份恢复,以及升级之外的数据库所有管理任务,通常用来创建一些用于查看管理信息的表或视图,以及一些被不同Oracle数据库选项和工具使用的内部表或内部视图。同样也不建议使用system架构来创建一些与管理无关的表或视图。

--如下使用system连接rman时提示权限不够,而sys帐户则可以正常连接
RMAN> connect target system/RedHat@orcl--使用system帐户连接失败

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
ORA-01031: insufficient privileges

RMAN> connect target sys/redhat@orcl--使用sys帐户连接成功

connected to target database: ORCL (DBID=1261365217)

注:sys与system两个帐户都属于dba角色,但���两者拥有不同的权限,sys拥有更多的权限。

system@ORCL> grant sysoper to usr1;--对于特殊权限system不能够授予用户
grant sysoper to usr1
*
ERROR at line 1:
ORA-01031: insufficient privileges

system@ORCL> conn / as sysdba
Connected.
sys@ORCL> grant sysoper to usr1;--sys用户则可以完成上面的授权操作

Grant succeeded.

二、Sysoper Sysdba

sysoper权限能够执行下列操作
startup
shutdown
create spfile
alter database [mount | open | close | dismount]
alter [database | tablespace] [begin | end] backup
alter database recover
restricted session

sysdba权限
除了能执行上述所有命令之外,还能创建数据库,删除数据库,数据库日志归档,执行不完全恢复,
以及创建其它的sysoper和sysdba用户

SQL> select * from system_privilege_map where name like '%SYS%';

PRIVILEGE NAMEPROPERTY
---------- ---------------------------------------- ----------
-3 ALTER SYSTEM0
-4 AUDIT SYSTEM0
-83 SYSDBA0
-84 SYSOPER0