1. 程式人生 > >使用RMAN刪除歸檔日誌和閃回日誌

使用RMAN刪除歸檔日誌和閃回日誌

ORACLE正確刪除歸檔並回收空間的方法
一 個ORACLE歸檔日誌經常滿,表現為/oraarchive 這個檔案空間佔用100%大家一定抱怨ORACLE為何沒有歸檔維護工具,很多人直接刪除了事,錯了,ORACLE有,而且很智慧,可以正確的刪除歸檔和 FLASHBACK,不過切記,ORACLE歸檔日誌對於ORACLE的資料恢復和備份 非常重要,不到萬不得已不要刪除歸檔日誌。
刪除歸檔日誌的過程
以ORACLE使用者身份登入到資料庫 伺服器主機或通過網路連線
進入ORACLE資料備份工具
rman target/
或rman target/@orcl
在命令窗口裡面執行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
說明
SYSDATA-7,表明當前的系統時間7天前,before關鍵字表示在7天前的歸檔日誌,如果使用了閃回功能,也會刪除閃回的資料。
同樣道理,也可以刪除從7天前到現在的全部日誌,不過這個命令要考慮清楚,做完這個刪除,最好馬上進行全備份資料庫
DELETE ARCHIVELOG FROM TIME 'SYSDATE-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子項上做很多操作,實現更復雜的功能

3.簡要介紹一下report obsolete命令

使用report obsolete命令報告過期備份

RMAN> report obsolete;

RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

Report of obsolete backups and copies

Type Key Completion Time Filename/Handle

-------------------- ------ ------------------ --------------------

Backup Set 125 01-NOV-04
Backup Piece 125 01-NOV-04 /data1/oracle/orabak/full_1_541045804
Backup Set 131 04-NOV-04
Backup Piece 131 04-NOV-04 /data1/oracle/orabak/full_AVATAR2_20041104_131

....

Backup Set 173 06-DEC-04
Backup Piece 173 06-DEC-04 /data1/oracle/orabak/full_AVATAR2_20041206_173
Backup Set 179 11-DEC-04
Backup Piece 179 11-DEC-04 /data1/oracle/orabak/arch544588206.arc


.....

Backup Piece 189 17-DEC-04 /data1/oracle/orabak/arch545106606.arc
Backup Set 190 17-DEC-04
Backup Piece 190 17-DEC-04 /data1/oracle/orabak/arch545106665.arc
Backup Set 191 20-DEC-04
Backup Piece 191 20-DEC-04 /data1/oracle/orabak/arch_AVATAR2_20041220_194
Archive Log 2973 20-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2985.dbf
Archive Log 2971 20-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2984.dbf

.....

Archive Log 2705 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2717.dbf
Archive Log 2704 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive Log 2703 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive Log 2702 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2714.dbf

4.使用delete obsolete命令刪除過期備份:

RMAN> delete obsolete;


RMAN retention policy will be applied to the command

RMAN retention policy is set to redundancy 1

using channel ORA_DISK_1

Deleting the following obsolete backups and copies:

Type Key Completion Time Filename/Handle
-------------------- ------ ----------------------- --------------------
Backup Set 125 01-NOV-04
Backup Piece 125 01-NOV-04 /data1/oracle/orabak/full_1_541045804

....

Archive Log 2704 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2716.dbf
Archive Log 2703 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2715.dbf
Archive Log 2702 17-DEC-04 /opt/oracle/oradata/avatar2/archive/1_2714.dbf


Do you really want to delete the above objects (enter YES or NO)? yes

deleted backup piece

backup piece handle=/data1/oracle/orabak/full_AVATAR2_20041206_173 recid=173 stamp=544156241

.....


deleted archive log
archive log filename=/opt/oracle/oradata/avatar2/archive/1_2715.dbf recid=2703 stamp=545108268
deleted archive log
archive log filename=/opt/oracle/oradata/avatar2/archive/1_2714.dbf recid=2702 stamp=545107659


Deleted 286 objects

RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1


allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=19 devtype=DISK

specification does not match any archive log in the recovery catalog


5 在rman中用crosscheck檢查歸檔日誌,2個歸檔日誌都是失敗 的:
RMAN> crosscheck archivelog all;

釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=14 devtype=DISK
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時間戳 =572866
683
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時間戳 =57286
6931
已交叉檢驗的 2 物件

6 試著同步一下,看行不行,結果不行,crosscheck還是失敗 :
RMAN> resync catalog;

正在啟動全部恢復目錄的 resync
完成全部 resync

RMAN> crosscheck archivelog all;

釋放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=14 devtype=DISK
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE1_47.DBF 記錄 ID=1 時間戳 =572866
683
對歸檔日誌的驗證失敗
存檔日誌檔名 =D:ORACLEORADATATESTARCHIVE11_48.DBF 記錄 ID=2 時間戳 =57286
6931
已交叉檢驗的 2 物件

7 用list expired看看是否有失效的archive log,證明沒有失效的 archive log:
RMAN> list expired archivelog all;

說明與恢復目錄中的任何存檔日誌均不匹配

8 更改語言環境試試,結果再次crosscheck,2個archive log 都成功 了:
RMAN> exit


恢復管理器完成。

C:>set nls_lang=american_america.zhs16gbk

C:>rman catalogrman/[email protected] target /

Recovery Manager: Release 9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

connected to target database : TEST (DBID=1870953724)
connected to recovery catalog database

RMAN> crosscheck archivelog all;

allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=9 devtype=DISK
validation succeeded for archived log
archive log filename=D:ORACLEORADATATESTARCHIVE1_47.DBF recid=1 stamp=57286
6683
validation succeeded for archived log
archive log filename=D:ORACLEORADATATESTARCHIVE11_48.DBF recid=2 stamp=5728
66931
Crosschecked 2 objects

相關推薦

使用RMAN刪除歸檔日誌日誌

ORACLE正確刪除歸檔並回收空間的方法 一 個ORACLE歸檔日誌經常滿,表現為/oraarchive 這個檔案空間佔用100%大家一定抱怨ORACLE為何沒有歸檔維護工具,很多人直接刪除了事,錯了,ORACLE有,而且很智慧,可以正確的刪除歸檔和 FLASHBACK,不過切記,ORACLE歸檔日誌對於O

通過RMAN刪除歸檔日誌不釋放問題

軟件 oracle 空間 google 操作系統 我的生產環境中歸檔日誌滿了,通過如下腳本刪除後,空間並沒有釋放,看有網友有相關的解決思路,可以跟大家一起分享一下:RMAN> crosscheck archivelog all;RMAN> delete expried arch

RMAN刪除歸檔日誌不釋放問題

oracle今天同事問到一個問題,他那邊的一套Oracle 11g數據庫使用RMAN沒辦法刪除舊的歸檔,導致磁盤使用率很高。[email protected]/* */:[/opt/oracle/archive/db] ls -ltr |moretotal 3059881082 -rw-r----

RMAN刪除歸檔日誌不釋放問題解決

一套Oracle 11g資料庫使用RMAN沒辦法刪除舊的歸檔,導致磁碟使用率很高。 [email protected]:[/opt/oracle/archive/db] ls -ltr |more total 3059881082  -rw-r-----  1

ORACLE Rman刪除歸檔日誌

刪除過期的歸檔日誌: RMAN> list archivelog all; 手工刪除歸檔日誌檔案 RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 設定歸檔日誌過期時間: RMAN>show

SQLServer:刪除log檔案清空日誌的方法

    資料庫的效能是DBA都需要重點關注的,日誌檔案的增多嚴重影響資料庫的效能,本文將為您介紹SQL Server刪除日誌檔案的方法,供您參考,希望對您有所幫助。     資料庫在使用過程中會使日誌檔案不斷增加,使得資料庫的效能下降,並且佔用大量的磁碟空間。SQL Server資料庫都有log檔案,log

oracle 11g警告日誌監聽日誌刪除方法示例

oracle 11g的警告日誌和監聽日誌的刪除方法。oracle 11g的監聽日誌和警告日誌都是在/u01/oracle/diag/tnslsnr/oracle/listener目錄和/u01/oracle/diag/rdbms/db1/db1目錄下都有以下分別簡稱list

刪除oracle 11g的警告日誌監聽日誌

oracle 11g的監聽日誌和警告日誌都是在/u01/oracle/diag/tnslsnr/oracle/listener目錄和/u01/oracle/diag/rdbms/db1/db1目錄下都有以下分別簡稱listener目錄和db1目錄。這兩目錄下都有如下目錄:a

oracle查詢數據庫

數據庫技術 oracle 回收站 system start oracle閃回查詢和閃回數據庫 區別:數據閃回查詢,只需要啟用撤銷表空間自動管理回滾信息。使用閃回刪除技術和閃回數據庫技術,需要啟動回收站,閃回恢復區。(歸檔模式使用) 具體設置:---cmd sqlplus

mysql開啟binlog日誌慢查詢日誌

logs launch style spa 簡單 bsp mys 自動 文件的 1)首先,為什麽要開啟binlog日誌和慢查詢日誌呢? binlog日誌會記錄下數據庫的所以增刪改操作,當不小心刪除、清空數據,或數據庫系統出錯,這時候就可以使用binlog日誌來還原數據庫,

DG環境RMAN刪除歸檔報錯RMAN-08137: archived log not deleted

nop channel chan more fault sed osi document complete Oracle 12C DG環境,備庫歸檔目錄告警,查看crontab腳本,發現有刪除操作,保持兩天的,後手動執行,查看具體報錯原因; RMAN> delete

關於MySQL 通用查詢日誌慢查詢日誌分析

MySQL中的日誌包括:錯誤日誌、二進位制日誌、通用查詢日誌、慢查詢日誌等等。這裡主要介紹下比較常用的兩個功能:通用查詢日誌和慢查詢日誌。 1)通用查詢日誌:記錄建立的客戶端連線和執行的語句。 2)慢查詢日誌:記錄所有執行時間超過longquerytime秒的所有查詢或者不使用索引的查詢 (1)通用查詢

如何管理oracle的告警日誌監聽日誌

一般情況下,我們需要經常管理一些告警日誌,比如資料庫的alert日誌,和監聽的告警日誌。這些日誌都是不停的增長,特別是監聽日誌,如果會話很多,日誌量也會是一個很大的量。一般要求alert日誌和監聽告警日誌不超過2G。如果檔案過大可能會引起效能問題。這一點一定要引起注意。

MySQL日誌檔案之錯誤日誌慢查詢日誌詳解

實驗環境:MySQL Community Server (GPL) 5.7.17、Ubuntu 16.04 一、MySQL日誌檔案分類 官方文件: 日誌檔案記錄了影響MySQL資料庫的各種型別活動。常見的日誌有以下幾個: 1、錯誤日誌(err

MySQL 第20天 MySQL日誌 錯誤日誌、二進位制日誌、查詢日誌慢查詢日誌

MySQL日誌在任何一種資料庫中,都會有各種各樣的日誌,記錄著資料庫工作的方方面面,以幫助資料庫管理員追蹤資料庫曾經發生過的各種事件在 MySQL 中,有 4 種不同的日誌,分別是錯誤日誌、二進位制日誌(BINLOG 日誌)、查詢日誌和慢查詢日誌錯誤日誌錯誤日誌是 MySQL

MySQL日誌之普通查詢日誌慢查詢日誌

Intro 之前的一篇分享提到,MySQL的日誌型別可以分為三種,錯誤日誌(error_log),查詢日誌(query_log),和二進位制日誌(binary_log),error_log的介紹與用法詳見MySQL日誌之error_log,本文主要介紹gene

Oracle:多版本

閃回庫 普通使用者使用dbms_flashback包,必須通過管理員授權。命令如下: grant execute on dbms_flashback to scott; 快閃記憶體到10分鐘之前 DBMS_FLASHBACK.ENABLE_AT_

oracle資料庫查詢表測試

閃回版本查詢測試 實現步驟: 1. 使用SQLPLUS連線Oracle資料庫 2. 構建簡單SQL語句 3. 閃回版本查詢測試 實驗操作如下: 1.  以SYS使用者通過SQLPLUS連線上Orac

Mysql----mysql開啟二進位制日誌普通查詢日誌

windows: 修改my.ini檔案: (1)二進位制日誌           [mysqld]          .....           log_bin          .... (2)查詢日誌 根據mysql不同版本,採取不同的方式。 方式1:       

RMAN刪除過期的歸檔日誌

用rman進入把歸檔日誌刪除 1)命令>rman target/ 2)命令>crosscheck archivelog all; 3)命令>delete expired archivelog all; 4)命令>exit 檢視歸檔日誌的備份情況 r