Oracle RMAN clears archived logs

Source: Internet
Author: User

In the development environment and UAT environment, you often encounter the need to clear archived logs. There are many ways to solve this problem. You can use rm to clear archived logs directly, or use the find command to find matching records to clear archived logs, or write a shell script to clear the logs. In this way, DEV or UAT can be used. However, in the Prod environment, we recommend that you use the Command provided by RMAN to handle the problem properly. Because the rm and find methods Delete the actual archive logs and release the space, the archive information stored in the control file is not completely cleared. It still occupies some space and cannot be cleared in time. Therefore, you need to control the file to release the space in the age out mode. This document describes how to use RMAN to clear archived logs and deploy the logs in shell scripts.

For more information, see

Oracle archiving logs

Oracle Control File)

Oracle ONLINE redo LOG FILE)

Linux/Unix shell scripts call SQL and RMAN scripts

Linux/Unix shell script to clear archived log files

1. How to clear archived logs

A. manually delete

You can use rm or find to delete an archive. After deletion, you can use crosscheck archivelog all in RMAN to check whether the archive is invalid. The following operations are performed:

Rm-rf arch_816906485_48710.arc

Find/u02/database/GOBO1/archive/-ctime + 0-delete

RMAN> crosscheck archivelog all

B. Clear Data Using RMAN

The RMAN cleanup method automatically clears the archive log files on the disk, and releases the archive information of the corresponding archive log in the control file.

You can clear archived logs based on different conditions, such as SCN, SEQUENCE, and TIME.

The preceding three methods can be used with clauses such as from, until, between... and so on to limit the scope. The method is flexible and variable.

The following command is used to verify the validity of archived logs, list invalid archived logs, and how to clear archived logs to list several common:

Crosscheck archivelog all; ---> verify log availability

List expired archivelog all; ---> list all invalid archive logs

Delete archivelog until sequence 16; ---> delete all archived logs whose log sequence is 16 or before 16

Delete archivelog all completed before 'sysdate-7'; ---> delete the archived logs generated seven days earlier than the system time. Valid archived logs in the flash back area are not deleted.

Delete archivelog all completed before 'sysdate-1'; ---> same as above

Delete archivelog from time 'sysdate-1'; ---> note this command to delete the archived logs generated within one day of the system.

Delete noprompt archivelog all completed before 'sysdate'; ---> This command clears all archived logs.

Delete noprompt archivelog all; ---> same as the previous command

2. Use RMAN to clear archived logs

Robin @ SZDB: ~> Export ORACLE_SID = GOBO1
Robin @ SZDB: ~> Rman target/

Recovery Manager: Release 10.2.0.3.0-Production on Thu Jul 11 17:07:00 2013

Copyright (c) 1982,200 5, Oracle. All rights reserved.

Connected to target database: GOBO1 (DBID = 733951103)

RMAN> host;

Robin @ SZDB: ~> Cd/u02/database/GOBO1/archive/
Robin @ SZDB:/u02/database/GOBO1/archive> ls
Arch_816906485_1_10.arc arch_816906485_1_12.arc
Arch_816906485_1_11.arc arch_816906485_1_13.arc
............

Robin @ SZDB:/u02/database/GOBO1/archive> rm-rf arch_816906485_1_10.arc arch_816906485_1_11.arc arch_816906485_1_12.arc
Robin @ SZDB:/u02/database/GOBO1/archive> exit;
Exit
Host command complete

RMAN> crosscheck archivelog all;
Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_00009.arc recid = 2085 stamp = 817211151
Validation failed for archived log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_20.10.arc recid = 2086 stamp = 817250793
..............
Validation succeeded for archived log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_000090.arc recid = 2166 stamp = 820458049
Crosschecked 83 objects

RMAN> list expired archivelog all;

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2086 1 10X20130604 11:05:51/u02/database/GOBO1/archive/arch_816906485_1_10.arc
2087 1 11X20130604 22:06:17/u02/database/GOBO1/archive/arch_816906485_1_11.arc
2088 1 12X20130605 19:30:53/u02/database/GOBO1/archive/arch_816906485_1_12.arc

RMAN> delete archivelog until sequence 16;

Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2084 1 8 A 20130604 09:53:17/u02/database/GOBO1/archive/arch_816906485_1_8.arc
.................
2092 1 16 A 20130607 22:03:23/u02/database/GOBO1/archive/arch_816906485_1_16.arc

Do you really want to delete the above objects (enter YES or NO )? Yes
...............
Deleted archive log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_42616.arc recid = 2092 stamp = 817516861
Deleted 9 objects

RMAN> delete archivelog all completed before 'sysdate-7 ';

Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2093 1 17 A 20130608 00:01:00/u02/database/GOBO1/archive/arch_816906485_41717.arc
2094 1 18 A 20130608 18:00:17/u02/database/GOBO1/archive/arch_816906485_41718.arc
...........
Deleted archive log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_42472.arc recid = 2148 stamp = 819847035
Deleted 56 objects

RMAN> list copy of database archivelog all;


List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2149 1 73 A 20130703 23:17:13/u02/database/GOBO1/archive/arch_816906485_42473.arc
2150 1 74 A 20130704 22:00:19/u02/database/GOBO1/archive/arch_816906485_42474.arc
2151 1 75 A 20130704 22:04:40/u02/database/GOBO1/archive/arch_816906485_42475.arc
...............
2164 1 88 A 20130709 23:19:34/u02/database/GOBO1/archive/arch_816906485_42488.arc
2165 1 89 A 20130710 13:00:34/u02/database/GOBO1/archive/arch_816906485_000089.arc
2166 1 90 A 20130710 22:02:44/u02/database/GOBO1/archive/arch_816906485_000090.arc

RMAN> delete archivelog from time 'sysdate-1 ';

Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2165 1 89 A 20130710 13:00:34/u02/database/GOBO1/archive/arch_816906485_000089.arc
2166 1 90 A 20130710 22:02:44/u02/database/GOBO1/archive/arch_816906485_000090.arc

Do you really want to delete the above objects (enter YES or NO )? Yes
Deleted archive log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_000089.arc recid = 2165 stamp = 820447373
Deleted archive log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_000090.arc recid = 2166 stamp = 820458049
Deleted 2 objects

RMAN> delete archivelog all completed before 'sysdate-1 ';

Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2149 1 73 A 20130703 23:17:13/u02/database/GOBO1/archive/arch_816906485_42473.arc
.......................
2164 1 88 A 20130709 23:19:34/u02/database/GOBO1/archive/arch_816906485_42488.arc

Do you really want to delete the above objects (enter YES or NO )? Yes
................
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_41588.arc recid = 2164 stamp = 820414835
Deleted 16 objects

RMAN> SQL "alter system archive log current ";

SQL statement: alter system archive log current

RMAN> list copy of archivelog all;


List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2167 1 91 A 20130711 01:00:48/u02/database/GOBO1/archive/arch_816906485_rj91.arc

RMAN> delete noprompt archivelog all completed before 'sysdate ';

Released channel: ORA_DISK_1
Allocated channel: ORA_DISK_1
Channel ORA_DISK_1: sid = 1075 devtype = DISK

List of Archived Log Copies
Key Thrd Seq S Low Time Name
----------------------------------------
2167 1 91 A 20130711 01:00:48/u02/database/GOBO1/archive/arch_816906485_rj91.arc
Deleted archive log
Archive log filename =/u02/database/GOBO1/archive/arch_816906485_rj91.arc recid = 2167 stamp = 820517964
Deleted 1 objects

  • 1
  • 2
  • Next Page

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.