I got ” ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode ” error in Oracle database.
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
Details of error are as follows.
database is running in NOARCHIVELOG mode. We need to check for corruptions so the database was brought down and mounted but RMAN validate failed with the below errors:
$ rman target /
Recovery Manager: Release 10.2.0.5.0 - Production on Mon Oct 29 13:20:37 2012
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: ORA102 (DBID=400119926, not open)
RMAN> backup validate check logical database;
Starting backup at 29 OCT 2012 13:20:43
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 10/29/2012 13:20:44
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
cannot backup or copy active file in NOARCHIVELOG mode
This ORA-19602 is related to the NOARCHIVELOG mode and does not allow full database backups.
In 10g and below, when operating in NOARCHIVELOG mode, RMAN validate can only be executed against a MOUNTED database and datafiles that are not in need of recovery. RMAN validate cannot be executed against fuzzy datafiles when in noarchivelog, mounted mode.
If you want to learn Archivelog and Noarchivelog mode, read the following post.
Oracle Database Enable Archivelog Mode and Archivelog Deletion and Generation Frequency
To confirm the database and datafiles’ current status:
SQL> select dbid, name dbname, open_mode, database_role, 2 to_char(created,'dd-Mon-YYYY hh24:mi:ss') created, 3 to_char(resetlogs_time,'dd-Mon-YYYY hh24:mi:ss') resetlogs_time 4 from v$database; DBID DBNAME OPEN_MODE DATABASE_ROLE CREATED RESETLOGS_TIME ---------- --------------- ---------- ---------------- ------------------------- ------------------------- 400119926 ORA102 MOUNTED PRIMARY 31-Aug-2012 15:05:15 16-Oct-2012 15:33:09 SQL> SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 19 Current log sequence 21 SQL> select hxfil FILE#,fhsta STAT,fhscn SCN, 2 fhthr thr, fhrba_Seq SEQUENCE, 3 fhtnm TABLESPACE 4 from x$kcvfh order by 1; FILE# STAT SCN THR SEQUENCE TABLESPACE ---------- ----------- ---------------- ------ ---------- ------------------------------ 1 8196 6352465 1 21 SYSTEM 2 4 6352465 1 21 UNDOTBS1 3 4 6352465 1 21 SYSAUX 4 4 6352465 1 21 USERS 5 4 6352465 1 21 HARTFORD
Recover the database first to ensure that all files are nolonger in need of recovery. Then run the RMAN validate.
RMAN> recover database; RMAN> backup validate check logical database; RMAN> alter database open; SQL> select * from v$database_block_corruption.
Sample Output in 10g:
RMAN> recover database; Starting recover at 29 OCT 2012 13:23:59 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:04 Finished recover at 29 OCT 2012 13:24:05 RMAN> backup validate check logical database; Starting backup at 29 OCT 2012 13:24:13 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/opt/app/oracle/oradata/ORA102/system01.dbf input datafile fno=00002 name=/opt/app/oracle/oradata/ORA102/undotbs01.dbf input datafile fno=00003 name=/opt/app/oracle/oradata/ORA102/sysaux01.dbf input datafile fno=00005 name=/opt/app/oracle/oradata/ORA102/hartford01.dbf input datafile fno=00004 name=/opt/app/oracle/oradata/ORA102/users01.dbf channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15 Finished backup at 29 OCT 2012 13:24:28 RMAN> alter database open; database opened SQL> select * from v$database_block_corruption; no rows selected
Do you want to learn Oracle Database for Beginners, then read the following articles.
Oracle Tutorial | Oracle Database Tutorials for Beginners ( Junior Oracle DBA )