十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

Oracle的sys和system用户有啥区别

上一篇 / 下一篇  2011-07-10 16:17:59 / 个人分类:Oracle

  1 ) 最重要的区别,存储的数据的重要性不同51Testing软件测试网b-P!Xu+uk

  【 sys 】 所有 oracle 的数据字典的基表和视图都存放在 sys 用户中,这些基表和视图对于 oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。 sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是 oracle 权限最高的用户。51Testing软件测试网 p~!]3cW"@ sf

  【 system 】 用户用于存放次一级的内部数据,如 oracle 的一些特性或工具的管理信息。 system 用户拥有普通 dba 角色权限。

_ H t)vTdI0

  2) 其次的区别,权限的不同。

ks2yw\"F0

  【 system 】用户只能用 normal 身份登陆 em ,除非你对它授予了 sysdba 的系统权限或者 syspoer 系统权限。

,U(wGEniY&y0

  【 sys 】用户具有 "SYSDBA" 或者 "SYSOPER" 系统权限,登陆 em 也只能用这两个身份,不能用 normal .

| o_$p+og0V0

  以 sys 用户登陆 Oracle ,执行 select * from V_$PWFILE_USERS; 可查询到具有 sysdba 权限的用户,如:51Testing软件测试网-hu!}aX"kW3f M

  SQL> select * from V_$PWFILE_USERS;51Testing软件测试网z8qI(TtQ

  USERNAME SYSDBA SYSOPER

h8r"Ah%k0

  SYS TRUE TRUE51Testing软件测试网$L7j/v/],wAz.]

  Sysdba 和 sysoper 两个系统权限区别

PN.D,Y-RN MD0

  normal 、 sysdba 、 sysoper 有什么区别

?;o2b7O/s&L]]0

  normal 是普通用户51Testing软件测试网 K1K+H-V XfK.ZE jb

  另外两个,你考察他们所具有的权限就知道了

q4kXUA$n Ji$i0

  sysdba 拥有最高的系统权限,登陆后是 sys51Testing软件测试网(_7}+mj9yS Ym6A@

  sysoper 主要用来启动、关闭数据库, sysoper 登陆后用户是 public51Testing软件测试网EV3A c}XP

  sysdba 和 sysoper 属于 system privilege ,也称为 administrative privilege ,拥有例如数据库开启关闭之类一些系统管理级别的权限 sysdba 和 sysoper 具体的权限可以看下表:51Testing软件测试网9T)f8VF*qO T'|n

  系统权限 sysdba sysoper

Ygk-wDR w I0

  区别 Startup( 启动数据库 ) startup51Testing软件测试网ZZ^+mJ m4A8cE)G6V

  Shutdown( 关闭数据库 ) shutdown

)xc.J-@8|e!J&\v5t0

  alter database open/mount/backup alter database open/mount/backup

_ U/TopW9h0

  改变字符集 none51Testing软件测试网$b? S0ELqEC

  create database( 创建数据库 ) None 不能创建数据库51Testing软件测试网g-O T#k| amv H

  drop database( 删除数据库 ) none51Testing软件测试网2|^M3[ Z8?n4@0d#L

  create spfile create spfile

6N5[ d-V]l r0

  alter database archivelog( 归档日志 ) alter database archivelog51Testing软件测试网:J yAflZ | n#VU

  alter database recover( 恢复数据库 ) 只能完全恢复,不能执行不完全恢复51Testing软件测试网/?/TtS*uu5J8p'nd

  拥有restricted session( 会话限制 ) 权限 拥有restricted session 权限

V)J*FyT6L6S"B0

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

}i.b,syCzUX7d0

  登录之后用户是sys 登录之后用户是public

3HSym s1o {0

  system 如果正常登录,它其实就是一个普通的 dba 用户,但是如果以 as sysdba 登录,其结果实际上它是作为 sys 用户登录的,这一点类似 Linux 里面的 sudo 的感觉,从登录信息里面我们可以看出来。因此在 as sysdba 连接数据库后,创建的对象实际上都是生成在 sys 中的。其他用户也是一样,如果 as sysdba 登录,也是作为 sys 用户登录的,看以下实验:51Testing软件测试网cu.v;O8E5a^e&M(r

  SQL> create user strong identified by strong;51Testing软件测试网RO.TcYE\ F R!Z


TAG: Oracle oracle

 

评分:0

我来说两句

Open Toolbar