检查归档情况
SQL>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination ###########
Oldest online log sequence 1
Next log sequence to archive 2
Current log sequence 2
Automatic archival=Enabled表示归档进行是否自动启动
其中LOG_MODE表示Oracle当前的归档方式。ARCHIVELOG表示数据库运行在归
档模式下,NOARCHIVELOG表示数据库运行在非归档模式下。
通过上面的信息可以看出已经是归档模式了 (如果是非归档模式参考博主的另一篇文章 有关“归档日志与非归档日志切换”), 查看归
档日志文件
存放在哪个位置 运行show parameter log_archive_dest;命令
...
log_archive_dest_state_20 string enable
log_archive_dest_state_21 string enable
log_archive_dest_state_22 string enable
log_archive_dest_state_23 string enable
...
提前建立/u01/app/oracle/arch目录
设置归档目录
SQL>alter system set log_archive_dest='/u01/app/oracle/arch' scope=spfile;
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-16018: 无法将 LOG_ARCHIVE_DEST 与 LOG_ARCHIVE_DEST_n 或 DB_RECOVERY_FILE_DEST 一起使用
出现错误的原因是db_recovery_file_dest的参数已经被设置了,去查询一下看看,果真如此。
alter system set db_recovery_file_dest='' scope=spfile;
db_recovery_file_dest是缺省的归档位置,下面把它设置为"空",然后设置log_archive_dest参数,指定另外一个非缺省的参数
重启db 如下图
运行 shutdown immediate;
一直没有反应
输入shutdown abort
手动归档,之后去归档目录看看
alter system archive log current;
如果出现以下错误
SQL> startup
ORA-16032: parameter LOG_ARCHIVE_DEST destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux Error: 2: No such file or directory
有可能是归档目录没有建立,需要检查
SQL> show parameter db_recover
NAME TYPE VALUE
-------------------------- ----------- ----------------------------
db_recovery_file_dest string D:\oracle\flash_recovery_area
db_recovery_file_dest_size big integer 2G
上述命令可以看出归档日志的路径以及大小
归档过期是在rman中体现的,list expired backup 列出无效备份。rman中有个保留策略configure retention policy to recovery window of 14 days;超出这个时间的话,crosscheck backupset; 会找出哪些备份过期。delete noprompt obsolete; 会删除过期的备份文件。单单只是归档日志,没有过期之分。一般是针对备份文件来说的。
在sqlplus环境中输入
archive log list;
命令即可查看归档路径,如果归档路径是参数值
则
show parameter recover;
即可查看系统参数所指的路径
select name from v$archived_log;
OR
show parameter log_archive
OR
archive log list;
你也可以百度一下, 这个里面更加详细
归档日志文件在哪个目录下? - Oracle数据库管理 - ITPUB论坛