日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle系統(tǒng)管理員基礎(chǔ):Oracle數(shù)據(jù)字典

對于Oracle系統(tǒng)管理員而言,Oracle數(shù)據(jù)字典就像是一個寶庫:它是ORACLE數(shù)據(jù)庫的重要組成部分,提供了諸如數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)庫對象空間分配和數(shù)據(jù)庫用戶等等有關(guān)數(shù)據(jù)庫的信息。本文試圖從數(shù)據(jù)庫管理系統(tǒng)的若干基本概念出發(fā),具體介紹從ORACLE數(shù)據(jù)字典來了解ORACLE的方法。

成都地區(qū)優(yōu)秀IDC服務(wù)器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的成都服務(wù)器托管,四川各地服務(wù)器托管,成都服務(wù)器托管、多線服務(wù)器托管.托管咨詢專線:028-86922220

不同的操作系統(tǒng)、不同版本的ORACLE數(shù)據(jù)字典有所差異,本文均以UNIX操作系統(tǒng)、ORACLE 7為例加以說明。

數(shù)據(jù)庫系統(tǒng)實例和數(shù)據(jù)庫標(biāo)識

ORACLE數(shù)據(jù)庫系統(tǒng)包含兩個方面,即ORACLE數(shù)據(jù)庫和ORACLE實例,用戶是通過ORACLE實例來訪問ORACLE數(shù)據(jù)庫的。

1.數(shù)據(jù)庫(DATABASE)

數(shù)據(jù)庫是作為整體看待的數(shù)據(jù)集合,通常在安裝ORACLE軟件的最后階段創(chuàng)建,用數(shù)據(jù)庫名加以標(biāo)識(允許1~8個字符),數(shù)據(jù)庫名在創(chuàng)建數(shù)據(jù)庫時確認(rèn),且保存在控制文件中。

2.實例(INSTANCE,也譯作例程)

實例是存取和控制數(shù)據(jù)庫的軟件機制。它由系統(tǒng)全局區(qū)(System Global Area,即SGA)和ORACLE進(jìn)程兩部分組成,和數(shù)據(jù)庫名一樣,實例也要唯一標(biāo)識,并且在安裝ORACLE軟件時確認(rèn)。

我們可以采用下述方法來了解實例標(biāo)識。

有的系統(tǒng)管理員有意無意地將數(shù)據(jù)庫名和實例標(biāo)識取相同的標(biāo)識符,當(dāng)然是可以的,有時甚至?xí)砟承┓奖?但筆者認(rèn)為,還是取不同標(biāo)識符為宜。

數(shù)據(jù)庫的初始化參數(shù)文件

在數(shù)據(jù)庫的建立和運行中,都要閱讀一個初始化參數(shù)文件,它是個文本文件,可以用一般的編輯程序編輯。

每一個數(shù)據(jù)庫至少有一個初始化參數(shù)文件,一般命名為INIT.ORA,在UNIX系統(tǒng)下,按照缺省規(guī)定,其初始化參數(shù)文件名的命名原則為INIT后緊跟實例的標(biāo)識,再加ORA后綴,例如,某實例標(biāo)識為TEST,其初始化參數(shù)文件名為INITTEST.ORA。

數(shù)據(jù)庫的初始化參數(shù)有100多個,前面提到的DB_NAME即是其中之一。此外,還有許多其他參數(shù),如

CONTROL-FILES 控制文件名

ROLLBACK-SEGMENTS 分配給實例的回滾段名

INIT-SQL-FILES 數(shù)據(jù)庫建立時執(zhí)行的命令文件

PROCESSES 多進(jìn)程系統(tǒng)中最大進(jìn)程數(shù)

數(shù)據(jù)庫的物理結(jié)構(gòu)

數(shù)據(jù)庫的物理結(jié)構(gòu)是面向操作系統(tǒng)的,它描述數(shù)據(jù)庫中的數(shù)據(jù)的存儲形式。在物理上OA

CLE數(shù)據(jù)庫文件包括數(shù)據(jù)文件、日志文件和控制文件。

1.數(shù)據(jù)文件(DATA FILES)

ORACLE數(shù)據(jù)庫中的數(shù)據(jù),邏輯上存放在表空間里,但物理上卻是存放在數(shù)據(jù)文件里的,數(shù)據(jù)文件有如下特點,即每一個數(shù)據(jù)文件只與一個數(shù)據(jù)庫相聯(lián)系,數(shù)據(jù)庫文件一旦建立,就不能改變大小,一個表空間可以包含一個或多個數(shù)據(jù)文件等。

我們可以用下述方法來了解數(shù)據(jù)庫的全部數(shù)據(jù)文件。

(1)SQLDBA>SELECT*FROM DBA-DATA-FILES;結(jié)果中,列名FILE-NAME即為數(shù)據(jù)文件名。

(2)SQLDBA>SELECT*FROM V$DATAFILE;結(jié)果中,列名NAME即為數(shù)據(jù)文件名。

(3)SQLDBA>SELECT*FROM V$DBFILE;結(jié)果中,列名NAME即為數(shù)據(jù)文件名。

2.日志文件(REDO LOG FILES)

日志文件用于記錄數(shù)據(jù)庫所做的全部變更,以便在系統(tǒng)發(fā)生故障時進(jìn)行恢復(fù)。每一個數(shù)據(jù)庫至少有兩個日志文件。

3.控制文件(CONTROL FILES)

控制文件雖然是一個較小的二進(jìn)制文件,但很重要。如果控制文件一旦被破壞,則無法對數(shù)據(jù)庫進(jìn)行操作。為防止控制文件被破壞,一般一個數(shù)據(jù)庫應(yīng)至少有二個控制文件,且分別放在不同的磁盤上,控制文件的名字是記錄在參數(shù)CONTROL_FILES中的。

數(shù)據(jù)庫的邏輯結(jié)構(gòu)

數(shù)據(jù)庫的邏輯結(jié)構(gòu)是面向用戶的,數(shù)據(jù)庫的邏輯結(jié)構(gòu)包含表空間、段、范圍、數(shù)據(jù)塊和模式對象。從邏輯上看數(shù)據(jù)庫有以下特點。

一個數(shù)據(jù)庫(DATABASE)由一個或多個表空間所組成。

一個表空間(TABLESPACE)由段組成,作為SYSTEM表空間,它由自舉段、回滾段、數(shù)據(jù)段、臨時段等多個段組成,而作為非SYSTEM表空間,則因用途而異由不同段組成。

一個段(SEGMENT)由一組范圍組成。一個范圍(EXTENT)由一組連續(xù)的數(shù)據(jù)塊組成。一個數(shù)據(jù)塊(DATABASE BLOCK)對應(yīng)磁盤上的一個或多個物理塊。

在數(shù)據(jù)庫的邏輯結(jié)構(gòu)中,表空間和回滾段比較重要,下面分別加以介紹。

1.表空間

每一個數(shù)據(jù)庫都必須包含一個名為SYSTEM的表空間。該表空間在創(chuàng)建數(shù)據(jù)庫時由系統(tǒng)自動創(chuàng)建,為了保證數(shù)據(jù)庫能正常運行,SYSTEM表空間必須處于在線狀態(tài)。

為了增強對數(shù)據(jù)庫的控制和維護(hù),一般一個數(shù)據(jù)庫都包含多個表空間。使用多個表空間有許多優(yōu)點,例如可以使用戶數(shù)據(jù)與數(shù)據(jù)字典相分離,可以在不同的磁盤上存儲不同表空間的數(shù)據(jù)文件,從而減少I/O沖突,還可以使一些表空間在線,而使另一些表空間離線等等。

2.回滾段

每一個表空間是都由段組成。ORACLE數(shù)據(jù)庫中的段有數(shù)據(jù)段、索引段、臨時段、回滾段和自舉段。比較重要的是回滾段,它記錄數(shù)據(jù)庫的變更信息,以實現(xiàn)數(shù)據(jù)庫的讀一致性及恢復(fù)工作。

在SYSTEM表空間里有一個SYSTEM回滾段,是在創(chuàng)建數(shù)據(jù)庫時隨之產(chǎn)生的。如果使用多個表空間,至少還應(yīng)有一個另外的回滾段?;貪L段分專用和公用兩種,要使用專用回滾段,需要在初始化參數(shù)文件的ROLLBACK-SEGMENTS參數(shù)上寫上專用回滾段的段名并且重新啟動數(shù)據(jù)庫,或者通過回滾段在線命令使它在線。

數(shù)據(jù)庫的用戶

ORACLE數(shù)據(jù)庫是個多用戶系統(tǒng)。為了保證數(shù)據(jù)庫系統(tǒng)的安全,ORACLE數(shù)據(jù)庫管理系統(tǒng)配制了良好的安全機制。例如,每一個ORACLE數(shù)據(jù)庫都有一個用戶表,它記載著每一個用戶的有關(guān)信息,一旦用戶進(jìn)入系統(tǒng),ORACLE系統(tǒng)會通過這張表來檢查用戶的合法性。又如,ORACLE系統(tǒng)通過合理分配用戶的權(quán)限來管理用戶。通常,ORACLE將用戶分為三類,即DBA、RESOUCE和CONNECT三類角色,使不同的用戶的權(quán)限各不相同。

在創(chuàng)建數(shù)據(jù)庫時,系統(tǒng)自動建立了兩個用戶,即SYS和SYSTEM用戶,且授給這兩個用戶DB權(quán)限,由于DBA具有最高權(quán)限,建議將它們的口令及時修改,以免個別用戶以DBA角色進(jìn)入系統(tǒng),有意無意地給系統(tǒng)造成損害。

除了SYS、SYSTEM用戶外,其余用戶都要一一建立,建立用戶的方法如下:

假設(shè)要建的用戶名為RSXT,口令為RSPASS;默認(rèn)的表空間為USER,臨時表空間為TEMP,表空間限額為3M,其余默認(rèn),則可用下面方法創(chuàng)建新用戶:

 
 
 
  1. SQLDBA>CREATE USER RSXT IDENTIFIED BY RSPASS  
  2. DEFAULT TABLESPACE USER 
  3. TEMPORARY TABLESPACE TEMP 
  4. QUOTA 3M ON USER;  

請注意,該用戶建立后,還要及時授權(quán),否則像上述剛剛建成的用戶,則一無所為,甚至都不能連接數(shù)據(jù)庫。對一般用戶,通常授予CONNECT和RESOURCE角色權(quán)限,命令如下:

SQLDBA>GRANT CONNECT,RESOURCE TO RSXT;

對于一個有著許多用戶的數(shù)據(jù)庫系統(tǒng),我們可以通過下述方法來了解數(shù)據(jù)庫的用戶情況。

1.對于非DBA用戶

對于非DBA用戶,有兩條命令,即:

(1)SQL>SELECT*FROM ALL-USERS;

(2)SQL>SELECT*FROM USER-USERS;

其中,從USER-USERS表中,可以了解到該用戶的默認(rèn)表空間和臨時表空間等信息。

2.對于DBA用戶

對于DBA用戶,有三條命令,即:

(1)SQLDBA>SELECT*FROM ALL-USERS;

(2)SQLDBA>SELECT*FROM USER-USERS;

(3)SQLDBA>SELECT*FROM DBA-USERS;

其中,從DBA-USERS中,可以了解到所有用戶的詳細(xì)信息,因而該命令對于數(shù)據(jù)庫管理員來說是很有用的。

關(guān)于非DBA用戶的信息

由于DBA用戶具有最高權(quán)限,為安全起見,只有Oracle系統(tǒng)管理員才授予DBA權(quán)限,大多數(shù)用戶均為非DBA用戶。盡管相應(yīng)的權(quán)限少了,但是從ORACLE數(shù)據(jù)字典中,還是可以得到 很多關(guān)于非DBA用戶的有用信息。

我們可以采用下述方法來了解有關(guān)非DBA用戶的信息。

1.SQL>SELECT*FROM USER-USERS;

可以查看該用戶的默認(rèn)表空間,臨時表空間和用戶創(chuàng)建時間。

2.SQL>SELECT*FROM USER-TABLES;

可以查看該用戶創(chuàng)建的所有表的詳細(xì)信息,由于列名較多,一屏看不了幾個表。

如果僅僅想查看用戶所建表的表名,可以用下面的命令:

SQL>SELECT TABLE-NAME FROM USER-TABLES;

3.SQL〉SELECT*FROM USER-VIEWS;

可以查看該用戶所創(chuàng)建的視圖,包括創(chuàng)建視圖的文本。

同樣,如果僅僅想查看用戶所建視圖的視圖名,可以用下面的命令:

SQL>SELECT VIEW-NAME FROM USER-VIEWS;

4.SQL>SELECT*FROM USER-TABLESPACES;

可以查看該用戶可存取的表空間的信息。

5.SQL>SELECT TABLESPACE-NAME,SUM(BYTES),SUM(BLOCKS)

FROM USER-FREE-SPACE GROUP BY TABLESPACE-NAME;

可以查看該用戶可存取的表空間的剩余空間。

6.SQL>SELECT *FROM USER-TS-QUOTAS;

可以查看該用戶的表空間的份額。

7.SQL>SELECT *FROM USER-ROLE-PRIVS;

可以查看該用戶被授予的角色。

8.SQL>SELECT *FROM USER-SYS-PRIVS;

可以查看該用戶的系統(tǒng)權(quán)限及能否再授予其它用戶的權(quán)限。

9.SQL>SELECT *FROM USER-TAB-PRIVS-RECD;

可以查看該用戶能訪問其它用戶的表、視圖等的對象權(quán)限。

10.SQL>SELECT *FROM USER-TAB-PRIVS-MADE;

可以查看該用戶授予其它用戶的表、視圖等的對象權(quán)限。

有關(guān)用戶的信息還有很多,這里不再一一列舉,請Oracle系統(tǒng)管理員們自行查看ORACLE數(shù)據(jù)字典。


網(wǎng)頁名稱:Oracle系統(tǒng)管理員基礎(chǔ):Oracle數(shù)據(jù)字典
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/djssohc.html