版权声明:本文为CSDN博主「wangjz2008」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangjz2008/article/details/114081905
1、检查磁盘空间
a)检查磁盘空间
df-h
b)释放磁盘空间
du -h --max-depth=1 这个命令用于查看当前目录,哪个文件占用最大
du -h --max-depth=1 |grep 'G.*\./' |sort
du -ch |grep 'G.*\./' |sort 查找当前目录下所有目录大小带G的目录
2、清理oracle日志文件
可以参考oracle各种trace清理https://blog.csdn.net/wangjz2008/article/details/114081633
3、清理或增加归档空间
a)查看归档信息
root -- 登陆linux
docker exec -it oracle /bin/bash -- 进入docker
su - oracle
sqlplus /nolog
conn / as sysdba
show parameter recover; -- 归档日志可恢复信息
show parameter log_archive_dest; -- 查看归档参数、存放位置
archive log list; -- 显示归档日志状态信息
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /dbdata/arch_log
Oldest online log sequence 9207
Next log sequence to archive 9209
Current log sequence 9209
select * from V$FLASH_RECOVERY_AREA_USAGE; -- 文件类型,已使用空间%,可收回空间%,文件数量
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 0 0 0
BACKUP PIECE 1.78 1.19 3
IMAGE COPY 0 0 0
FLASHBACK LOG 0 0 0
FOREIGN ARCHIVED LOG 0 0 0
b)增加归档空间大小
rman target / rman命令与sqlplus命令类似,不同的客户端
rman target 账号/密码@实例
alter system set db_recovery_file_dest_size=35G
c)删除归档日志
rman target / rman命令与sqlplus命令类似,不同的客户端
rman target 账号/密码@实例
crosscheck archivelog all; --检查归档日志
list archivelog all; --查看归档日志列表:
list expired archivelog all;--查看失效的归档日志列表:
delete expired archivelog all; --删除过期日志
delete archivelog all completed before 'sysdate-30'; (指定删除30天前的归档日志);
delete noprompt archivelog until time "to_date('2021-01-01','yyyy-mm-dd')"; 删除某天以前的归档日志
d)定期删除归档日志:
可以将如下代码写成.bat文件,在控制面版的任务计划下添加新的定时任务:
RMAN target /
crosscheck archivelog all;
delete expired archivelog all;