Oracle中sys和system用户、系统权限和角色的区别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle中sys和system⽤户、系统权限和⾓⾊的区别
1)最重要的区别,存储的数据的重要性不同
【sys】所有oracle的数据字典的基表和视图都存放在sys⽤户中,这些基表和视图对于oracle的运⾏是⾄关重要的,由数据库⾃⼰维护,任何⽤户都不能⼿动更改。

sys⽤户拥有dba,sysdba,sysoper等⾓⾊或权限,是oracle权限最⾼的⽤户。

【system】⽤户⽤于存放次⼀级的内部数据,如oracle的⼀些特性或⼯具的管理信息。

system⽤户拥有普通dba⾓⾊权限。

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

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

【sys】⽤户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能⽤这两个⾝份,不能⽤normal。

 以sys⽤户登陆Oracle,执⾏select * from V_$PWFILE_USERS;可查询到具有sysdba权限的⽤户,如:
复制代码代码如下:
SQL> select * from V_$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
SYS TRUE TRUE
Sysdba和sysoper两个系统权限区别
normal 、sysdba、 sysoper有什么区别
normal 是普通⽤户
另外两个,你考察他们所具有的权限就知道了
sysdba拥有最⾼的系统权限,登陆后是 sys
sysoper主要⽤来启动、关闭数据库,sysoper 登陆后⽤户是 public
sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类⼀些系统管理级别的权限sysdba和sysoper具体的权限可以看下表:
oracle <wbr>sys和system⽤户区别
system如果正常登录,它其实就是⼀个普通的dba⽤户,但是如果以as sysdba登录,其结果实际上它是作为sys⽤户登录的,这⼀点类似Linux⾥⾯的sudo的感觉,从登录信息⾥⾯我们可以看出来。

因此在as sysdba连接数据库后,创建的对象实际上
都是⽣成在sys中的。

其他⽤户也是⼀样,如果 as sysdba登录,也是作为sys⽤户登录的,看以下实验:
SQL> create user strong identified by strong;
⽤户已创建。

SQL> conn strong/strong@magick as sysdba;
已连接。

SQL> show user;
USER 为 "SYS"
SQL> create table test(a int);
表已创建。

SQL> select owner from dba_tables where table_name='test';
未选定⾏ //因为创建表时oracle⾃动转为⼤写,所以⽤⼩写查的时候是不存在的;
SQL> select owner from dba_tables where table_name='TEST';
OWNER
------------------------------
SYS
dba和sysdba的区别
dba、sysdba这两个系统⾓⾊有什么区别呢
在说明这⼀点之前我需要说⼀下oracle服务的创建过程
创建实例→启动实例→创建数据库(system表空间是必须的)
启动过程
实例启动→装载数据库→打开数据库
sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在,以sysdba⾝份登陆,装载数据库、打开数据库。

只有数据库打开了,或者说整个数据库完全启动后,dba⾓⾊才有了存在的基础!
1.DBA权限主要包含的是数据库管理相关的权限
2.需要给你的⽤户admin赋予建表等相关权限,⽐如
grant create table to admin; --创建表 grant create view to admin; -- 创建视图
3.也可以直接给connect和resource⾓⾊,其包括⼤部分需要的 grant connect,resource to admin;
这两个⾓⾊包括的权限(以oracle 10g为例)有:
CONNECT⾓⾊: --是授予最终⽤户的典型权利,最基本的
CREATE SESSION --建⽴会话
RESOURCE⾓⾊: --是授予开发⼈员的
CREATE CLUSTER --建⽴聚簇
CREATE PROCEDURE --建⽴过程
CREATE SEQUENCE --建⽴序列
CREATE TABLE --建表
CREATE TRIGGER --建⽴触发器
CREATE TYPE --建⽴类型
CREATE OPERATOR --创建操作者
CREATE INDEXTYPE --创建索引类型
CREATE TABLE --创建表。

相关文档
最新文档