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

sys和system用户区别数据库

1)最重要的区别,存储的数据的重要性不一样session

sys全部oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是相当重要的,由数据库本身维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。oracle

 

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

  

2)其次的区别,权限的不一样工具

system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
sys用户具备“SYSDBA”或者“SYSOPER”系统权限,登录em也只能用这两个身份,不能用normal。spa

以sys用户登录Oracle,执行select * from V_$PWFILE_USERS;可查询到具备sysdba权限的用户,如:rest

SQL> select * from V_$PWFILE_USERS; 
USERNAME SYSDBA SYSOPER
SYS TRUE TRUE日志

 

 

Sysdba和sysoper两个系统权限区别orm

normal 、sysdba、 sysoper有什么区别
normal 是普通用户 
另外两个,你考察他们所具备的权限就知道了
sysdba拥有最高的系统权限,登录后是 sys
sysoper主要用来启动、关闭数据库,sysoper 登录后用户是 public对象

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

 

系统权限

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用户链接

能够进行一些基本的操做,但不能查看用户数据

登陆以后用户是sys

登陆以后用户是public

 

 

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角色才有了存在的基础

相关文章
相关标签/搜索