1. 相关日志
su - oracle //进入oracle账户 sqlplus / as sysdba //以操作系统权限认证的oracle sys管理员登陆 archive log list //查看数据库的归档模式 注意:输入archive log list会显示出USE_DB_RECOVERY_FILE_DEST select * from V$RECOVERY_FILE_DEST; //查询归档日志空间大小及路径 show parameter recover; //显示归档文件路径 退出到oracle账户根目录然后进入rman输入以下命令进入rman rman target sys/password RMAN> crosscheck archivelog all; //验证的DB的归档日志 RMAN> delete expired archivelog all; //删除所有归档日志 RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’; //保留7天的归档日志 再查 SQL> select * from V$RECOVERY_FILE_DEST; 修改大小 SQL> alter system set db_recovery_file_dest_size=5G scope=both; 关闭归档 SQL> alter system set log_archive_start=false scope=spfile; #禁用自归档 SQL> shutdown immediate; //强制关闭数据库 SQL> startup mount; //重启数据库到mount模式 SQL> alter database noarchivelog; //修改为非归档模式 SQL> alter database open; //打数据文件 SQL> archive log list; //再次查看前归档模式
2. linux定时删除7天前文件
例: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
# 将/home/backups目录下所有7天前带"."的文件删除 # find:Linux的查找命令,查找指定条件的文件 find /home/backups -mtime +7 -name "*.*" -exec rm -rf {} \; #:清理文件的目录 /home/backups # -mtime:标准语句写法 # +7:查找7天前的文件,用数字代表天数,+10查找10天前的文件 # "*.*":查找的文件类型,例: "*.jpg"查找扩展名为jpg的所有文件,"*"表示查找所有文件 # -exec:固定写法 # rm -rf:强制删除文件,包括目录 # {} \; :固定写法,大括号+空格+\+; # 用cron定时任务执行清理
vim clearfile.sh #!/bin/bash find /home/backups -mtime +7 -name "*.*" -exec rm -rf {} \; # 加可执行权限 chmod +x clearfile.sh # 编辑定时任务 crontab -e # 每天凌晨2点执行 * 2 * * * sh /home/sh/clearfile.sh # 查看定时任务 crontab -l * 2 * * * sh /home/sh/clearfile.sh
标签:归档,sh,SQL,oracle,home,日志 From: https://www.cnblogs.com/leolzi/p/17042748.html