alter system archive log current和alter system switch logfile
我們都知道在自動歸檔的資料庫中,這兩個命令幾乎產生的結果是一樣的。來看看oracle的解釋:
ALTER SYSTEM SWITCH LOGFILE ;
SWITCH LOGFILE Clause
The SWITCH LOGFILE clause lets you explicitly force Oracle to begin writing to a new redo log file group, regardless of whether the files in the current redo log file group are full. When you force a log switch, Oracle begins to perform a checkpoint but returns control to you immediately rather than when the checkpoint is complete. To use this clause, your instance must have the database open.
SWITCH LOGFILE Clause
The SWITCH LOGFILE clause lets you explicitly force Oracle to begin writing to a new redo log file group, regardless of whether the files in the current redo log file group are full. When you force a log switch, Oracle begins to perform a checkpoint but returns control to you immediately rather than when the checkpoint is complete. To use this clause, your instance must have the database open.
ALTER SYSTEM ARCHIVE LOG CURRENT ;
CURRENT Clause
Specify CURRENT to manually archive the current redo log file group of the specified thread, forcing a log switch. If you omit the THREAD parameter, then Oracle archives all redo log file groups from all enabled threads, including logs previous to current logs. You can specify CURRENT only when the database is open.
CURRENT Clause
Specify CURRENT to manually archive the current redo log file group of the specified thread, forcing a log switch. If you omit the THREAD parameter, then Oracle archives all redo log file groups from all enabled threads, including logs previous to current logs. You can specify CURRENT only when the database is open.
ALTER SYSTEM ARCHIVE LOG CURRENT NOSWITCH;
NOSWITCH
Specify NOSWITCH if you want to manually archive the current redo log file group without forcing a log switch. This setting is used primarily with standby databases to prevent data divergence when the primary database shuts down. Divergence implies the possibility of data loss in case of primary database failure.
NOSWITCH
Specify NOSWITCH if you want to manually archive the current redo log file group without forcing a log switch. This setting is used primarily with standby databases to prevent data divergence when the primary database shuts down. Divergence implies the possibility of data loss in case of primary database failure.
You can use the NOSWITCH clause only when your instance has the database mounted but not open. If the database is open, then this operation closes the database automatically. You must then manually shut down the database before you can reopen it
我們首先要明白兩個事實:
一個就是在logfile switch的時候會觸發arch程式,即通知歸檔程式說那個日誌可以歸檔了。
另一個是logfile switch的時候會觸發ckpt程式。而ckpt程式又會觸發dbwr程式。dbwr程式會把上一個redo中保護的儲藏在buffer cache中的dirty buffer全部寫回磁碟。然後,ckpt程式紀錄scn到controlfile中,這時會把redo log的狀態由active 變成inactive。
由此我們可以看出處於inactive狀態的redo log對於instance recovery是沒有用處了。但是它可能對於meda recovery還有用處,因為處於inactive狀態的redo log可能已經歸檔,也可能沒有歸檔。
出現 checkpoint not complete,unable to allocate new redo log file的錯誤,是因為lgwr要覆蓋一個其上檢查點過程沒有結束的日誌檔案,lgwr會等待dbwr完成,同時出現此錯誤。出現這個錯誤的原因,大概有幾點,一個是dbwr寫出速度太慢,一個是buffer cache中的髒資料太多。即事務太頻繁,另一個也可能是日誌太小,或日誌組太少導致的。
[@more@]alter system archive log current和alter system switch logfile
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-912862/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- alter system switch logfile和alter system archive log current的區別Hive
- alter system switch logfile 和 alter system archive log current 的區別Hive
- [轉]alter system switch logfile和alter system archive log current的區別Hive
- alter system archive log current / all / switch logfileHive
- zt:alter system switch logfile與ALTER SYSTEM ARCHIVE LOG CURRENT的區別Hive
- ALTER SYSTEM SWITCH LOGFILE ALTER SYSTEM ARCHIVELOG CURRENT 區別Hive
- alter system archive log current noswitch!!Hive
- alter system switch log file 與 archive log current/all 區別Hive
- [alter system dump學習1]alter system dump logfile
- alter system switch logfile hang住的一種可能
- alter system switch logfile的執行時間是多久。
- alter system switch logfile手工日誌切換小記
- oracle switch logfile日誌切換及alter system checkpoint作了什麼Oracle
- alter database和alter system和alter session的區別DatabaseSession
- alter system events與alter system event的區別
- Alter system in OracleOracle
- 在oracle10g執行alter system switch logfile並未開啟自動歸檔Oracle
- alter system kill sessionSession
- 在使用alter system switch log的時候無時間限制的等待
- 忍不住問下alter system 和alter database的區別Database
- alter system check datafiles 命令
- alter session|system set eventsSession
- 通過 alter system dump logfile語句dump REDO及歸檔日誌資訊示例
- alter system dump datafile headerHeader
- ALTER SYSTEM DISCONNECT SESSION ClauseSession
- alter system kill session 不成功Session
- ALTER DATABASE CLEAR UNARCHIVED LOGFILE的使用DatabaseHive
- alter system set event和set events的區別
- Alter system suspend/resume 導致的bug和特性
- alter system set events 相關知識
- alter system set events 知識 [final]
- oracle中Alter system 命令的總結Oracle
- alter system set events相關知識:
- alter system set events相關知識
- UNRECOVERABLE DATAFILE clause in the ALTER DATABASE CLEAR LOGFILE statementDatabase
- 【Oracle】alter system set events 相關知識Oracle
- ALTER SYSTEM KILL SESSION這麼沒力?(轉)Session
- alter database archivelog manual__導致oracle10g switch logfile不自動歸檔DatabaseHiveOracle