sys与system

1 )   最重要的区别,存储的数据的重要性不同

sys

       所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dbasysdbasysoper等角色或权限,是oracle权限最高的用户。

 

system

       system用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dbasysdba等角色或系统权限。

  

2)  其次的区别,权限的不同。简单来说sys可以启动关闭数据库,而system不可以。

 

sys用户必须以as sysdbaas sysoper形式登录。

 

sysdbasysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限sysdbasysoper具体的权限可以看下表:

 

 

sysdba

sysoper

区别

startup

startup

shutdown

shutdown

alter database open/mount/backup

alter database open/mount/backup

改变字符集

none

create database

none

drop database

none

create spfile

create spfile

alter database archivelog

alter database archivelog

alter database recover

只能完全恢复,不完全恢复不行

拥有restricted session权限

拥有restricted session权限

可以让用户作为sys用户连接

可以进行一些基本的操作,但不能查看用户数据

 

system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,这一点类似Linux里面的sudo的感觉,从登录信息里面我们可以看出来。

 

SQL> conn system/manager as sysdba

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

Connected as SYS

 

因此在as sysdba连接数据库后,创建的对象实际上都是生成在sys中的。我们来做一个小实验:

 

SQL> create user test identified by test;

 

User created

 

SQL> grant sysdba to test;

 

Grant succeeded

 

SQL> conn test/test as sysdba

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

Connected as SYS

 

SQL> create table test (a int);

 

Table created

 

SQL> select owner from dba_tables where table_name=’TEST’;

 

OWNER

——————————

SYS

 

同样,以as sysoper登录,实际上是作为public登录的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值