Oracle中sys和system用戶、系統(tǒng)權(quán)限和角色的區(qū)別
1)最重要的區(qū)別,存儲(chǔ)的數(shù)據(jù)的重要性不同
【sys】 所有oracle的數(shù)據(jù)字典的基表和視圖都存放在sys用戶中,這些基表和視圖對(duì)于oracle的運(yùn)行是至關(guān)重要的,由數(shù)據(jù)庫(kù)自己維護(hù),任何用戶都不能手動(dòng)更改。sys用戶擁有dba,sysdba,sysoper等角色或權(quán)限,是oracle權(quán)限最高的用戶。
【system】 用戶用于存放次一級(jí)的內(nèi)部數(shù)據(jù),如oracle的一些特性或工具的管理信息。system用戶擁有普通dba角色權(quán)限。
2)其次的區(qū)別,權(quán)限的不同。
【system】用戶只能用normal身份登陸em,除非你對(duì)它授予了sysdba的系統(tǒng)權(quán)限或者syspoer系統(tǒng)權(quán)限。
【sys】用戶具有“SYSDBA”或者“SYSOPER”系統(tǒng)權(quán)限,登陸em也只能用這兩個(gè)身份,不能用normal。
以sys用戶登陸Oracle,執(zhí)行select * from V_$PWFILE_USERS;可查詢到具有sysdba權(quán)限的用戶,如:
USERNAME SYSDBA SYSOPER
SYS TRUE TRUE
Sysdba和sysoper兩個(gè)系統(tǒng)權(quán)限區(qū)別
normal 、sysdba、 sysoper有什么區(qū)別
normal 是普通用戶
另外兩個(gè),你考察他們所具有的權(quán)限就知道了
sysdba擁有最高的系統(tǒng)權(quán)限,登陸后是 sys
sysoper主要用來啟動(dòng)、關(guān)閉數(shù)據(jù)庫(kù),sysoper 登陸后用戶是 public
sysdba和sysoper屬于system privilege,也稱為administrative privilege,擁有例如數(shù)據(jù)庫(kù)開啟關(guān)閉之類一些系統(tǒng)管理級(jí)別的權(quán)限sysdba和sysoper具體的權(quán)限可以看下表:
oracle <wbr>sys和system用戶區(qū)別
system如果正常登錄,它其實(shí)就是一個(gè)普通的dba用戶,但是如果以as sysdba登錄,其結(jié)果實(shí)際上它是作為sys用戶登錄的,這一點(diǎn)類似Linux里面的sudo的感覺,從登錄信息里面我們可以看出來。因此在as sysdba連接數(shù)據(jù)庫(kù)后,創(chuàng)建的對(duì)象實(shí)際上都是生成在sys中的。其他用戶也是一樣,如果 as sysdba登錄,也是作為sys用戶登錄的,看以下實(shí)驗(yàn):
SQL> create user strong identified by strong;
用戶已創(chuàng)建。
SQL> conn strong/strong@magick as sysdba;
已連接。
SQL> show user;
USER 為 "SYS"
SQL> create table test(a int);
表已創(chuàng)建。
SQL> select owner from dba_tables where table_name='test';
未選定行 //因?yàn)閯?chuàng)建表時(shí)oracle自動(dòng)轉(zhuǎn)為大寫,所以用小寫查的時(shí)候是不存在的;
SQL> select owner from dba_tables where table_name='TEST';
OWNER
------------------------------
SYS
dba和sysdba的區(qū)別
dba、sysdba這兩個(gè)系統(tǒng)角色有什么區(qū)別呢
在說明這一點(diǎn)之前我需要說一下oracle服務(wù)的創(chuàng)建過程
創(chuàng)建實(shí)例→啟動(dòng)實(shí)例→創(chuàng)建數(shù)據(jù)庫(kù)(system表空間是必須的)
啟動(dòng)過程
實(shí)例啟動(dòng)→裝載數(shù)據(jù)庫(kù)→打開數(shù)據(jù)庫(kù)
sysdba,是管理oracle實(shí)例的,它的存在不依賴于整個(gè)數(shù)據(jù)庫(kù)完全啟動(dòng),只要實(shí)例啟動(dòng)了,他就已經(jīng)存在,以sysdba身份登陸,裝載數(shù)據(jù)庫(kù)、打開數(shù)據(jù)庫(kù)。只有數(shù)據(jù)庫(kù)打開了,或者說整個(gè)數(shù)據(jù)庫(kù)完全啟動(dòng)后,dba角色才有了存在的基礎(chǔ)!
1.DBA權(quán)限主要包含的是數(shù)據(jù)庫(kù)管理相關(guān)的權(quán)限
2.需要給你的用戶admin賦予建表等相關(guān)權(quán)限,比如
grant create table to admin; --創(chuàng)建表 grant create view to admin; -- 創(chuàng)建視圖
3.也可以直接給connect和resource角色,其包括大部分需要的 grant connect,resource to admin;
這兩個(gè)角色包括的權(quán)限(以oracle 10g為例)有:
CONNECT角色: --是授予最終用戶的典型權(quán)利,最基本的
CREATE SESSION --建立會(huì)話
RESOURCE角色: --是授予開發(fā)人員的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發(fā)器
CREATE TYPE --建立類型
CREATE OPERATOR --創(chuàng)建操作者
CREATE INDEXTYPE --創(chuàng)建索引類型
CREATE TABLE --創(chuàng)建表
- oracle創(chuàng)建新用戶以及用戶權(quán)限配置、查詢語句
- oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限
- Oracle數(shù)據(jù)庫(kù)scott用戶創(chuàng)建view視圖權(quán)限的操作方法
- Oracle創(chuàng)建設(shè)置查詢權(quán)限用戶的方法
- Oracle的用戶、角色及權(quán)限相關(guān)操作
- MySQL與Oracle 差異比較之七用戶權(quán)限
- Oracle刪除當(dāng)前用戶下所有表的方法適用于有或沒有刪除權(quán)限
- oracle用戶權(quán)限管理使用詳解
- Oracle查詢用戶擁有所有系統(tǒng)權(quán)限
相關(guān)文章
oracle—SQL技巧之(一)連續(xù)記錄查詢sql案例測(cè)試
有這樣一個(gè)需求:需要查詢出某個(gè)客戶某一年那些天是有連續(xù)辦理過業(yè)務(wù),本文給予sql實(shí)現(xiàn)語句并測(cè)試,感興趣的朋友可以了解下2013-01-01Oracle 要慌了!華為終于開源了自家的 Huawei JDK——畢昇 JDK!
畢昇 JDK 是華為內(nèi)部 OpenJDK 定制版 Huawei JDK 的開源版本,是一個(gè)高性能、可用于生產(chǎn)環(huán)境的 OpenJDK 發(fā)行版,感興趣的朋友跟隨小編一起看看吧2020-12-12Oracle使用backup as copy方式遷移數(shù)據(jù)文件的流程步驟
Oracle數(shù)據(jù)庫(kù)的Backup As Copy是一種備份技術(shù),它創(chuàng)建一個(gè)物理一致的副本(copy),即數(shù)據(jù)文件、控制文件、在線redo日志文件以及歸檔日志等的完整拷貝,本文介紹了Oracle使用backup as copy方式遷移數(shù)據(jù)文件的流程步驟,需要的朋友可以參考下2024-07-07ORA-01578、ORA-01110:數(shù)據(jù)塊被損壞,此時(shí)無法讀取文件問題修復(fù)方案
這篇文章主要給大家介紹了關(guān)于ORA-01578、ORA-01110:數(shù)據(jù)塊被損壞,此時(shí)無法讀取文件問題的修復(fù)方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用數(shù)據(jù)庫(kù)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2024-03-03