【ARCHIVE】使用startup mount force啟動資料庫後無法修改歸檔模式的模擬

secooler發表於2010-03-02
如果您需要調整資料庫的歸檔模式,在啟動資料庫之前,資料庫一定要保證“徹底關閉”,否則歸檔模式是不允許修改的。
簡單模擬一下。

1.檢視資料庫歸檔模式
$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Wed Mar 3 00:10:42 2010

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

sys@ora10g> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     17
Current log sequence           19

2.使用“startup mount force”啟動資料庫到mount狀態(相當於一次異常斷電後的重啟)
sys@ora10g> startup mount force;
ORACLE instance started.

Total System Global Area  104857600 bytes
Fixed Size                  1289172 bytes
Variable Size              88081452 bytes
Database Buffers            8388608 bytes
Redo Buffers                7098368 bytes
Database mounted.

3.此時如果修改歸檔模式將會收到“ORA-00265”的報錯
sys@ora10g> alter database archivelog;
alter database archivelog
*
ERROR at line 1:
ORA-00265: instance recovery required, cannot set ARCHIVELOG mode

原因很簡單,資料庫沒有處於一個穩定一致的狀態,因此無法完成歸檔模式的調整。

4.正確的調整方法如下
1)先OPEN資料庫
sys@ora10g> alter database open;

Database altered.

2)使用“shutdown immediate”徹底關閉資料庫
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

3)將資料庫啟動到mount狀態
sys@ora10g> startup mount;
ORACLE instance started.

Total System Global Area  104857600 bytes
Fixed Size                  1289172 bytes
Variable Size              88081452 bytes
Database Buffers            8388608 bytes
Redo Buffers                7098368 bytes
Database mounted.

4)調整資料庫的歸檔模式
sys@ora10g> alter database archivelog;

Database altered.

成功!

5)OPEN資料庫
sys@ora10g> alter database open;

Database altered.

6)最後確認資料庫已處於歸檔模式
sys@ora10g> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     18
Next log sequence to archive   20
Current log sequence           20

5.小結
技術的每一個細節都值得去嘗試和推敲。做過了,思考了,也就得到了。

Good luck.

secooler
10.03.02

-- The End --

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-628442/,如需轉載,請註明出處,否則將追究法律責任。

相關文章