Oracle數(shù)據(jù)庫(kù)環(huán)境詳解
我們今天要闡述下測(cè)試環(huán)境中的Oracle數(shù)據(jù)庫(kù)環(huán)境,的相關(guān)模式在模擬某些文件丟失后,你怎樣運(yùn)用Oracle數(shù)據(jù)庫(kù)對(duì)其進(jìn)行調(diào)整,以下就是其相關(guān)的具體操作方法,希望同大家一起分享。
一、先闡述下測(cè)試環(huán)境
系統(tǒng)數(shù)據(jù)庫(kù)環(huán)境:window+Oracle10g R2+archive模式;
模擬Redo文件丟失,Oracle數(shù)據(jù)庫(kù)在正常關(guān)閉的情況發(fā)現(xiàn)Redo丟失了;
二、測(cè)試
(1)、倘若丟了一個(gè)或多個(gè)redo組的一個(gè)成員。這種情況***處理,直接copy其它目錄的成員,重新啟動(dòng)數(shù)據(jù)庫(kù)即可。此種情況不作太多的說明;
(2)、倘若丟失的是一組或兩組甚至全部Redo日志丟失,則有以下三種方法可以恢復(fù);
A、clear logfile方法(以下的測(cè)試均屬于是redo日志全部丟失的環(huán)境下)
1、關(guān)閉數(shù)據(jù)庫(kù);
2、手動(dòng)刪除所有redo文件;
3、啟動(dòng)數(shù)據(jù)庫(kù);
SQL> startup
Oracle 例程已經(jīng)啟動(dòng)。
- Total System Global Area 612368384 bytes
 - Fixed Size 1250428 bytes
 - Variable Size 255855492 bytes
 - Database Buffers 348127232 bytes
 - Redo Buffers 7135232 bytes
 
Oracle數(shù)據(jù)庫(kù)裝載完畢。
ORA-00313: 無法打開日志組 1 (用于線程 1) 的成員
ORA-00312: 聯(lián)機(jī)日志 1 線程 1:
- 'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
 
ORA-00312: 聯(lián)機(jī)日志 1 線程 1: 'F:\REDO\REDO01_B.LOG'
SQL>
4、查看當(dāng)前日志狀態(tài);
- SQL> select group#,members,archived,status from v$log;
 - GROUP# MEMBERS ARC STATUS
 - 1 2 YES INACTIVE
 - 2 2 NO CURRENT
 - 3 2 YES INACTIVE
 - SQL>
 
5、clear生成非當(dāng)前的日志;
- SQL>alter database clear logfile group1;
 
Oracle數(shù)據(jù)庫(kù)已更改。
- SQL>
 
6、繼續(xù)打開數(shù)據(jù)庫(kù);
- SQL> alter database open;
 - alter database open
 - *
 
第 1 行出現(xiàn)錯(cuò)誤:
ORA-00313: 無法打開日志組 2 (用于線程 1) 的成員
ORA-00312: 聯(lián)機(jī)日志 2線程 1:
- 'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
 
ORA-00312: 聯(lián)機(jī)日志 3 線程 1: 'F:\REDO\REDO02_B.LOG'
- SQL>
 - SQL> alter database clear logfile group 2;
 - alter database clear logfile group 2*
 
第 1 行出現(xiàn)錯(cuò)誤:
ORA-00350: 日志 2(實(shí)例 orcl 的日志, 線程 1) 需要?dú)w檔
ORA-00312: 聯(lián)機(jī)日志 2 線程 1:
- 'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
 
ORA-00312: 聯(lián)機(jī)日志 2 線程 1: 'F:\REDO\REDO02_B.LOG'
報(bào)錯(cuò);因?yàn)間roup2是當(dāng)前狀態(tài);
此時(shí)只能從其它目錄copy有效備份。然后在alter database;
- SQL>alter database clear unarchived logfile group2;
 
數(shù)據(jù)庫(kù)已更改。
然后再重建Group 3,方法同重建 Group 1;
- SQL> alter database clear logfile group 3;
 
Oracle數(shù)據(jù)庫(kù)已更改。
- SQL> alter database open;
 
數(shù)據(jù)庫(kù)已更改。
注意:倘若沒有物理有效備份文件,數(shù)據(jù)庫(kù)則將無法打開;用clear logifle這種方法,對(duì)于處于CURRENT狀態(tài)的Redo,只能通過COPY有效的物理備份去打開數(shù)據(jù)庫(kù),否則無法打開;
【編輯推薦】















 
 
 
 
 
 
 