Oracle开启归档日志并定时清除归档日志的方法
环境:Centos7.9 oracle11g
0x01归档日志开启
#一致性关库 sqlplus / as sysdba shutdown immediate;
0x02 启动数据库至mount阶段
startup mount;
0x03 查看确认当前归档状态
archive log list;
0x03 查询归档路径,修改归档路径
show parameter recover; alter system set log_archive_dest_1='location=/u01/app/oracle/arc_direc' scope=both alter system set log_archive_format='arch_prod_t%_%s_%r.dbf' scope=spfile;
0x04 更改数据库模式为归档模式并打开数据库
alter database archivelog; alter database open; alter system switch logfile; #实验归档是否生效,进入归档目录看是否生成新的归档文件
0x05 定时清理oracle归档日志
编写rman的cmdfile文件
#创建自动清理脚本文件所在目录,cmdfile文件及清理脚本 mkdir /home/oracle/delarc cd /home/oracle/delarc vi del_ora_log.rman crosscheck archivelog all; delete noprompt expired archivelog all; delete noprompt archivelog until time 'sysdate-30'; #清理周期30天 exit;
编写自动清理脚本并生成日志
#!/bin/bash # author: xxxx # description: auto delete archivelog with special time #注意修改为自己的路径和sid export ORACLE_HOME=/home/data/oracle/product/11.2.0/db_1 export ORACLE_SID=proddb export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib rman target/ cmdfile=/home/oracle/delarc/del_ora_log.rman msglog=/home/oracle/delarc/del_ora_log.rman.log >>/home/oracle/delarc/rman.log 2>&1 #添加执行权限 chmod +x /路径/脚本名
0x06 添加定时任务
crontab -e 0 1 * * * /脚本执行路径/脚本.sh
阅读剩余
THE END