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

Oracle控制文件如何高效管理

數(shù)據(jù)庫 Oracle
本文就Oracle控制文件如何高效管理進(jìn)行深入探討,主要內(nèi)容包括:明確控制文件的名稱和存儲(chǔ)路徑,為數(shù)據(jù)庫創(chuàng)建多路控制文件,將多路控制文件放在不同的硬盤上等。

通常我們采用多路控制文件或者備份控制文件的方法避免Oracle控制文件被破壞而導(dǎo)致的數(shù)據(jù)庫無法啟動(dòng)的問題。因?yàn)镺racle控制文件具有保持Oracle數(shù)據(jù)庫的完整性的功能,所以我們不得不重視。

Oracle控制文件是數(shù)據(jù)庫建立的時(shí)候自動(dòng)生成的二進(jìn)制文件,只能通過實(shí)例進(jìn)行修改,如果手動(dòng)修改的話會(huì)造成控制文件與物理信息不符合,從而導(dǎo)致數(shù)據(jù)庫不能正常工作。

控制文件主要包括下面內(nèi)容:

1.控制文件所屬數(shù)據(jù)庫的名字,一個(gè)控制文件只能屬一個(gè)數(shù)據(jù)庫

2.數(shù)據(jù)庫創(chuàng)建時(shí)間

3.數(shù)據(jù)文件的名稱,位置,聯(lián)機(jī),脫機(jī)狀態(tài)信息

4.所有表空間信息

5.當(dāng)前日志序列號(hào)

6.最近檢查點(diǎn)信息

其中,數(shù)據(jù)庫名稱,標(biāo)識(shí)和創(chuàng)建時(shí)間在數(shù)據(jù)庫創(chuàng)建時(shí)寫入;數(shù)據(jù)文件和重做日志名稱和位置在增加,重命名或者刪除的時(shí)候更新;表空間信息在增加或者刪除表空間的時(shí)候進(jìn)行更新。

在初始化參數(shù)文件中control_files參數(shù)主要來描述控制文件的文件名跟物理路徑,如下所示:

control_files=("d:oracleoradataoradbcontrol01.ctl")

該參數(shù)只設(shè)置一個(gè),也可以設(shè)置多個(gè),如下所示:

  1. control_files=("d:oracleoradataoradbcontrol01.ctl"  
  2. "e:oracleoradataoradbcontrol02.ctl",  
  3. "f:oracleoradataoradbcontrol03.ctl")  
  4.  

這個(gè)方法叫做多路控制文件,oracle可以利用這個(gè)方法恢復(fù)被破壞的控制文件,oracle最多允許設(shè)置8個(gè)多路控制文件。必須所有的多路控制文件都完整正確數(shù)據(jù)庫才能正常啟動(dòng),只要丟失一個(gè)或者一個(gè)內(nèi)容不正確數(shù)據(jù)庫就不能順利啟動(dòng)。對(duì)控制文件的管理原則:

1.明確控制文件的名稱和存儲(chǔ)路徑,參數(shù)設(shè)置錯(cuò)誤將無法打開數(shù)據(jù)庫,數(shù)據(jù)庫打開以后,實(shí)例將同時(shí)寫入所有的控制文件但是只會(huì)讀取***個(gè)控制文件的內(nèi)容。

2.為數(shù)據(jù)庫創(chuàng)建多路控制文件
a.多路控制文件內(nèi)容必須完全一樣,oracle實(shí)例同時(shí)將內(nèi)容寫入到control_files變量所設(shè)置的控制文件中。
b.初始化參數(shù)control_files中列出的***個(gè)文件是數(shù)據(jù)庫運(yùn)行期間***可讀取的控制文件。
c.創(chuàng)建,恢復(fù)和備份控制文件必須在數(shù)據(jù)庫關(guān)閉的狀態(tài)下運(yùn)行,這樣才能保證操作過程中控制文件不被修改。
d.數(shù)據(jù)庫運(yùn)行期間如果一個(gè)控制文件變?yōu)椴豢捎?,那么?shí)例將不再運(yùn)行,應(yīng)該終止這個(gè)實(shí)例,并對(duì)破壞的控制文件進(jìn)行修復(fù)。

3.將多路控制文件放在不同的硬盤上

4.采用操作系統(tǒng)鏡像方式備份控制文件

5.手工方式備份控制文件

應(yīng)該及時(shí)備份特別是發(fā)生了如下的操作的時(shí)候:
◆添加刪除重命名數(shù)據(jù)文件
◆添加刪除表空間,改變表空間讀寫狀態(tài)
◆添加刪除重做日志文件

如果手工備份不及時(shí)的話,就會(huì)產(chǎn)生備份的控制文件與正在使用的控制文件不一致,那么利用備份的控制文件啟動(dòng)數(shù)據(jù)庫時(shí)會(huì)破壞數(shù)據(jù)庫的一致性完整性,甚至不能啟動(dòng)數(shù)據(jù)庫,因此手工備份控制文件要注意及時(shí)備份。

創(chuàng)建多路控制文件

利用spfile文件創(chuàng)建多路控制文件

(spfile以二進(jìn)制文本形式存在,不能用vi編輯器對(duì)其中參數(shù)進(jìn)行修改。文件格式為spfileSID.ora。如果要對(duì)spfile文件進(jìn)行修改,可以采用SQL語言)

1.利用SYS帳號(hào)登陸SQL*PLUS,查詢一下控制文件信息視圖

  1. SQL>select name from v$controlfile;  

#p#

結(jié)果顯示為:

  1. NAME  
  2. ----------------------------------  
  3. d:oracleoradataoradb01control01.ctl  
  4. e:oracleoradataoradb01control02.ctl  
  5. f:oracleoradataoradb01control03.ctl  
  6.  

這里列出了控制文件的名稱以及位置

2.更改spfile中控制文件的信息:(增加了一個(gè)新的控制文件)

  1. SQL>alter system set control_files=  
  2. 'd:oracleoradataoradb01control01.ctl',  
  3. 'e:oracleoradataoradb01control02.ctl',  
  4. 'f:oracleoradataoradb01control03.ctl',  
  5. 'g:oracleoradataoradb01control04.ctl'  
  6. scope=spfile 
  7.  

結(jié)果顯示為:

系統(tǒng)已經(jīng)更改。

(第二步的操作需要注意的是:進(jìn)行這些操作,必須是在DB啟動(dòng)的時(shí)候,否則會(huì)彈出“ORACLE not available”錯(cuò)誤。)
 
3.關(guān)閉數(shù)據(jù)庫

4.在操作系統(tǒng)中將已有的控制文件復(fù)制,修改名稱保存到剛才增加控制文件的指定位置。(這步必須做的,否則數(shù)據(jù)庫無法啟動(dòng))

5.重新啟動(dòng)控制文件,使控制文件改變生效。

管理控制文件

備份控制文件

  1. SQL> alter database backup controlfile to ‘d:\20080326.ctl’ 

數(shù)據(jù)庫已更改。

然后從這個(gè)備份的位置直接把文件拷貝回之前的目錄覆蓋就好了。

刪除控制文件(刪除某一路的控制文件)

spfile文件

1.利用SYS帳號(hào)登陸SQL*PLUS,查詢一下控制文件信息視圖

  1. SQL>select name from v$controlfile;  

結(jié)果顯示為:

  1. NAME  
  2. ----------------------------------  
  3. d:oracleoradataoradb01control01.ctl  
  4. e:oracleoradataoradb01control02.ctl  
  5. f:oracleoradataoradb01control03.ctl  
  6. g:oracleoradataoradb01control04.ctl  
  7. 這里列出了控制文件的名稱以及位置  
  8. 2.更改spfile中控制文件的信息,刪除一個(gè)新的控制文件  
  9. SQL>alter system set control_files=  
  10. 'd:oracleoradataoradb01control01.ctl',  
  11. 'e:oracleoradataoradb01control02.ctl',  
  12. 'f:oracleoradataoradb01control03.ctl',  
  13. scope=spfile 
  14.  

結(jié)果顯示為:

系統(tǒng)已經(jīng)更改。

3.關(guān)閉數(shù)據(jù)庫

4.在操作系統(tǒng)中刪除控制文件

5.重新啟動(dòng)數(shù)據(jù)庫,使控制文件生效

【編輯推薦】

  1. 修改Oracle存儲(chǔ)過程所需代碼
  2. 對(duì)Oracle存儲(chǔ)過程的總結(jié)
  3. 實(shí)現(xiàn)Oracle存儲(chǔ)過程的實(shí)際應(yīng)用的代碼 
  4. 深入高性能的Oracle動(dòng)態(tài)SQL開發(fā) 
  5. Oracle SQL的優(yōu)化規(guī)則解析 
責(zé)任編輯:佚名 來源: 地三鮮的個(gè)人空間
相關(guān)推薦

2012-07-31 09:55:50

時(shí)間管理管理

2010-04-14 17:11:13

Oracle管理

2010-10-26 10:24:06

Oracle控制文件

2011-04-12 13:08:42

Oracle虛擬專用數(shù)據(jù)

2010-11-19 13:01:31

Oracle日志文件

2016-12-12 16:17:22

華為

2010-10-29 14:20:54

Oracle移動(dòng)控制文

2010-11-19 11:51:40

Oracle密碼文件

2015-07-23 09:19:31

虛擬化

2011-08-02 08:59:52

Oracle控制文件

2010-04-27 14:18:56

Oracle控制文件

2010-04-09 17:35:22

2009-06-29 18:09:12

多路復(fù)用Oracle

2017-03-14 15:26:28

云日志安全管理

2011-05-26 15:27:08

Oracle數(shù)據(jù)庫

2011-04-12 10:42:41

Oracle日志文件管理

2010-04-19 16:09:22

Oracle控制文件

2014-04-14 15:27:01

2024-01-03 09:07:50

文件存儲(chǔ)分塊文件存儲(chǔ)分片Net開發(fā)

2019-12-24 09:39:06

Kubernetes工具微服務(wù)
點(diǎn)贊
收藏

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