网站首页 > 技术文章 正文
概述
端午节又给叫醒了...好吧,又是ASM归档空间问题导致,说一下背景,因ASM空间不够,硬盘槽也插满了,每天归档量大概100G,所以在对UNDO表空间增加20G空间后隔天归档又爆了。
正常情况是3点执行增备脚本备份归档到本地并把ASM的归档清理掉,ASM保留的归档都是从3点往后算的,增加20G后终于达到了临界值,导致到3点前归档空间已经满了,无法执行相关的脚本并自动清理。
这里大概有几个解决方案:
1、对数据库瘦身,腾出空间
2、数据库整体迁移
3、买个主机,大概30万(领导否决了)
前面2个不是一时半会解决的,所以这里取个巧,把增备脚本改成每天多次执行,这样ASM的归档就不会保留一天了。
清理归档脚本
#!/bin/bash #this is rman auto incr backup script backtime=$(date +%Y%m%d%H%M) if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi rman target / log=/backup/log/incr_$backtime.log <<EOF run { sql 'alter system archive log current'; allocate channel c1 type disk; allocate channel c2 type disk; backup as compressed backupset tag incr_backup_level1 incremental level 1 format '/backup/oradata/level1_%T_%t_s%s_p%p.bak' database; sql 'alter system archive log current'; backup as compressed backupset format '/backup/arch/archlog_%T_t%t_s%s_p%p.bak' archivelog all delete input; release channel c1; release channel c2; allocate channel d1 type disk; backup format '/backup/control/controlfile_%T_s%s_p%p.bak' current controlfile; crosscheck backup; crosscheck copy; delete noprompt expired backup; delete noprompt obsolete; delete noprompt backup of database completed before'sysdate-7'; release channel d1; } EOF
这里是利用backup ...all delete input的特性来清理掉ASM上的归档。
测试脚本
执行脚本后查看日志
观察ASM空间容量
可以看到空间已经减下来了。
设置定时任务
00 03,12,23 * * 2-6,0 /home/oracle/scripts/level1_backup.sh
后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!
猜你喜欢
- 2025-07-09 Linux 安装Oracle11.2.0.4 (静默安装法)
- 2025-07-09 Deno 操作 Oracle 数据库全解析:从入门到精通的实战指南
- 2025-07-09 一文掌握怎么利用Shell+Python实现完美版的多数据源备份程序
- 2024-10-14 详解rman备份:全库备份+表空间备份+备份控制文件+备份归档文件
- 2024-10-14 Oracle 数据库导入导出方法 oracle数据库数据导入导出
- 2024-10-14 Mysql、Oracle安全项检查表及操作脚本
- 2024-10-14 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 2024-10-14 非交互式SHELL脚本-实现从oracle获取数据并在制定目录生成文件
- 2024-10-14 Oracle数据库出现问题?这十个脚本帮你快速定位原因
- 2024-10-14 分享3个Sysbench性能压测脚本及多并发压测过程
你 发表评论:
欢迎- 652℃几个Oracle空值处理函数 oracle处理null值的函数
- 644℃Oracle分析函数之Lag和Lead()使用
- 642℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 634℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 630℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 617℃【数据统计分析】详解Oracle分组函数之CUBE
- 615℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 590℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)