自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle系統(tǒng)管理員基礎(chǔ):Oracle數(shù)據(jù)字典

數(shù)據(jù)庫(kù) Oracle
Oracle數(shù)據(jù)字典是Oracle數(shù)據(jù)庫(kù)的重要組成部分,任何一個(gè)Oracle系統(tǒng)管理員都需要學(xué)習(xí)了解的。本文具體介紹了從Oracle數(shù)據(jù)字典來(lái)了解Oracle數(shù)據(jù)庫(kù)的方法。

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

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

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

ORACLE數(shù)據(jù)庫(kù)系統(tǒng)包含兩個(gè)方面,即ORACLE數(shù)據(jù)庫(kù)和ORACLE實(shí)例,用戶是通過(guò)ORACLE實(shí)例來(lái)訪問(wèn)ORACLE數(shù)據(jù)庫(kù)的。

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

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

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

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

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

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

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

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

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

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

CONTROL-FILES 控制文件名

ROLLBACK-SEGMENTS 分配給實(shí)例的回滾段名

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

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

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

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

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

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

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

我們可以用下述方法來(lái)了解數(shù)據(jù)庫(kù)的全部數(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ù)庫(kù)所做的全部變更,以便在系統(tǒng)發(fā)生故障時(shí)進(jìn)行恢復(fù)。每一個(gè)數(shù)據(jù)庫(kù)至少有兩個(gè)日志文件。

3.控制文件(CONTROL FILES)

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

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

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

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

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

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

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

1.表空間

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

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

2.回滾段

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

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

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

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

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

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

假設(shè)要建的用戶名為RSXT,口令為RSPASS;默認(rèn)的表空間為USER,臨時(shí)表空間為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;  

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

SQLDBA>GRANT CONNECT,RESOURCE TO RSXT;

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

1.對(duì)于非DBA用戶

對(duì)于非DBA用戶,有兩條命令,即:

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

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

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

2.對(duì)于DBA用戶

對(duì)于DBA用戶,有三條命令,即:

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

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

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

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

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

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

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

1.SQL>SELECT*FROM USER-USERS;

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

2.SQL>SELECT*FROM USER-TABLES;

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

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

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;

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

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

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

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

【編輯推薦】

  1. 深入Oracle用戶管理與規(guī)范
  2. Oracle用戶名更改操作四步走
  3. Oracle用戶表空間兩步就可以了解
  4. Oracle用戶名重建索引方法探究
  5. 全面講解Oracle查詢用戶表空間
責(zé)任編輯:yangsai 來(lái)源: 百度空間
相關(guān)推薦

2009-10-22 16:53:08

2010-08-10 09:13:52

Unix系統(tǒng)管理員Ubuntu

2010-05-06 18:07:33

Unix命令

2010-08-11 17:11:15

2013-03-30 21:59:13

系統(tǒng)管理員必備工具iftop

2019-09-09 14:45:29

系統(tǒng)管理員SRE

2018-08-01 08:12:34

Linux管理員網(wǎng)絡(luò)管理

2011-10-20 10:29:22

VMwareVMworld虛擬化

2010-04-12 09:33:58

系統(tǒng)管理員

2010-11-10 09:36:38

系統(tǒng)管理員守則

2012-06-06 10:41:37

系統(tǒng)管理員運(yùn)維

2013-08-20 10:11:20

Go系統(tǒng)管理員

2018-08-15 14:00:18

LinuxBash系統(tǒng)管理員

2013-06-26 09:29:30

系統(tǒng)管理員

2013-09-29 09:50:21

系統(tǒng)管理員Ubuntu JujuJuju

2019-08-23 08:00:00

系統(tǒng)管理架構(gòu)

2010-05-07 16:35:44

2019-08-13 19:34:45

容器鏡像DockerLinux

2012-08-07 09:40:58

系統(tǒng)管理員職業(yè)生涯

2011-06-16 09:35:28

系統(tǒng)管理員iPad應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)