PROBLEM:

While disabling archive log mode, got the error – ORA-38774

 

SQL> alter database noarchivelog;
alter database noarchivelog
*
ERROR at line 1:
ORA-38774: cannot disable media recovery – flashback database is enabled

 

SOLUTION:

The error is because flashback mode is enabled in the database. So before disabling archive log mode, we need to disable flashback mode in database and drop restore points if any.

 

1. Drop restore point if any :

SQL> Select name from v$restore_point;

NAME
------
BEFORE_UPGRADE

SQL> drop restore point BEFORE_UPGRADE;

Restore point dropped.

SQL> Select name from v$restore_point;

no rows selected

2. Disable flashback mode

SQL> select name,flashback_on from v$database;

NAME      FLASHBACK_ON
--------- ------------------
DBATEST   YES

SQL> alter database flashback off;

Database altered.

SQL> select name,flashback_on from v$database;

NAME      FLASHBACK_ON
--------- ------------------
DBATEST   NO

3. Now try to put the database in noarchivelog mode.

SQL> alter database noarchivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     136
Current log sequence           138

SEE – COLLECTION OF DATABASE MONITORING SCRIPT