Oracle WindowsLinux定期清理归档日志

Oracle WindowsLinux定期清理归档日志,第1张

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7' //删除七天前的归档日志

* 注意修改文件路径

下图是根据上面教程创建的两个文件

(1)、先查看归档日志路径,确认归档日志文件信息情况。

更改过归档日志路径的情况查看,执行 archive log list

输入内容,注意修改 /data/oracle/del_archivelog/ 路径

注意赋予文件的可执行权限,执行 chmod 777 del_archivelog.sh

写入内容,每天凌晨4点执行脚本 del_archivelog.sh ,并将执行结果输出到 task.log

查看crontab所有定时任务,执行 crontab -l

到此整个Linux下的配置已结束,注意定期观察任务的运行情况。

检查归档情况

SQL>archive log list

Database log modeArchive 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_20string enable

log_archive_dest_state_21string enable

log_archive_dest_state_22string enable

log_archive_dest_state_23string 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

有可能是归档目录没有建立,需要检查


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7203110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存