`
insertyou
  • 浏览: 920191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

system sys,sysoper sysdba 的区别

 
阅读更多

--=====================================

-- system syssysoper sysdba 的区别

--=====================================

Oracle sys,system帐户以及登陆时的normal,sysoper,sysdba是经常容易混淆的几个概念,下面详细讲述了

这几个的区别。

一、sys,system帐户

Oracle 数据库安装完毕后,系统会自动创建两个帐户如下:

sys :缺省密码为CHANGE_ON_INSTALL ,且被授予DBA角色

system :缺省密码为MANAGER,且被授予DBA角色

下面具体描述syssystem帐户

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)

:syssystem两个帐户都属于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权限

除了能执行上述所有命令之外,还能创建数据库,删除数据库,数据库日志归档,执行不完全恢复,

以及创建其它的sysopersysdba用户

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 /*scottsysop列为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

--下面演示sysdbasysoper都可以用来启动数据库

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

总结:

sysopersysdba不是角色,DBA角色也不包含这两种权限。

这是两种用于完成数据库管理任务的特殊权限,如数据库创建,实例启动、关闭等

这两个权限独立于数据库之外,位于数据库密码文件之中,属于密码认证范畴

通常在启动数据库时使用的场合较多,当然也可以以这两种方式连接数据库

连接数据库时使用sysdbashow user查看时为sys,使用sysopershow user查看时为public

分享到:
评论

相关推荐

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

    `sys`用户在登录时只能以`sysdba`或`sysoper`身份,而`system`用户在默认情况下只能以普通身份登录,但可以通过授予`sysdba`或`sysoper`权限来提升其登录权限。 `dba`角色是一个包含多个系统权限的角色,通常授予...

    system和sys用户区别

    system以sysdba身份登录实际上是模拟了sys用户的行为,但并没有改变其本身的权限范围。换句话说,即使以sysdba身份登录,system用户也无法执行sys用户特有的、涉及核心数据库结构的操作。 要查看具有sysdba权限的...

    Oracle_sys和system用户的区别

    标题与描述概述的知识点主要集中在Oracle数据库中两个特殊用户的区别:sys与system用户,以及与之相关的系统权限sysdba和sysoper的区别。接下来,我们将深入探讨这些知识点。 ### Oracle_sys和system用户的区别 ##...

    Oracle中sys,system,scott,hr用户的区别.pdf

    SYS 用户是 Oracle 数据库中的最高权限用户,它拥有 DBA(Database Administrator)角色,包括 SYSDBA 和 SYSOPER 系统权限。这些权限允许 SYS 用户执行数据库的高级管理和维护任务,如启动、关闭数据库、创建和...

    sys用户与system用户.txt

    【 system 】用户只能用 normal 身份登陆 em ,除非你对它授予了 sysdba 的系统权限(grant sysdba to system)或者 sysoper 系统权限。 【 sys 】用户具有 “SYSDBA” 或者 “SYSOPER” 系统权限,登陆 em 也只能用...

    oracle sysdba 密码解释

    此时,即使用户拥有`SYSDBA`或`SYSOPER`权限,也无法通过SQL*Plus或其他客户端工具以这些身份登录。 - **SHARED**:表示使用共享密码文件。这种类型的密码文件允许多个用户同时访问数据库,但只能以`SYSOPER`权限...

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

    首先,sys用户是Oracle数据库的核心用户,它拥有最高级别的权限,包括dba、sysdba和sysoper等系统权限。sys用户负责存储所有Oracle数据字典的基表和视图,这些数据字典对于数据库的正常运行至关重要,因为它们包含了...

    sys和system

    - **登录方式**: `sys`用户可以使用`sysdba`或`sysoper`的身份登录EM(企业管理器),而不能使用`normal`身份。 - **查询权限**: 通过`sys`用户登录Oracle并执行`select * from V_$PWFILE_USERS;`命令,可以查询具有...

    Oracle中sys和system的区别小结

    接下来,我们来看一下SYSDBA和SYSOPER这两个系统权限的区别: - SYSDBA权限:这是Oracle数据库中最高级别的权限,拥有该权限的用户可以执行所有DBA任务,包括创建和修改数据库、启动和关闭数据库、进行数据字典的...

    Oracle中两个主要的用户、三个重要权限的区别和联系

    - **登录方式**:SYS用户登录时通常采用AS SYSDBA或AS SYSOPER模式,以便根据实际需求调整其权限级别。 - **SYSTEM用户**: - **特点**:SYSTEM用户也是一个预定义的用户,但其权限相对SYS用户较低。 - **权限**...

    DOS下启动oracle监听

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

    oracle用户区分

    在使用`sys`和`system`用户时,一个关键的区别在于,以`as sysdba`登录时,无论是`system`还是其他用户,都会以`sys`用户的权限运行,这意味着创建的对象将归属于`sys`用户,而不是登录的原始用户。因此,这需要特别...

    oracle登录报错案例分析

    用户尝试使用SQL*Plus工具以`/as sysdba`的方式登录Oracle数据库,但连续两次均收到“ORA-01031: insufficient privileges”的错误提示。这通常意味着用户没有足够的权限以sysdba的身份连接到数据库。 #### 错误...

    PLSQL Developer登录的默认密码介绍

    sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登录,可作为默认的系统管理员 system/manager SYSDBA 或 NORMAL 不能以 SYSOPER 登录,可作为默认的系统管理员 sysman/oem_temp sysman

    oracle密码文件详细说明.pdf

    DBA 用户是指具有 sysdba 和 sysoper 权限的用户,默认情况下 sysdba 角色中存在于 sys 用户,sysoper 角色中存在于 system 用户。 Oracle 提供了两种认证方式: 1. 使用与操作系统集成的身份验证 2. 使用 Oracle ...

    [详细完整版]20数据库.doc

    一对多关系转换:将一方的主键放到多放的关系中做外键 多对多关系转换:建立一个新的关系将两个关系的主键放到新的关系中做外键 安装软件RDBMS的路径 创建数据库 全局数据库名和sid 数据库文件目录 sys和system用户...

    6.1、sqlplus登录问题1

    使用`sqlplus / as sysoper`可以以SYSTEM身份登录,但其权限低于SYS。 关于安全性,`sqlplus /nolog`提供了一种更安全的登录方法。这种方式启动SQL*Plus时不连接任何用户,然后你可以使用`conn`命令手动连接到一个...

    ORACLE系统自带用户默认密码

    虽然其权限不如 SYS 和 SYSTEM 高,但在特定环境下,尤其是涉及到数据库性能管理和监控时,该用户非常重要。 4. **SCOTT 用户** - **用户名/密码**:scott/tiger - **登录身份**:NORMAL - **说明**:SCOTT 用户...

Global site tag (gtag.js) - Google Analytics