DBA,SYSDBA,SYSOPER三者的區別
DBA,SYSDBA,SYSOPER三者的區別
真題1、下面哪個選項不是Oracle的使用者()
A、SYSDBA B、SYSTEM C、SCOTT D、SYS
答案:A。
SYSDBA和SYSOPER屬於特殊系統許可權(system privilege),也稱為管理許可權(administrative privilege),擁有例如資料庫開啟、關閉等一些系統管理級別的許可權。SYSDBA擁有最高的系統許可權,SYS使用者必須以SYSDBA或SYSOPER的許可權來登入,而任何使用者以SYSOPER身份登陸後使用者是PUBLIC。
[oracle@edsir4p1-PROD1 ~]$ sqlplus sys/oracle
SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 29 02:40:40 2017
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
[oracle@orcltest ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 6 14:39:19 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SYS@lhrdb> show user
USER is "SYS"
SYS@lhrdb> grant sysoper to lhr;
Grant succeeded.
SYS@lhrdb> conn lhr/lhr as sysoper
Connected.
PUBLIC@lhrdb> show user
USER is "PUBLIC"
PUBLIC@lhrdb> conn lhr/lhr
Connected.
LHR@lhrdb> show user
USER is "LHR"
如何查詢擁有SYSDBA或是SYSOPER許可權的使用者呢?可以使用檢視V$PWFILE_USERS,結果集中的SYSDBA和SYSOPER分別代表是否含有SYSDBA和SYSOPER許可權,如下所示:
SYS@PROD1> DESC V$PWFILE_USERS
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME VARCHAR2(30)
SYSDBA VARCHAR2(5)
SYSOPER VARCHAR2(5)
SYSASM VARCHAR2(5)
SYS@PROD1> SELECT * FROM V$PWFILE_USERS ;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
SYS@PROD1> 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
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 |
本題中,對於選項A,SYSDBA屬於系統特殊許可權,不屬於使用者,選項A的描述錯誤。所以,選項A正確。
對於選項B,SYSTEM是系統預設使用者,擁有DBA角色。所以,選項B錯誤。
對於選項C,SCOTT使用者屬於測試使用者。所以,選項C錯誤。
對於選項D,SYS使用者具有管理系統的最高許可權,必須以SYSDBA或SYSOPER來登入。所以,選項D錯誤。
所以,本題的答案為A。
什麼是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不允許的,其實你也不可以成功執行這樣的包含迴路角色的授權的!
只有資料庫開啟了,或者說整個資料庫完全啟動後,dba角色才有了存在的基礎
SYSDBA:擁有最高的系統許可權,sysdba,是管理oracle例項的,它的存在不依賴於整個資料庫完全啟動,只要例項啟動了,他就已經存在,以sysdba身份登陸,裝載資料庫、開啟資料庫
SQL>conn / as sysdba;這時候,其實我們是以SYSDBA這個身份去登陸資料庫的,我們當前的default schema是SYS。
以SYSDBA登陸Oracle資料庫時,上述幾種操作是允許執行的。SYSDBA可以訪問V$物件檢視
SYSOPER:也是一種系統許可權,只不過跟SYSOPER略有區別而已。SQL>conn /as sysoper 這種連線下,我們的default schema是PUBLIC.
簡單區別如下:
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”
sys
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.
SYSOPER不能訪問V$物件檢視
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 |
|
SYSDBA和SYSOPER系統許可權允許我們在資料庫開啟之前以這兩種身份去訪問例項。SYSOPER沒有許可權訪問V$物件檢視
當然,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登入
About Me
.............................................................................................................................................
● 本文作者:小麥苗,部分內容整理自網路,若有侵權請聯絡小麥苗刪除
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文部落格園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA寶典今日頭條號地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2017-11-01 09:00 ~ 2017-11-30 22:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群2 《DBA筆試面寶典》讀者群 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2147919/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sysdba,dba,sysoper的區別
- 關於sysdba,sysoper,dba的區別
- SYS,SYSTEM,DBA,SYSDBA,SYSOPER的區別與聯絡
- sysdba,sysoper,normal的區別ORM
- normal 、sysdba、 sysoper的區別ORM
- system sys,sysoper sysdba 的區別
- normal、sysdba、sysoper登陸oracle的區別理解ORMOracle
- dba和sysdba的區別
- sysdba和dba的區別
- 【Privilege】SYSOPER和SYSDBA特權的區別與聯絡
- Oracle dba角色和sysdba的區別Oracle
- SYSDBA and SYSOPER Privileges in Oracle [ID 50507.1]Oracle
- 31、ASM的使用者SYSDBA和SYSOPERASM
- 總結sysdba和sysoper許可權
- dba和sysdba的區別(轉自“三十而立專欄”部落格)
- sysdba與sysoper系統特權介紹
- 11g文件學習----sysdba sysoper OSDBA OSOPER
- Git、Repo、Gerrit三者的區別Git
- HA DG RAC 三者的區別
- Oracle - ORA-28009: connection as SYS should be as SYSDBA OR SYSOPEROracle
- Token ,Cookie、Session 三者區別CookieSession
- @ApiParam @PathVariable @RequestParam三者區別API
- Oracle DBA 和Oracle EBS DBA 的最大區別Oracle
- preventDefault,stopPropagation,return false三者的區別False
- return、break、continue三者區別
- js框架---angular、vue、react的三者的區別?JS框架AngularVueReact
- 2 Day DBA-管理Oracle例項-關於管理帳戶和許可權-SYSDBA和SYSOPER系統許可權Oracle
- dba_segments/dba_extents/dba_tables區別
- tailf、tail -f、tail -F三者區別AI
- View—requestLayout、invalidate 和 postInvalidate 三者的區別View
- final、finally與finalize三者的區別
- 【ES6】var、let、const三者的區別
- dba_tables 和 dba_segments 表中 blocks 的區別BloC
- jQuery與JavaScript與ajax三者的區別與聯絡jQueryJavaScript
- String StringBuffer StringBuilder 三者的區別UI
- HTTPS、SSL、TLS三者之間的聯絡和區別HTTPTLS
- dba_data_files和v$datafile的區別
- 虛擬主機、VPS、雲伺服器三者的區別伺服器