重建控制檔案的案例(RESETLOGS模式和NORESETLOGS模式)
本案例分兩種情況:歸檔模式和非歸檔模式。在每種模式下采用兩種重建方式,即resetlogs和noresetlogs。
一、archived模式下:
SQL> archive log list
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 C:oracleoradataarchora9i
最早的概要日誌序列 1
下一個存檔日誌序列 2
當前日誌序列 2
SQL>
1、noresetlogs方式
注意:all online logs are available
將所有的控制檔案刪除掉後執行重建控制檔案指令碼,日誌如下:
SQL> STARTUP NOMOUNT
ORACLE 例程已經啟動。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" NORESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'C:ORACLEORADATAORA9IREDO01.LOG' SIZE 10M,
10 GROUP 2 'C:ORACLEORADATAORA9IREDO02.LOG' SIZE 10M,
11 GROUP 3 'C:ORACLEORADATAORA9IREDO03.LOG' SIZE 10M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'C:ORACLEORADATAORA9ISYSTEM01.DBF',
15 'C:ORACLEORADATAORA9IUNDOTBS01.DBF',
16 'C:ORACLEORADATAORA9IRMAN.DBF',
17 'C:ORACLEORADATAORA9IDRSYS01.DBF',
18 'C:ORACLEORADATAORA9IEXAMPLE01.DBF',
19 'C:ORACLEORADATAORA9ITEST1.DBF',
20 'C:ORACLEORADATAORA9IODM01.DBF',
21 'C:ORACLEORADATAORA9ITEST2.DBF',
22 'C:ORACLEORADATAORA9IXDB01.DBF',
23 'C:ORACLEORADATAORA9IPORTAL.DBF'
24 CHARACTER SET ZHS16GBK;
控制檔案已建立
SQL>
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
系統已更改。
SQL>
SQL> ALTER DATABASE OPEN;
資料庫已更改。
SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:ORACLEORADATAORA9ITEMP01.DBF'
2 SIZE 20971520 REUSE AUTOEXTEND OFF;
表空間已更改。
SQL>
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL>
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
C:ORACLEORADATAORA9ICONTROL01.CTL
C:ORACLEORADATAORA9ICONTROL02.CTL
C:ORACLEORADATAORA9ICONTROL03.CTL
SQL>
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:ORACLEORADATAORA9IREDO01.LOG
C:ORACLEORADATAORA9IREDO03.LOG
C:ORACLEORADATAORA9IREDO02.LOG
SQL>
SQL> archive log list
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 C:oracleoradataarchora9i
最早的概要日誌序列 1
下一個存檔日誌序列 3
當前日誌序列 3
SQL>
可看到,日誌group的sequence並沒有從1開始計數。
1、resetlogs方式
注意:online logs are damaged.
將所有的控制檔案和日誌檔案都刪除掉後執行重建控制檔案指令碼,日誌如下:
SQL> STARTUP NOMOUNT
ORACLE 例程已經啟動。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" RESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'C:ORACLEORADATAORA9IREDO01.LOG' SIZE 10M,
10 GROUP 2 'C:ORACLEORADATAORA9IREDO02.LOG' SIZE 10M,
11 GROUP 3 'C:ORACLEORADATAORA9IREDO03.LOG' SIZE 10M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'C:ORACLEORADATAORA9ISYSTEM01.DBF',
15 'C:ORACLEORADATAORA9IUNDOTBS01.DBF',
16 'C:ORACLEORADATAORA9IRMAN.DBF',
17 'C:ORACLEORADATAORA9IDRSYS01.DBF',
18 'C:ORACLEORADATAORA9IEXAMPLE01.DBF',
19 'C:ORACLEORADATAORA9ITEST1.DBF',
20 'C:ORACLEORADATAORA9IODM01.DBF',
21 'C:ORACLEORADATAORA9ITEST2.DBF',
22 'C:ORACLEORADATAORA9IXDB01.DBF',
23 'C:ORACLEORADATAORA9IPORTAL.DBF'
24 CHARACTER SET ZHS16GBK;
控制檔案已建立
SQL>
SQL> prompt RECOVER DATABASE USING BACKUP CONTROLFILE
RECOVER DATABASE USING BACKUP CONTROLFILE
SQL>
SQL> ALTER DATABASE OPEN RESETLOGS;
資料庫已更改。
SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:ORACLEORADATAORA9ITEMP01.DBF'
2 SIZE 20971520 REUSE AUTOEXTEND OFF;
表空間已更改。
SQL>
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL>
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>
SQL>
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
C:ORACLEORADATAORA9ICONTROL01.CTL
C:ORACLEORADATAORA9ICONTROL02.CTL
C:ORACLEORADATAORA9ICONTROL03.CTL
SQL>
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:ORACLEORADATAORA9IREDO03.LOG
C:ORACLEORADATAORA9IREDO02.LOG
C:ORACLEORADATAORA9IREDO01.LOG
SQL>
SQL> archive log list
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 C:oracleoradataarchora9i
最早的概要日誌序列 0
下一個存檔日誌序列 1
當前日誌序列 1
SQL>
可看到,日誌group的sequence又開始從1開始計數。
二、非歸檔模式下:
先將資料庫由歸檔模式改為非歸檔模式,具體操作如下:
SQL> archive log list
資料庫日誌模式 存檔模式
自動存檔 啟用
存檔終點 C:oracleoradataarchora9i
最早的概要日誌序列 2
下一個存檔日誌序列 4
當前日誌序列 4
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> alter database noarchivelog;
alter database noarchivelog
*
ERROR 位於第 1 行:
ORA-01507: ??????
SQL> alter database mount;
資料庫已更改。
SQL> alter database noarchivelog;
資料庫已更改。
SQL> alter database open;
資料庫已更改。
SQL> archive log list
資料庫日誌模式 非存檔模式
自動存檔 啟用
存檔終點 C:oracleoradataarchora9i
最早的概要日誌序列 2
當前日誌序列 4
SQL>
1、noresetlogs方式
同歸檔模式下的noresetlogs方式
2、resetlogs方式
同非歸檔模式下的resetlogs方式
從這裡再一次可看出重建控制檔案跟資料庫是否歸檔沒有直接的關係。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38542/viewspace-914028/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql 重建控制檔案resetlogs和noresetlogsSQL
- Controlfile 重建控制檔案 noresetlogs, resetlogs..
- 重建控制檔案時resetlogs與noresetlogs的使用情況
- 重建控制檔案的恢復(noresetlogs)
- 使用NORESETLOGS重建控制檔案恢復資料庫資料庫
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 使用RESETLOGS重建控制檔案恢復資料庫資料庫
- 使用RESETLOGS重建控制檔案恢復資料庫(二)資料庫
- 重建控制檔案
- 重建控制檔案--
- Oracle 控制檔案的重建Oracle
- Oracle RESETLOGS 和 NORESETLOGS 區別說明Oracle
- Oracle重建控制檔案Oracle
- DataGuard重建控制檔案
- oracle 重建控制檔案Oracle
- 如何重建RAC的控制檔案
- ORACLE控制檔案的重建 (轉)Oracle
- 所有控制檔案損壞的恢復--noresetlogs方式
- 利用trace重建控制檔案
- RAC環境重建控制檔案
- 控制檔案重建以及備份
- 所有控制檔案損壞的恢復--resetlogs方式
- 重建Oracle資料庫控制檔案Oracle資料庫
- 歸檔模式有備份丟失控制檔案和資料檔案後恢復模式
- oracle10g_備份控制檔案_得到重建控制檔案的指令碼Oracle指令碼
- 恢復控制檔案避免使用resetlogs選項
- 備份與恢復--重建控制檔案
- 重建控制檔案 recreate control file
- 控制檔案損壞重建實驗(上)
- 控制檔案損壞重建實驗(下)
- 用重建控制檔案的方法修改oracle資料檔案路徑Oracle
- 控制檔案重建後的不完全恢復
- oracle之 利用 controlfile trace檔案重建控制檔案Oracle
- 重建控制檔案後某些檔案被命名為MISSINGnnnnnGNN
- 請教關於利用跟蹤檔案重建控制檔案
- Oracle歸檔模式和非歸檔模式Oracle模式
- Oracle 11g重建控制檔案——如何獲取建立控制檔案指令碼Oracle指令碼
- Oracle歸檔模式和非歸檔模式的區別Oracle模式