oracle 清理归档日志

1. 相关日志

sql 复制代码
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天前文件

sql 复制代码
例: find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;
sql 复制代码
# 将/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定时任务执行清理
sql 复制代码
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
相关推荐
草莓熊Lotso1 小时前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
Cx330❀1 小时前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
岁岁种桃花儿8 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
蜜獾云8 小时前
oracle查询所有的表名和注释
oracle
jiunian_cn9 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐9 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
知识分享小能手10 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
爬山算法10 小时前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
踩坑小念11 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶12 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql