SQL> SELECT group#, sequence#, bytes, members, status
2 FROM V$LOG;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 411 1048576 2 INACTIVE
2 412 1048576 2 INACTIVE
3 413 1048576 2 INACTIVE
5 414 1048576 2 CURRENT
SQL> select * from v$logfile
2 ORDER BY GROUP#;
GROUP# STATUS MEMBER
---------- ------- ----------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG
8 rows selected
SQL>
爲了模擬日誌組中有一個成員損壞的情況,我們打開文本編輯器,並且破壞E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG文件,然後,我們看到:
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- -------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
5 INVALID E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG
8 rows selected
SQL>
|
SQL> shutdown
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> host
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版權所有 1985-2000 Microsoft Corp.
E:/>COPY E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG E:/ORACLE1/ORA81/ORADATA/TEST/
REDO07.LOG
改寫 E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG 嗎? (Yes/No/All): YES
已複製 1 個文件。
上面這一步需要注意的是,如果新的日誌文件的位置或文件名稱需要改變(如,介質失效),則在數據庫加載(Startup Mount)後需要對這個改變位置或名稱的日誌文件重命名,然後再打開數據,具體過程參見“重新定位或者重命名聯機重做日誌文件”。
E:/>exit
SQL> startup
ORACLE 例程已經啓動。
Total System Global Area 36214812 bytes
Fixed Size 75804 bytes
Variable Size 19283968 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- ------------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
5 UNKNOWN E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
5 STALE E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG
8 rows selected
SQL> alter system switch logfile;
System altered
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- -------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG
8 rows selected
SQL>
然後,看到一切正常了,則完全關閉數據(Normal),進行一個冷備份。
上面關於日誌文件損壞和修復的相關部分會被記錄在Alert.log文件中。
|
SQL> ALTER DATABASE DROP LOGFILE MEMBER 'E:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG';
Database altered
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- -----------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
5 E:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
7 rows selected
SQL>
|
SQL> ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE
ORA-00313: 無法打開日誌組 (線程 ) 的成員
SQL> STARTUP MOUNT
ORACLE 例程已經啓動。
Total System Global Area 36214812 bytes
Fixed Size 75804 bytes
Variable Size 19283968 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
數據庫裝載完畢。
SQL> ALTER DATABASE
2 DROP LOGFILE GROUP 5;
數據庫已更改。
SQL> ALTER DATABASE OPEN;
數據庫已更改。
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- -------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 STALE D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 STALE E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
6 rows selected
SQL>
然後,看到一切正常了,則完全關閉數據(Normal),進行一個冷備份。
上面關於日誌文件損壞和修復的相關部分會被記錄在Alert.log文件中。
|
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- --------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
4 F:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
4 F:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG
8 rows selected
|
SQL> SELECT group#, sequence#, bytes, members, status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 440 1048576 2 INACTIVE
2 442 1048576 2 CURRENT
3 439 1048576 2 INACTIVE
4 441 1048576 2 INACTIVE
|
SQL> alter database drop logfile member 'F:/ORACLE1/ORA81/ORADATA/TEST/REDO08.LOG';
Database altered
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- ------------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
4 F:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
7 rows selected
SQL>
|
SQL> ALTER DATABASE CLEAR LOGFILE
2 'F:/oracle1/ora81/oradata/test/REDO07.LOG';
ALTER DATABASE CLEAR LOGFILE
*
ERROR 位於第 1 行:
ORA-12571: TNS:packet writer failure
SQL> conn intenral@test
請輸入口令:
ERROR:
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL>
|
SQL> exit
E:/>sqlplus internal
SQL*Plus: Release 8.1.7.0.0 - Production on 星期一 10月 7 23:46:17 2002
(c) Copyright 2000 Oracle Corporation. All rights reserved.
連接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
|
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啓動。
Total System Global Area 36214812 bytes
Fixed Size 75804 bytes
Variable Size 19283968 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
數據庫裝載完畢。
|
SQL> alter database clear logfile group 4;
數據庫已更改。
SQL> alter database open;
數據庫已更改。
SQL>
|
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- ---------------------------------------------------------
1 STALE D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 STALE E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
4 F:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
7 rows selected
SQL> SELECT group#, sequence#, bytes, members, status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 448 1048576 2 INACTIVE
2 446 1048576 2 INACTIVE
3 447 1048576 2 INACTIVE
4 449 1048576 1 CURRENT
SQL> alter system switch logfile;
System altered
SQL> SELECT group#, sequence#, bytes, members, status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 448 1048576 2 INACTIVE
2 450 1048576 2 CURRENT
3 447 1048576 2 INACTIVE
4 449 1048576 1 ACTIVE
SQL>
|
SQL> SELECT group#, sequence#, bytes, members, status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 452 1048576 2 INACTIVE
2 450 1048576 2 INACTIVE
3 451 1048576 2 INACTIVE
4 453 1048576 1 CURRENT
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- ---------------------------------------------------------
1 D:/ORACLE1/ORA81/ORADATA/TEST/REDO01.LOG
2 D:/ORACLE1/ORA81/ORADATA/TEST/REDO02.LOG
3 D:/ORACLE1/ORA81/ORADATA/TEST/REDO03.LOG
1 E:/ORACLE1/ORA81/ORADATA/TEST/REDO04.LOG
2 E:/ORACLE1/ORA81/ORADATA/TEST/REDO05.LOG
3 E:/ORACLE1/ORA81/ORADATA/TEST/REDO06.LOG
4 F:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG
7 rows selected
SQL>
|
SQL> alter database open;
alter database open
*
ERROR 位於第 1 行:
ORA-00313: ??????? 4 (?? 1) ???
ORA-00312: ???? 4 ?? 1: 'F:/ORACLE1/ORA81/ORADATA/TEST/REDO07.LOG'
SQL>
|
SQL> shutdown
ORA-01109: ??????
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啓動。
Total System Global Area 36214812 bytes
Fixed Size 75804 bytes
Variable Size 19283968 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
數據庫裝載完畢。
|
SQL> recover database until cancel;
完成介質恢復。
SQL> alter database open resetlogs;
數據庫已更改。
SQL>
SQL> archive log list
數據庫日誌模式 存檔模式
自動存檔 啓用
存檔終點 d:/oracle1/ora81/oradata/test/archive
最早的概要信息日誌序列 1
下一個存檔日誌序列 1
當前日誌序列 1
SQL>
|