- 浏览: 328391 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (224)
- Java (34)
- Test (3)
- Linux/Unix (32)
- Windows (8)
- Oracle (78)
- Oracle Backup & Recovery (3)
- SqlServer (1)
- Database (3)
- Open Source (2)
- Server Management (1)
- Apache ActiveMQ (1)
- IBM WebSphere MQ (7)
- IBM WAS (15)
- 其它 (11)
- UML (1)
- Tools (1)
- Reference (0)
- Spring (11)
- Hibernate (5)
- VBScript (3)
- Network (1)
- Securities (2)
- Maven (6)
- logging (2)
- Web (1)
- AWS (3)
最新评论
什么是DBA?什么是SYSDBA,什么又是SYSOPER?三者究竟有何联系呢?
在Oracle数据库领域里,很多Oracle初学者(Me 2)很容易被这三个术语迷惑,就其原因还是基础概念没有弄清楚。记得自己刚开始接触Oracle的时候,也是云里雾里,现在基本弄明白,故写出来和大家分享:
DBA:在Oracle数据库里面其实只是一个角色(role)。那么什么是角色呢?可以简单的认为一个角色就是某些个权限的集合体,也就是说把多个系统权限(system privilege),对象权限(object privilege)以及角色(role)揉和在一起,然后赋给一个角色。说白了,Oracle引入角色的概念,其实是为了避免相关的系统权限和对象权限的赋予和回收的复杂性。把一堆系统权限和对象权限以及角色打包之后赋给某个新角色,然后再对这个新角色进行必要的操作就显得相当便捷和方便了。当然,在Oracle里面一个角色是可以赋给另外一个角色的,但是角色的赋给是不能够构成循环回路的。eg:先把role1给role2,然后把role2给role3,那么你就不可以再把role3给role1了。这是Oracle不允许的,其实你也不可以成功执行这样的包含回路角色的授权的!
SYSDBA:说白了就是一种系统权限而已,没有什么神秘的。当我们在SQL*PLUS命令行上执行了类似如下的操作:
SQL>conn / as sysdba;这时候,其实我们是以SYSDBA这个身份去登陆数据库的,我们当前的default schema是SYS。那么SYSDBA这个系统权限究竟允许执行哪些操作呢?
■ Perform STARTUP and SHUTDOWN operations ■ ALTER DATABASE: open, mount, back up, or change character set ■ CREATE DATABASE ■ DROP DATABASE ■ CREATE SPFILE ■ ALTER DATABASE ARCHIVELOG ■ ALTER DATABASE RECOVER ■ Includes the RESTRICTED SESSION privilege
■ Perform STARTUP and SHUTDOWN operations
■ ALTER DATABASE: open, mount, back up, or change character set
■ CREATE DATABASE
■ DROP DATABASE
■ CREATE SPFILE
■ ALTER DATABASE ARCHIVELOG
■ ALTER DATABASE RECOVER
■ Includes the RESTRICTED SESSION privilege
以SYSDBA登陆Oracle数据库时,上述几种操作是允许执行的。
SYSOPER:也是一种系统权限,只不过跟SYSOPER略有区别而已。SQL>conn /as sysoper 这种连接下,我们的default schema是PUBLIC.允许执行的操作如下:
■ Perform STARTUP and SHUTDOWN operations
■ CREATE SPFILE
■ ALTER DATABASE OPEN/MOUNT/BACKUP
■ ALTER DATABASE ARCHIVELOG
■ ALTER DATABASE RECOVER (Complete recovery only. Any form of incomplete recovery, such as UNTIL
TIME|CHANGE|CANCEL|CONTROLFILE requires connecting as SYSDBA.)
■ Includes the RESTRICTED SESSION privilege
简单区别如下:
SQL> conn sys/oracle as sysdba;
Connected to an idle instance.
SQL> show user;
USER is “SYS”
SQL> conn sys/oracle as sysoper;
Connected to an idle instance.
SQL> show user;
USER is “PUBLIC”
SQL>
Note: The SYSDBA and SYSOPER system privileges allow access to a database instance even when the database is not open. Control of these privileges is totally outside of the database itself.
SYSDBA和SYSOPER系统权限允许我们在数据库打开之前以这两种身份去访问实例。
当然,DBA还可以理解成另外两个术语的简写;Database Administrator,Data Block Address。
一句话总结三者之间的关系:
Note: The DBA role does not include the SYSDBA or SYSOPER system privileges. These are special administrative privileges that allow an administrator to perform basic database administration tasks, such as creating the database and instance startup and shutdown.
DBA 角色并未包含SYSDBA,SYSOPER这两个系统权限。他们是一类特殊的系统管理权限,允许管理员以这两种身份对数据库进行特殊的管理工作。
还有就是,不要轻易将SYSDBA,SYSOPER这两种系统权限授权给数据库的普通用户。也不要轻易将DBA角色赋给普通用户。在对数据库进行普通操作的时候,也不要以SYSDBA,SYSOPER登录。
发表评论
-
DBCP连接池介绍
2018-09-12 13:17 460目前 DBCP 有两个版本分别是 1.3 和 1.4。 D ... -
Update两表(多表)关联update -- 被修改值由另一个表运算而来
2016-10-22 00:50 985UPDATE trd_sess A SET A.r ... -
GV$LOCKED_OBJECT
2016-09-27 01:21 1126SELECT OBJECT_NAME, MACHINE, ... -
v$sql v$sqlarea v$sqltext v$sql_plan
2015-08-13 16:55 808v$sqltext存储的是完整的SQL,SQL被分割 SQ ... -
Oracle performance tuning
2015-08-10 17:47 602db block get+consistent gets ... -
JDBC driver 的类型 Type 1 Type2 Type3 Type4
2014-06-12 16:01 856在网上下载jdbc驱动程序,常看见type4字样,开始以为是 ... -
undo segment behavior
2014-04-04 19:04 782FAQ – Automatic Undo Managemen ... -
Connect to Oracle DB - Java
2014-04-04 15:14 719import java.sql.*; public ... -
Dataguard网络优化调整
2014-03-31 16:02 959Dataguard网络优化调整 Datagu ... -
Production error ORA-01001, ORA-03120, ORA-01460
2014-03-19 20:38 990ORA-01001: invalid cursor OR ... -
Oracle 常见的33个等待事件
2014-03-12 15:42 4066一. 等待事件的相关知识: 1.1 等待事件主要可以 ... -
WBFC on Exadata
2014-02-27 14:57 8621. "Should we turn on Sto ... -
Oracle dump files
2014-02-27 12:58 667audit_file_dest = C:\ ... -
Adaptive Log File Sync
2014-02-26 19:52 1061Adaptive Log File sync was int ... -
ORA-39046: Metadata remap REMAP_TABLESPACE has already been specified.
2014-01-22 16:01 6716Import: Release 10.2.0.4.0 - 6 ... -
EXPDP – ORA-39142: incompatible version number 3.1
2014-01-22 12:25 1666Using EXPDP export a schema in ... -
Oracle 11g Real Time SQL Monitoring
2014-01-20 17:01 785http://kerryosborne.oracle-guy ... -
java.sql.SQLException: ORA-01001: invalid cursor
2013-12-20 13:59 3789There are three parameters tha ... -
ORA-01013 user requested cancel of current operation
2013-12-20 13:34 2427今天我碰到的case就是timeout引起的。 T ... -
Cannot run sqlplus on Linux with EOF
2013-12-20 11:02 850今天碰到个小问题,记下来,在linux上,不可以run fi ...
相关推荐
`sys`用户在登录时只能以`sysdba`或`sysoper`身份,而`system`用户在默认情况下只能以普通身份登录,但可以通过授予`sysdba`或`sysoper`权限来提升其登录权限。 `dba`角色是一个包含多个系统权限的角色,通常授予...
本文将深入探讨Oracle中`SYSDBA`密码的工作原理、配置方法及故障排除技巧,帮助读者更好地理解和掌握这一核心概念。 #### 一、Sysdba权限概述 在Oracle数据库中,`SYSDBA`是一种特殊的权限,允许用户以系统管理员...
在Oracle数据库管理系统中,DBA(Database Administrator)和SYSDBA是两个紧密相关但又有所区别的概念。DBA通常是指数据库管理员这一职位,而SYSDBA是一种特殊的身份标识,用于执行数据库的管理操作。接下来,我们将...
标题与描述概述的知识点主要集中在Oracle数据库中两个特殊用户的区别:sys与system用户,以及与之相关的系统权限sysdba和sysoper的区别。接下来,我们将深入探讨这些知识点。 ### Oracle_sys和system用户的区别 ##...
### Oracle中两个主要的...综上所述,SYSDBA、SYSOPER与DBA角色在Oracle数据库中扮演着不同的角色,它们之间既存在明显的区别,也有一定的联系。合理地配置和使用这些权限对于确保数据库的安全性和高效运行至关重要。
在Oracle数据库中,SYSDBA和SYSOPER是两种特殊的系统权限。拥有SYSDBA权限的用户可以执行几乎所有的数据库管理操作,如创建数据库、启动和停止数据库、恢复和备份等。而拥有SYSOPER权限的用户则主要用于数据库的打开...
SYS 用户是 Oracle 数据库中的最高权限用户,它拥有 DBA(Database Administrator)角色,包括 SYSDBA 和 SYSOPER 系统权限。这些权限允许 SYS 用户执行数据库的高级管理和维护任务,如启动、关闭数据库、创建和...
操作系统认证允许本地或通过安全网络连接的用户直接使用操作系统账户权限访问数据库,Oracle在操作系统中创建ORACLE_DBA用户组,成员自动拥有SYSDBA或SYSOPER权限。口令认证则需要用户在数据库中有账户,并提供正确...
在操作系统认证方式下,Oracle 在操作系统中创建一个特殊的用户组(ORA_DBA),所有属于这个组的用户都将被授予 SYSDBA 或 SYSOPER 权限。如果登陆到操作系统中的用户属于这个组,他将自动具有 SYSDBA 或 SYSOPER ...
Oracle密码文件是Oracle数据库系统中用于管理特权用户(如INTERNAL、SYSDBA和SYSOPER)登录验证的关键组件。本文详细介绍了如何创建、使用和维护Oracle密码文件,以及相关的配置参数和用户管理操作。 首先,Oracle...
DBA 用户是指具有 sysdba 和 sysoper 权限的用户,默认情况下 sysdba 角色中存在于 sys 用户,sysoper 角色中存在于 system 用户。 Oracle 提供了两种认证方式: 1. 使用与操作系统集成的身份验证 2. 使用 Oracle ...
sys 用户拥有 dba , sysdba , sysoper 等角色或权限,是 oracle 权限最高的用户。 【 system 】 用户用于存放次一级的内部数据,如 oracle 的一些特性或工具的管理信息。 system 用户拥有普通 dba 角色权限。 ...
用户尝试使用SQL*Plus工具以`/as sysdba`的方式登录Oracle数据库,但连续两次均收到“ORA-01031: insufficient privileges”的错误提示。这通常意味着用户没有足够的权限以sysdba的身份连接到数据库。 #### 错误...
Sys和system用户、sysdba 和sysoper系统权限、dba角色的区别
Oracle数据库密码文件是确保数据库安全的重要组件,主要用于特权用户(如INTERNAL、SYSDBA和SYSOPER)的身份验证。本文将深入探讨密码文件的创建、使用和维护。 首先,密码文件通常位于`ORACLE_HOME\DATABASE`目录...
3. **SYSDBA与SYSOPER权限**:`sysdba和sysoper的区别.doc`讨论了这两种超级用户权限的不同。SYSDBA是Oracle中最高的系统管理员权限,可以执行所有数据库操作;而SYSOPER权限则相对受限,主要用于数据库的启动、关闭...
这篇文档主要探讨了如何使用和维护Oracle密码文件,这对于远程或本地以特权用户身份(如INTERNAL/SYSDBA/SYSOPER)登录数据库至关重要。 首先,Oracle密码文件存储在`ORACLE_HOME\DATABASE`目录下,包含了超级用户...
这些建立了不同的登录身份和权限,例如SYSDBA、SYSOPER、NORMAL 等。 sys 用户是 Oracle 数据库的系统管理员,拥有最高的权限。 system 用户是默认的系统管理员,不能以 SYSOPER 登录。sysman 用户是 Oracle ...
Oracle数据库与其他数据库系统相比,有着独特的特性和优势,例如其强大的数据处理能力、高可用性和可扩展性。 在安装Oracle的过程中,系统会自动创建两个关键用户:sys和system。sys用户是超级用户,具有最高的权限...