Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN、SOCTT用户的区别

Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别

SYS、SYSTEM、DBSNMP、 Oracle 数据库中 SYS、SYSTEM、DBSNMP、SYSMAN 四用户的区别 用户:

SYS 用户: SYS,默认密码为 CHANGE_ON_INSTALL,当创建一个数据库时,SYS 用户将被默认 创建并授予 DBA 角色,所有数据库数据字典中的基本表和视图都存储在名为 SYS 的方案中,这些基本表和视图对于 Oracle 数据库的操作时非常重要的。为了维 护数据字典的真实性,SYS 方案中的表只能由系统来维护,他们不能被任何用户 或数据库管理员修改,而且任何用户不能在 SYS 方案中创建表。

SYSTEM 用户: SYSTEM,默认密码为 MANAGER,与 SYS 一样,在创建 Oracle 数据库时,SYSTEM 用户被默认创建并被授予 DBA 角色,用于创建显示管理信息的表或视图,以及被 各种 Oracle 数据库应用和工具使用的内容表或视图。

DBSNMP 用户: DBSNMP 是 Oracle 数据库中用于智能代理(Intelligent Agent)的用户,用来 监控和管理数据库相关性能的用户,如果停止该用户,则无法提取相关的数据信 息;

SYSMAN 用户: SYSMAN 是 Oracle 数据库中用于 EM 管理的用户,如果你不用该用户,也可以删除。

scott 是演示用户,是让我们学习Oracle的

hr用户是个示例用户,是在创建数据库时选中“示例数据库”后产生的,实际上就是模拟一个人力资源部的数据库。

sysdba 不是用户,可以认为是个权限,超级权限。默认中sys就拥有这种超级权限,是权限最高的用户。

“SYSOPER”权限,即数据库操作员权限,权限包括:

打开数据库服务器、
关闭数据库服务器、
备份数据库 日志归档、
恢复数据库、
会话限制

“SYSDBA”权限,即数据库管理员权限,权限包括:

打开数据库服务器、
关闭数据库服务器、
备份数据库、 日志归档、
管理功能、
恢复数据库、
会话限制、
创建数据库

normal 、sysdba、 sysoper 有什么区别:

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

sys和system的区别?

sys 和 system 用户的区别 【system】用户只能用 normal 身份登陆 em。

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

1) 存储的数据的重要性不同。

所有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具体的权限可以看下表:

系统权限 sysdba sysoper
启动数据库 yes(startup) yes
关闭数据库 yes(shutdown) yes
操作 yes(alter database open/mount/backup) yes
改变字符集 yes no
创建数据库 yes(create database) no
删除数据库 yes(drop database) no
spfile操作 yes(create spfile) yes
归档日志 yes(alter database archivelog) yes
恢复数据库 yes(alter database recover) yes
恢复数据库 yes(alter database recover) 只能完全恢复,不能执行不完全恢复
会话限制 yes(restricted session) yes
操作权限 可以让用户作为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';
  OWNER

SYS用户
  
dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
创建实例→·启动实例→·创建数据库(system表空间是必须的)
启动过程
实例启动→·装载数据库→·打开数据库
sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库。只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础!

猜你喜欢

转载自blog.csdn.net/loumoxiaozi/article/details/81557145