一,检查是否开启归档,开启的方法
数据的存档模式的操作必须要在mount中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动到mount,才可进行操作。
SQL>archive log list; 查看是否开启归档。
如果没有开启,需要DB startup mount模式。
SQL>alter system set logarchivestart=true scope=spfile; --修改系统的日志方式为存档模式--
SQL>shutdown immediate; --关闭数据库,因为不能在open状态下进行操作--
SQL>startup mount; --启动mount实例,但不是启动数据库--
SQL>alter database archivelog; --更改数据库为存档模式--
SQL>alter database noarchivelog; --或者更改数据库为非存档模式--
此时使用SQL> archive log list 进行查看,已经更改为存档模式。
最后使用SQL>alter database open;打开数据库。
SQL> alter system switch logfile; 手动归档一次。
RMAN> backup archivelog all; 或者RMAN手动归档。
SQL> select recid, name, first_time,next_time from v$archived_log; 查看归档
RMAN> list backup; 或者RMAN查看归档
二 查看oracle归档日志路径
1. 修改归档日志的格式
默认格式是:“ %t%s%r.dbf”,我们尝试将格式修改为“%t%s%r.arch”,这是一个静态参数,需要重新启动数据库才生效。
sys@ora10g> show parameter log_archive_format
sys@ora10g> alter system set log_archiveformat='%t%s_%r.arch' scope=spfile;
System altered.
2. 修改修改归档日志的位置
1)使用“archive log list”命令查看一下默认情况下归档日志存放的位置
sys@ora10g> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 98
Next log sequence to archive 100
Current log sequence 100
2)上面结果提到USE_DB_RECOVERY_FILEDEST这个Archive destination,其实我们可以去掉“USE”使用“DB_RECOVERY_FILE_DEST”得到数据库中的参数详解。
sys@ora10g> show parameter DB_RECOVERY_FILE_DEST
NAME TYPE VALUE
db_recovery_file_dest string /oracle/app/oracle/flash_recovery_area
3)将db_recovery_file_dest参数置空
alter sys