當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌
當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌
版權宣告:本文為博主原創文章,未經博主允許不得轉載。
當Oracle 歸檔日誌滿了後,將無法正常登入ORACLE,需要刪除一部分歸檔日誌才能正常登入ORACLE。
一、首先刪除歸檔日誌物理檔案,歸檔日誌一般都是位於archive目錄下,AIX系統下檔案格式為“1_17884_667758186.dbf”,建議操作前先對資料庫進行備份,刪除時至少保留最近幾天的日誌用於資料庫恢復。
二、把歸檔日誌的物理檔案刪除後,我們就可以正常登入ORACLE了,但是還沒完全把歸檔日誌刪除乾淨,ORACLE的controlfile中仍然記錄著這些archivelog的資訊,在oracle的OEM管理器中有視覺化的日誌展現出,當我們手工清除archive目錄下的檔案後,這些記錄並沒有被我們從controlfile中清除掉,接下去我們要做的就是這個工作。
我們利用RMAN進行刪除操作,操作步驟如下:(window客戶端系統為例)
1.指定資料庫例項
C:/Documents and Settings/Administrator>SET ORACLE_SID =orcl
2.連線資料庫
C:/Documents and Settings/Administrator>RMAN TARGET SYS/sysadmin@orcl
3.檢視歸檔日誌的狀態
RMAN> list archivelog all;
4.手工刪除歸檔日誌檔案
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
說明:
SYSDATA-7,表明當前的系統時間7天前,before關鍵字表示在7天前的歸檔日誌,如果使用了閃回功能,也會刪除閃回的資料。
同樣道理,也可以刪除從7天前到現在的全部日誌,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份資料庫
DELETE ARCHIVELOG from TIME 'SYSDATE-7'; 刪除從7天前到現在的全部日誌,慎用
UNIX/Linux下也可以通過FIND找到7天前的歸檔資料,使用EXEC子操作刪除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
這樣做仍然會在RMAN裡留下未管理的歸檔檔案
仍需要在RMAN裡執行下面2條命令
crosscheck archivelog all;
delete expired archivelog all;
所以還不如上面的方法好用,不過用FIND的好處就是,可以在條件上,和EXEC子項上做很多操作,實現更復雜的功能
5.退出rman
RMAN> exit
附帶說明:RMAN 是Oracle資料庫軟體自帶的備份恢復工具,一種是類似於DOS,通過鍵盤操作的 命令列方式。
通過RMAN連線本地資料庫非常簡單,以 W indows 平臺為例,進入到命令提示符介面:
C:/Documents and Settings/junsansi> SET ORACLE_SID =jssbook
C:/Documents and Settings/junsansi> RMAN TARGET /
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 21:12:17 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: JSSBOOK (DBID=1415261003)
RMAN>如上所示,使用RMAN連線本地資料庫之前必須首先設定作業系統環境變數:ORACLE_SID,並指定該值等於目標資料庫的例項名。如果本地庫只有一個例項並已經設定了ORACLE_SID環境變數,則不需要再指定ORACLE_SID。RMAN會自動連線到預設例項。
當然,你也可以先啟動RMAN,然後再通過CONNECT命令來連線目標資料庫,如下所示:
C:/Documents and Settings/junsansi> RMAN
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 21:12:36 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target /
connected to target database: JSSBOOK (DBID=1415261003)本地連線允許使用作業系統驗證,因此上述示例都不需要輸入使用者名稱和密碼,不過如果本地沒有啟用作業系統身份驗證的話,就必須指定具有相應許可權的使用者名稱和密碼。
需要注意,Linux/UNIX 環境下設定作業系統環境變數應使用 export 命令,另外ORACLE_SID必須為大寫。例如:
[oracle@yans1 ~ ]$ export ORACLE_SID=test08
[oracle@yans1 ~ ]$ rman target /
Recovery Manager: Release 10.2.0.3.0 - Production on Tue Mar 17 16:08:32 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: TEST08 (DBID=3812548755)
RMAN>
連線遠端資料庫
如果要連線的目標資料庫是一個遠端資料庫,那麼必須在建立連線時指定一個有效的網路服務名(Net Service Name),本地的tnsname.ora檔案中必須已經建立了該網路服務名的正確配置。連線示例如下:
C:/Documents and Settings/junsansi> RMAN TARGET SYS/CHANGE_ON_INSTALL@TESTDB
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 17 16:12:32 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: TESTDB (DBID=2220262593)
RMAN>
本文轉自xiaocao1314051CTO部落格,原文連結:http://blog.51cto.com/xiaocao13140/1932962 ,如需轉載請自行聯絡原作者
相關文章
- 如何正確刪除ORACLE歸檔日誌檔案Oracle
- oracle刪除歸檔日誌Oracle
- Oracle歸檔日誌刪除Oracle
- 用rman 正確地刪除歸檔日誌
- 刪除歸檔日誌檔案
- 歸檔日誌的刪除
- 誤刪歸檔日誌除導致備份歸檔日誌失敗
- 刪除data guard歸檔日誌
- 手動刪除歸檔日誌
- 作用RMAN 刪除歸檔日誌
- oracle 刪除過期的歸檔日誌Oracle
- oracle dataguard 自動刪除歸檔日誌Oracle
- 【Oracle】 rman 刪除歸檔日誌的命令Oracle
- 如何定期自動刪除歸檔日誌
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- RMAN delete archivelog命令刪除歸檔日誌及歸檔日誌拷貝deleteHive
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- 刪除歸檔,保留最近的5個歸檔日誌
- 歸檔日誌滿造成資料庫當機資料庫
- 歸檔oracle alert日誌Oracle
- Oracle歸檔日誌清理Oracle
- rman刪除歸檔日誌命令集
- crontab不能自動刪除歸檔日誌
- 歸檔日誌刪除的五種方法
- 【警鐘】謹慎刪除歸檔日誌
- 歸檔日誌
- oracle歸檔切換以及歸檔日誌滿報錯問題Oracle
- rac+dg環境刪除歸檔日誌
- rman刪除舊的歸檔日誌問題
- ORA-00257 (線上更改歸檔路徑,刪除歸檔日誌)
- Oracle RMAN 清除歸檔日誌Oracle
- ORACLE 歸檔日誌資訊sqlOracleSQL
- Oracle RMAN清除歸檔日誌Oracle
- Oracle歸檔日誌管理技巧Oracle