二、ORACLE 數(shù)據(jù)庫(kù)
ORACLE數(shù)據(jù)庫(kù)的組成——物理操作系統(tǒng)文件的集合。主要包括以下幾種。
1、控制文件(參數(shù)文件init.ora記錄了控制文件的位置)
控制文件包括如下主要信息
·數(shù)據(jù)庫(kù)的名字,檢查點(diǎn)信息,數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳
·所有的數(shù)據(jù)文件,聯(lián)機(jī)日志文件,歸檔日志文件信息
·備份信息等
有了這些信息,Oracle就知道那些文件是數(shù)據(jù)文件,現(xiàn)在的重做日志文件是哪些,這些都是系統(tǒng)啟動(dòng)和運(yùn)行的基本條件,所以他是Oracle運(yùn)行的根本。如果沒(méi)有控制文件系統(tǒng)是不可能啟動(dòng)的。控制文件是非常重要的,一般采用多個(gè)鏡相復(fù)制來(lái)保護(hù)控制文件,或采用RAID來(lái)保護(hù)控制文件。控制文件的丟失,將使數(shù)據(jù)庫(kù)的恢復(fù)變的很復(fù)雜。控制文件信息可以從V$Controlfile中查詢(xún)獲得。
2、數(shù)據(jù)文件(數(shù)據(jù)文件的詳細(xì)信息記載在控制文件中)
可以通過(guò)如下方式查看數(shù)據(jù)文件
SQL> select name from v$datafile;
NAME
---------------------------------------------
/u05/dbf/PROD/system_01.dbf
/u06/dbf/PROD/temp_01.dbf
/u04/dbf/PROD/users_01.dbf
/u09/dbf/PROD/rbs_01.dbf
/u06/dbf/PROD/applsys_indx_01.dbf
/u05/dbf/PROD/applsys_data_01.dbf
從以上可以看出,數(shù)據(jù)文件大致可以分為以下幾類(lèi):
i. 系統(tǒng)數(shù)據(jù)文件(system_01.dbf)
存放系統(tǒng)表和數(shù)據(jù)字典,一般不放用戶(hù)的數(shù)據(jù),但是用戶(hù)腳本,如過(guò)程,函數(shù),包等卻是保存在數(shù)據(jù)字典中的。
名詞解釋?zhuān)簲?shù)據(jù)字典
數(shù)據(jù)字典是一些系統(tǒng)表或視圖,他存放系統(tǒng)的信息,他包括數(shù)據(jù)庫(kù)版本,數(shù)據(jù)文件信息,表與索引等段信息,系統(tǒng)的運(yùn)行狀態(tài)等各種和系統(tǒng)有關(guān)的信息和用戶(hù)腳本信息。數(shù)據(jù)庫(kù)管理員可以通過(guò)對(duì)數(shù)據(jù)字典的查詢(xún),就可以了解到Oracle的運(yùn)行狀態(tài)。
ii. 回滾段文件(rbs_01.dbf)
如果數(shù)據(jù)庫(kù)進(jìn)行對(duì)數(shù)據(jù)的修改,那么就必須使用回滾段,回滾段是用來(lái)臨時(shí)存放修改前的數(shù)據(jù)(Before Image)。回滾段通常都放在一個(gè)單獨(dú)的表空間上(回滾表空間),避免表空間碎片化,這個(gè)表空間包含的數(shù)據(jù)文件就是回滾數(shù)據(jù)文件。
iii. 臨時(shí)數(shù)據(jù)文件(temp_01.dbf)
主要存放用戶(hù)的排序等臨時(shí)數(shù)據(jù),與回滾段相似,臨時(shí)段也容易引起表空間碎片化,而且沒(méi)有辦法在一個(gè)永久表空間上開(kāi)辟臨時(shí)段,所以就必須有一個(gè)臨時(shí)表空間,它所包含的數(shù)據(jù)文件就是臨時(shí)數(shù)據(jù)文件,主要用于不能在內(nèi)存上進(jìn)行的排序操作。我們必須為用戶(hù)指定一個(gè)臨時(shí)表空間。
iv. 用戶(hù)數(shù)據(jù)文件(/applsys_data_01.dbf ,applsys_indx_01.dbf)
存放用戶(hù)數(shù)據(jù),這里列舉了兩類(lèi)常見(jiàn)的用戶(hù)型數(shù)據(jù),一般數(shù)據(jù)和索引數(shù)據(jù),一般來(lái)說(shuō),如果條件許可的話(huà),可以考慮放在不同的磁盤(pán)上。
3、重做日志文件(聯(lián)機(jī)重做日志)
用戶(hù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行的任何操作都會(huì)記錄在重做日志文件。在了解重做日志之前必須了解重做日志的兩個(gè)概念,重做日志組和重做日志組成員(Member),一個(gè)數(shù)據(jù)庫(kù)中至少要有兩個(gè)日志組文件,一組寫(xiě)完后再寫(xiě)另一組,即輪流寫(xiě)。每個(gè)日志組中至少有一個(gè)日志成員,一個(gè)日志組中的多個(gè)日志成員是鏡相關(guān)系,有利于日志文件的保護(hù),因?yàn)槿罩疚募膿p壞,特別是當(dāng)前聯(lián)機(jī)日志的損壞,對(duì)數(shù)據(jù)庫(kù)的影響是巨大的。
聯(lián)機(jī)日志組的交換過(guò)程叫做切換,需要特別注意的是,日志切換在一個(gè)優(yōu)化效果不好的數(shù)據(jù)庫(kù)中會(huì)引起臨時(shí)的“掛起”。掛起大致有兩種情況:
在歸檔情況下,需要?dú)w檔的日志來(lái)不及歸檔,而聯(lián)機(jī)日志又需要被重新利用
檢查點(diǎn)事件還沒(méi)有完成(日志切換引起檢查點(diǎn)),而聯(lián)機(jī)日志需要被重新利用
解決這種問(wèn)題的常用手段是:
i.增加日志組
ii.增大日志文件成員大小
通過(guò)v$log可以查看日志組,v$logfile可以查看具體的成員文件。
4、歸檔日志文件
Oracle可以運(yùn)行在兩種模式之中,歸檔模式和不歸檔模式。如果不用歸檔模式,當(dāng)然,你就不會(huì)有歸檔日志,但是,你的系統(tǒng)將不會(huì)是一個(gè)實(shí)用系統(tǒng),特別是不能用于生產(chǎn)系統(tǒng),因?yàn)槟憧赡軙?huì)丟失數(shù)據(jù)。但是在歸檔模式中,為了保存用戶(hù)的所有修改,在重做日志文件切換后和被覆蓋之間系統(tǒng)將他們另外保存成一組連續(xù)的文件系列,該文件系列就是歸檔日志文件。
有人或許會(huì)說(shuō),歸檔日志文件占領(lǐng)我大量的硬盤(pán)空間,其實(shí),具體想一想,你是愿意浪費(fèi)一點(diǎn)磁盤(pán)空間來(lái)保護(hù)你的數(shù)據(jù),還是愿意丟失你的數(shù)據(jù)呢?顯而義見(jiàn),我們需要保證我們的數(shù)據(jù)的安全性。其實(shí),歸檔并不是一直占領(lǐng)你的磁盤(pán)空間,你可以把她備份到磁帶上,或則刪除上一次完整備份前的所有日志文件。
5、初始化參數(shù)文件
initSID.ora或init.ora文件,因?yàn)榘姹镜牟灰粯樱湮恢靡部赡軙?huì)不一樣。在8i中,通常位于$ORACLE_HOME/admin//Pfile下初始化文件記載了許多數(shù)據(jù)庫(kù)的啟動(dòng)參數(shù),如內(nèi)存,控制文件,進(jìn)程數(shù)等,在數(shù)據(jù)庫(kù)啟動(dòng)的時(shí)候加載(Nomount時(shí)加載),初始化文件記錄了很多重要參數(shù),對(duì)數(shù)據(jù)庫(kù)的性能影響很大,如果不是很了解,不要輕易亂改寫(xiě),否則會(huì)引起數(shù)據(jù)庫(kù)性能下降。
6、其他文件
i . 密碼文件
用于Oracle 的具有sysdba權(quán)限用戶(hù)的認(rèn)證.
ii. 日志文件
·報(bào)警日志文件(alert.log或alrt.ora)
記錄數(shù)據(jù)庫(kù)啟動(dòng),關(guān)閉和一些重要的出錯(cuò)信息。數(shù)據(jù)庫(kù)管理員應(yīng)該經(jīng)常檢查這個(gè)文件,并對(duì)出現(xiàn)的問(wèn)題作出即使的反應(yīng)。你可以通過(guò)以下SQL 找到他的路徑select value from v$PARAMETER where name ="background_dump_dest";
·后臺(tái)或用戶(hù)跟蹤文件
系統(tǒng)進(jìn)程或用戶(hù)進(jìn)程出錯(cuò)前寫(xiě)入的信息,一般不可能讀懂,可以通過(guò)ORACLE的TKPROF工具轉(zhuǎn)化為可以讀懂的格式。對(duì)于系統(tǒng)進(jìn)程產(chǎn)生的跟蹤文件與報(bào)警日志文件的路徑一樣,用戶(hù)跟蹤文件的路徑,你可以通過(guò)以下SQL找到他的路徑select value from v$PARAMETER where name ="user_dump_dest"。
數(shù)據(jù)庫(kù)恢復(fù)之ORACLE體系結(jié)構(gòu)內(nèi)容基本完結(jié),希望對(duì)數(shù)據(jù)恢復(fù)的你有所啟發(fā)。
在本系列的第一部分,我們討論了存儲(chǔ)虛擬化是如何實(shí)現(xiàn)不停機(jī)操作,并使用戶(hù)能夠通過(guò)改造...
我們知道每次啟動(dòng)Win 9x后,系統(tǒng)都會(huì)自動(dòng)地將System.ini、Win.ini、User.dat和System.da...
DELL筆記本更換系統(tǒng)XP慢解決辦法 如果這類(lèi)機(jī)器出現(xiàn)xp運(yùn)行速度慢的話(huà),可以把附件的驅(qū)動(dòng)...
當(dāng)設(shè)備失敗時(shí),鏡像和校驗(yàn)冗余提供了一個(gè)恢復(fù)數(shù)據(jù)的方法,然而,更大的危險(xiǎn)不是影響單個(gè)...
每個(gè)SCSIID可以擁有8個(gè)LUN地址,即一條8位的SCSI總線(xiàn)上可以?huà)旖?6個(gè)設(shè)備,在一條16位的SC...
硬盤(pán)有價(jià)數(shù)據(jù)無(wú)價(jià),現(xiàn)在越來(lái)越多的用戶(hù)有這樣的概念,但是只有在真正遇到數(shù)據(jù)危機(jī)時(shí)才會(huì)...
昨天閑的沒(méi)事整理電腦里的照片,我一看有好多是重復(fù)的,可能上次在新建文件夾的時(shí)候直接...