您好,登錄后才能下訂單哦!
一.控制文件
1、控制文件在數(shù)據(jù)庫啟動的作用對于dna來講,oracle數(shù)據(jù)庫控制文件是非常重要的文件,他是數(shù)據(jù)庫創(chuàng)建的時候自動生成的二進制文件,其中記錄了數(shù)據(jù)庫的狀態(tài)信息。其它任何用戶都無法修改控制文件,只有數(shù)據(jù)庫運行過程中,數(shù)據(jù)庫實例可以修改控制文件中的信息??刂莆募饕ㄒ韵聝?nèi)容:
n 數(shù)據(jù)庫名稱,一個控制文件只能屬于一個數(shù)據(jù)庫。
n 數(shù)據(jù)庫創(chuàng)建時間。
n 數(shù)據(jù)文件的名稱、位置、聯(lián)機、脫機狀態(tài)信息。
n 重做日志文件的名稱、位置及歸檔信息。
n 所有表空間信息。
n 當(dāng)前日志序列號。
n 最近檢查點信息。
2.控制文件在數(shù)據(jù)庫啟動的mount階段被讀取,數(shù)據(jù)庫啟動與控制文件的關(guān)系如下圖:
3.
控制文件中存放了創(chuàng)建數(shù)據(jù)庫的信息、重做日志信息、數(shù)據(jù)文件及歸檔日志文件記錄等信息。這些有價值的信息用于數(shù)據(jù)維護和管理,很多數(shù)據(jù)字典視圖是從控制文件中獲得的信息。
4.
3、存儲多重控制文件
由于控制文件非常重要,所以要求控制文件不能只有一個,通常數(shù)據(jù)庫中控制文件要多于3個,并且存放在不同的磁盤上,這種使用控制文件的方法也稱為控制文件的多路復(fù)用。實現(xiàn)多重的一個方法就是通過復(fù)制控制文件到多個位置并修改初始化參數(shù)文件中的CONTROL_FILES參數(shù),使之包含所有控制文件名稱。
二、管理重做日志文件
1.作用:
為了提高磁盤效率和防止重做日志文件損壞
2.原理:
重做日志文件也稱聯(lián)機重做日志,目的是恢復(fù)數(shù)據(jù)。
在數(shù)據(jù)庫運行過程中,用戶更改的數(shù)據(jù)會暫時存放在數(shù)據(jù)庫的高速緩沖區(qū)中。為了提高寫數(shù)據(jù)庫的速度,并不是一旦有數(shù)據(jù)變化,就把變化的數(shù)據(jù)寫到數(shù)據(jù)庫文件中。頻繁的讀寫磁盤會使數(shù)據(jù)庫系統(tǒng)效率降低,所以,要等到數(shù)據(jù)庫高速緩沖區(qū)中的數(shù)據(jù)達到一定的量或滿足一定條件時,DBWR進程才會將變化了的數(shù)據(jù)寫到數(shù)據(jù)文件中。這種情況下,如果DBWR把變化了的更改寫到數(shù)據(jù)文件之前發(fā)生了宕機,那么數(shù)據(jù)庫高速緩沖區(qū)中的數(shù)據(jù)就會全部丟失。如果在數(shù)據(jù)庫服務(wù)器重啟動后無法恢復(fù)這部分用戶更改的數(shù)據(jù),顯然是不可以的。
重做日志就是把變化了的數(shù)據(jù)首先保存起來,其中LGWR進程負責(zé)把用戶更改的數(shù)據(jù)先寫到重做日志文件中,這樣數(shù)據(jù)庫重新啟動時,數(shù)據(jù)庫系統(tǒng)從重做日志文件中讀取這些變化了的數(shù)據(jù),將用戶更改的數(shù)據(jù)提交到數(shù)據(jù)庫中,寫入數(shù)據(jù)文件。
3.
種重做日志文件結(jié)構(gòu),如圖:
上圖可以看出有3個重做日志組,每組包含兩個重做日志成員。當(dāng)?shù)谝粋€日志組寫滿之后,就會停止寫入,而轉(zhuǎn)向第二個日志組,第二個寫滿后,轉(zhuǎn)向第三個日之組,第三個寫滿就向第一個日志組寫入,oracle以這種循環(huán)方式使用重做日志組。
Oracle規(guī)定每個數(shù)據(jù)庫至少有兩個日志組,每組至少包含一個或者多個日志成員。
使用新的重做日志之前,DBWR進程需要將所有的數(shù)據(jù)更改寫到數(shù)據(jù)文件中。如果數(shù)據(jù)庫處于歸檔模式下,當(dāng)發(fā)生日之組切換時,歸檔進程ARCH會把當(dāng)前已滿的重做日志文件中的數(shù)據(jù)復(fù)制到歸檔日志中。
日志文件大小一般在10M-50M比較合適。
三.
日志切換和檢查點事件
日志切換就是停止當(dāng)前日志組,轉(zhuǎn)而寫另外一個新的日志組,系統(tǒng)可以自動切換,也可以手工切換,當(dāng)發(fā)生日志切換時,系統(tǒng)會在后臺完成檢查點的操作,以減少實例的恢復(fù)時間。
檢查點是一個事件,用于減少實例恢復(fù)的時間,當(dāng)檢查點發(fā)生時,它會觸發(fā)DBWR進程,把數(shù)據(jù)高速緩沖中變化了的數(shù)據(jù)寫入數(shù)據(jù)文件,同時檢查點進程更新控制文件和數(shù)據(jù)文件頭部,以使它們保持一致。檢查點其實是一個后臺進程,用來保證所有修改過的數(shù)據(jù)庫緩沖區(qū)的東西都寫入數(shù)據(jù)庫文件。
檢查點時間越頻繁,則一旦數(shù)據(jù)庫發(fā)生故障,需要數(shù)據(jù)庫恢復(fù)的重用日志中的數(shù)據(jù)就越少(因為在恢復(fù)時,就不必檢查恢復(fù)檢查點之前的重用日志中的數(shù)據(jù)),所以就減少實例恢復(fù)的時間。
啟動時間:
n 每隔三秒(或更加頻繁)
n 發(fā)生日志切換
n 立即選項關(guān)閉例程時
n 手動請求
負責(zé)以下事項:
n 使用檢查點信息更新數(shù)據(jù)文件標(biāo)題
n 使用檢查點信息更新控制文件
n 在完成檢查點向DBWn發(fā)出信號
五.管理歸檔日志文件
1、歸檔日志介紹
Oracle數(shù)據(jù)庫有兩種運行方式,歸檔(ARCHIVELOG)方式和非歸檔(NO ARCHIVELOG)方式。在非歸檔方式下,日志切換時直接覆蓋以前的重做日志文件,不產(chǎn)生歸檔日志。數(shù)據(jù)庫在歸檔方式下運行,在日志切換后,ARCH進程會對自己寫滿的重做日志文件進行存檔。默認情況下,oracle采用非歸檔的運行方式,主要因為歸檔方式會給系統(tǒng)帶來一定的性能問題,只有當(dāng)數(shù)據(jù)庫運行在歸檔方式時,ARCH進程才存在,ARCH進程是oracle的可選后臺進程,將日志存檔,以便保存對數(shù)據(jù)庫做的所有修改,這樣,及時在數(shù)據(jù)文件磁盤損壞的情況下,數(shù)據(jù)庫管理員也能將對數(shù)據(jù)庫恢復(fù)至故障發(fā)生時的狀態(tài)。
1)歸檔進程
n 是可選的后臺進程
n 為數(shù)據(jù)庫設(shè)置ARCHIVELOG(歸檔)模式時會自動歸檔聯(lián)機重做日志文件
n 保留對數(shù)據(jù)庫所有更改的記錄
2)歸檔日志文件
n 數(shù)據(jù)庫在允許覆蓋重做日志信息之前生成聯(lián)機重做日志組的副本。
n 這些副本又稱為“歸檔日志”。
、配置數(shù)據(jù)庫歸檔日志步驟:
n 查詢數(shù)據(jù)庫歸檔方式,確定當(dāng)前不處于歸檔方式
n 關(guān)閉數(shù)據(jù)庫并啟動數(shù)據(jù)庫到MOUNT狀態(tài)
n 將數(shù)據(jù)庫設(shè)置位歸檔模式,并驗證
六.數(shù)據(jù)字典
1、數(shù)據(jù)字典定義
數(shù)據(jù)字典是oracle存儲關(guān)鍵信息的表和視圖的集合。是數(shù)據(jù)庫的說明,包含數(shù)據(jù)庫中所有對象的名稱和屬性。
1、數(shù)據(jù)字典的構(gòu)成
數(shù)據(jù)字典分為數(shù)據(jù)字典表和數(shù)據(jù)字典視圖。數(shù)據(jù)字典中的表不可以直接被訪問,但是可以訪問數(shù)據(jù)字典中的視圖。數(shù)據(jù)字典視圖分為兩類:靜態(tài)數(shù)據(jù)字典視圖和動態(tài)數(shù)據(jù)字典視圖。
1)數(shù)據(jù)字典表
數(shù)據(jù)字典表中的數(shù)據(jù)是oracle系統(tǒng)存放的系統(tǒng)數(shù)據(jù),而普通表存放的是用戶的數(shù)據(jù)。為了方便的區(qū)別這些表,這些表的名稱都是用$結(jié)尾,這些表屬于SYS用戶。
為了方便對數(shù)據(jù)字典表的查詢,oracle對這些數(shù)據(jù)字典都分別建立了用戶視圖,這樣既容易記住,還隱藏了數(shù)據(jù)字典表之間的關(guān)系。
2)靜態(tài)數(shù)據(jù)字典視圖
靜態(tài)數(shù)據(jù)字典中的視圖分為3類,他們分別由3個前綴構(gòu)成:USER_*、ALL_*、DBA_*。
n USER_*:該視圖存儲了當(dāng)前用戶所擁有的對象的信息(既所有在該用戶模式下的對象)。
n ALL_*:該視圖存儲了當(dāng)前用戶能夠訪問的對象的信息,(與USER_*相比,ALL_*并不需要擁有該對象,只需要具有訪問該對象的權(quán)限即可)。
n DBA_*:該視圖存儲了數(shù)據(jù)庫中所有對象的信息,(前提是當(dāng)前用戶具有訪問權(quán)限,一般來說必須具有管理員權(quán)限)。
七、動態(tài)數(shù)據(jù)字典視圖及使用
1、概念
除了靜態(tài)數(shù)據(jù)字典中的3類視圖,其他的字典視圖中主要是V$視圖,之所以這樣命名是因為他們都是以V$或GV$開頭的,這些視圖會不斷地進行更新,可以反映出當(dāng)前實例和數(shù)據(jù)庫的運行狀況。動態(tài)性能表用于記錄當(dāng)前數(shù)據(jù)庫的活動,只存在于數(shù)據(jù)庫運行期間,實際的信息都取自內(nèi)存和控制文件,dba可以使用動態(tài)視圖來監(jiān)視和維護數(shù)據(jù)庫。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。