system sys,sysoper sysdba 的区别
--=====================================
-- system sys,sysoper sysdba 的区别
--=====================================
Oracle 中sys,system帐户以及登陆时的normal,sysoper,sysdba是经常容易混淆的几个概念,下面详细讲述了
这几个的区别。
一、sys,system帐户
当Oracle 数据库安装完毕后,系统会自动创建两个帐户如下:
sys :缺省密码为CHANGE_ON_INSTALL ,且被授予DBA角色
system :缺省密码为MANAGER,且被授予DBA角色
下面具体描述sys与system帐户
sys :这个帐户相当于SQL server中的sa帐户,或者说Xp系统中的administrator,或Linux系统中的root帐户 ,是个超级帐户,拥有的
权限最大,可以完成数据库的所有管理任务。Oracle中全部的基表,视图等都是以sys架构存储在数据字典中,类似于SQL server中
的master数据库,存储了所有最原始最基本最关键的系统结构,数据等。因此所有以sys架构的对象不允许用户或数据库管理员修改
,也不建议创建sys架构的对象。
system :该帐户除了不能完成备份恢复,以及升级之外的数据库所有管理任务,通常用来创建一些用于查看管理信息的表或视图,以及
一些被不同Oracle数据库选项和工具使用的内部表或内部视图。同样也不建议使用system架构来创建一些与管理无关的表或视图。
--如下使用system连接rman时提示权限不够,而sys帐户则可以正常连接
RMAN> connect target system/redhat@orcl --使用system帐户连接失败
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
ORA-01031: insufficient privileges
RMAN> connect target sys/redhat@orcl --使用sys帐户连接成功
connected to target database: ORCL (DBID=1261365217)
注:sys与system两个帐户都属于dba角色,但是两者拥有不同的权限,sys拥有更多的权限。
system@ORCL> grant sysoper to usr1; --对于特殊权限system不能够授予用户
grant sysoper to usr1
*
ERROR at line 1:
ORA-01031: insufficient privileges
system@ORCL> conn / as sysdba
Connected.
sys@ORCL> grant sysoper to usr1; --sys用户则可以完成上面的授权操作
Grant succeeded.
二、Sysoper Sysdba
sysoper权限能够执行下列操作
startup
shutdown
create spfile
alter database [mount | open | close | dismount]
alter [database | tablespace] [begin | end] backup
alter database recover
restricted session
sysdba权限
除了能执行上述所有命令之外,还能创建数据库,删除数据库,数据库日志归档,执行不完全恢复,
以及创建其它的sysoper和sysdba用户
SQL> select * from system_privilege_map where name like '%SYS%';
PRIVILEGE NAME PROPERTY
---------- ---------------------------------------- ----------
-3 ALTER SYSTEM 0
-4 AUDIT SYSTEM 0
-83 SYSDBA 0
-84 SYSOPER 0
下面的链接是两者不同的权限说明
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/dba.htm#sthref137
The manner in which you are authorized to use these privileges depends upon the method of
authentication that you use.When you connect with SYSDBA or SYSOPER privileges, you connect with
a default schema, not with the schema that is generally associated with your username. For
SYSDBA this schema is SYS; for SYSOPER the schema is PUBLIC.
--两者的schema不同
SQL> show user
USER is "SYS"
SQL> conn / as sysoper
Connected.
SQL> show user
USER is "PUBLIC"
在使用OEM登陆时,还有一种登陆时角色的选择则是normal,这个是对所有普通用户而言,登陆后其schema是自身
--查看密码文件视图,可以得到哪些用户为sysdba,哪些用户为sysoper
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
SCOTT TRUE FALSE
USR1 FALSE TRUE
--下面演示了使用不同的角色来登陆
SQL> conn scott/tiger@orcl as sysdba
Connected.
SQL> show user; --尽管登陆的帐户是scott,但执行show user显示的是sys
USER is "SYS"
SQL> conn scott/tiger@orcl as sysoper /*scott的sysop列为false*/
ERROR:
ORA-01031: insufficient privileges
Warning: You are no longer connected to ORACLE.
SQL> conn usr1/usr1@orcl as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> conn usr1/usr1 as sysoper
Connected.
SQL> show user; --登陆的帐户是usr1,执行show user显示的是public
USER is "PUBLIC"
sys@ORCL> select * from dba_roles where role like 'SYS%'; --不存在这两个角色
no rows selected
--下面演示sysdba与sysoper都可以用来启动数据库
idle> conn scott/tiger as sysdba
Connected to an idle instance.
idle> startup
idle> conn usr1/usr1 as sysoper
Connected to an idle instance.
idle> startup
总结:
sysoper与sysdba不是角色,DBA角色也不包含这两种权限。
这是两种用于完成数据库管理任务的特殊权限,如数据库创建,实例启动、关闭等
这两个权限独立于数据库之外,位于数据库密码文件之中,属于密码认证范畴
通常在启动数据库时使用的场合较多,当然也可以以这两种方式连接数据库
连接数据库时使用sysdba则show user查看时为sys,使用sysoper则show user查看时为public
system sys,sysoper sysdba 的区别的更多相关文章
- Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别
sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...
- 【转】Oracle Sys和system用户、sysdba 和sysoper系统权
一:最重要的区别,存储的数据的重要性不同 [sys]所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更 ...
- SYS与SYSTEM、DBA与SYSDBA的区别
SYS与SYSTEM: 1. sys 的角色是sysdba system 的角色是sysoper 2. sys 具有create database的权限 system没有该权限 3. sys可以建数据 ...
- [转]DBA,SYSDBA,SYSOPER三者的区别
原文地址:http://www.oracleonlinux.cn/2010/02/dba_sysdba_sysoper/ 什么是DBA?什么是SYSDBA,什么又是SYSOPER?三者究竟有何联系呢? ...
- oracle中scott/tiger、sys、SYSDBA、system都是什么用
scott 是个演示用户,是让你学习ORACLE用的 SYSDBA 不是用户,可以认为是个权限,超级权限详细点说吧 超级用户分两种 SYSDBA和SYSOPTSYSOPT 后面3 ...
- oracle给system用户增加sysdba和sysoper 角色
第一步:先用sys用户登录到数据库 第二步:打开一个sql窗口,输入grant sysoper to system; 点击执行 第三步:等待执行完成之后,再执行grant sysdba to sys ...
- Oracle开发:dba和sysdba的区别
oracle dba和sysdba的区别如下: 1.dba是一种role对应的是对Oracle实例里对象的操作权限的集合,而sysdba是概念上的role是一种登录认证时的身份标识而已.而且,dba是 ...
- 如何找回Oracle中system,sys用户的密码[转]
Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可 ...
- 转 : 如何用sys as sysdba权限连接数据库进行EXP/IMP
使用sys as sysdba权限进行EXP/IMP与其它用户稍有不同,详细内容如下(摘自metalink) Applies to: Oracle Server - Enterprise Editio ...
随机推荐
- systemback-----做你折腾的后盾
http://imcn.me/html/y2015/24421.html ubuntu的系统还原工具,最近在学习grunt,要安装nodejs 等一些依赖,对于有轻微系统洁癖的我来说是个好的解决方案, ...
- centos6.3下postgresql-9.3安装记录
Xshell for Xmanager Enterprise 4 (Build 0186) Copyright (c) 2002-2011 NetSarang Computer, Inc. All r ...
- list control 【转】
1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的ite ...
- /etc/default/useradd
系统默认的shell在,/etc/default/useradd 中,添加用户的时候如果不指定shell,默认的shell就是该文件下制定的文件
- CSS实现画一条竖线
在开发中遇到一种需求:画一条竖线. 横线倒是很好画,直接<hr/>就可以了.但是竖线没有这么现成的标签,囧囧囧~ 在网上搜索了很多资料,莫衷一是,也没有什么可信的结果. 1.原来这就是竖线 ...
- 百度影棒安装apk方法
确保影棒和电脑接入家中同一WIFI中,开启影棒USB调试,手机端运行悟空助手或沙发管家等软件,之后无线推送需要安装的APK. 安装文件管理apk后,可以使用U盘安装.
- rhythmbox插件开发笔记2:背景知识学习 D-Bus&VFS&Gio& Python GTK+ 3
这次主要简单介绍下相关的背景知识 D-Bus&VFS&Gio& Python GTK+ 3 D-Bus D-Bus是开源的进程通信(IPC)系统,它允许多个进程进行实时通信. ...
- 网络大牛如何回答Chrome的15个刁钻面试题?
(内容来自网络整理) Google的面试题在刁钻古怪方面相当出名,甚至已经有些被神化的味道.这里整理出15道Google面试题并一一给出了网络大牛的答案,其中不少都是流传很广的. 第1题:让你清洗西雅 ...
- Jordan 标准型的实例
将学习到什么 练习一下如何把一个矩阵化为 Jordan 标准型. 将矩阵化为 Jordan 标准型需要三步: 第一步 求出矩阵 \(A \in M_n\) 全部的特征值 \(\lambda_1,\ ...
- 【转】IntelliJ 创建main函数快捷
http://blog.csdn.net/tiantiandjava/article/details/42269173 今天偶然发现了IntelliJ中 创建main函数的快捷键,依次还有for循环, ...