深圳网站建设九曲网,龙岩seo包年系统排行榜,拖曳式网站建设,读书网站怎么做#x1f4e2;#x1f4e2;#x1f4e2;#x1f4e3;#x1f4e3;#x1f4e3; 哈喽#xff01;大家好#xff0c;我是【IT邦德】#xff0c;江湖人称jeames007#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】#xff01;#x1f61c; 哈喽大家好我是【IT邦德】江湖人称jeames00710余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】 中国DBA联盟(ACDU)成员目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发备份恢复安装迁移性能优化、故障应急处理等。 ✨ 如果有对【数据库】感兴趣的【小可爱】欢迎关注【IT邦德】 ❤️❤️❤️感谢各位大可爱小可爱❤️❤️❤️ 文章目录 1.故障现象 2.故障分析 3.故障处理✨ 3.1 物理删除归档✨ 3.2 停止监听✨ 3.3 强制关库✨ 3.4 pfile修改启库✨ 3.5 RMAN删除归档✨ 3.6 重新启库调整归档 4.定时删除归档任务 5.总结 Oracle归档满基本会导致服务器卡无法登录SQLPLUS及RMAN做好策略 1.故障现象 业务反馈应用无法访问数据库如下报错 报错ORA-00257: Archiver error. Connect AS SYSDBA only until resolved错误解决 2.故障分析 从本次报错来看是归档满导致处理的办法是直接删归档即可可是当登录服务器的时候发现根本无法登录RMAN执行删除归档而且SQLPLUS也不进去无法调整归档相关参数怎么办 从ALERT日志来看无法开库的原因是归档空间满数据库已经无法登录导致 Errors in file /u01/oracle/diag/rdbms/devdb/devdb/trace/devdb_tt00_3486.trc: ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim 1073741824 bytes disk space from 214748364800 bytes limit 那么接下来首先得从物理空间删除归档 再强制管库调整归档参数重新启动库删除归档 3.故障处理
✨ 3.1 物理删除归档 确认归档路径后发现是放到快速恢复区那么找到后直接物理删除归档 快速恢复区目录fast_recovery_area ✨ 3.2 停止监听 [oracledev1 ~]$ lsnrctl stop ✨ 3.3 强制关库 –强制关闭库这个很关键因为此时已经无法SQLPLUS登录了 ps -ef|grep ora_dbw0_$ORACLE_SID 然后kill掉 kill -9 PID ✨ 3.4 pfile修改启库 –创建PFILE SYSdevdb create pfile‘/home/oracle/devspfile.ora’ from spfile; –将快速恢复区修改大一点启动库原来200G修改到400G .db_recovery_file_dest_size404800m –pfile启动数据库 SQL startup pfile‘/home/oracle/pfile.ora’; [oracledev1 ~]$ sqlplus / as sysdba SQLPlus: Release 19.0.0.0.0 - Production on Thu Mar 14 13:55:26 2024 Version 19.3.0.0.0 Copyright © 1982, 2019, Oracle. All rights reserved. Connected to an idle instance. SYSdevdb startup pfile‘/home/oracle/devspfile.ora’; ORACLE instance started. Total System Global Area 2.5837E10 bytes Fixed Size 26605704 bytes Variable Size 3288334336 bytes Database Buffers 2.2481E10 bytes Redo Buffers 40501248 bytes Database mounted. Database opened. SYSdevdb archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 274 Next log sequence to archive 278 Current log sequence 278 ✨ 3.5 RMAN删除归档 –登录RMAN删除归档 RMAN crosscheck archivelog all; RMAN delete expired archivelog all; RMAN delete archivelog until time ‘sysdate-1’; select * from V$FLASH_RECOVERY_AREA_USAGE; 注意必须通过RMAN删除归档不然控制文件不更新还是登录不了 ✨ 3.6 重新启库调整归档 –重新启动库 SYSdevdb startup force; –调整归档路径从快速恢复区移动到其他目录 SYSdevdb alter system set log_archive_dest_1location/zisemi/oracle/arch; 4.定时删除归档任务 因为是个单机库后期防止归档满设置定时任务删除 [rootdevdb ~]# su - oracle [oracledevdb ~]$ mkdir -p /home/oracle/script [oracledevdb ~]$ mkdir -p /home/oracle/arch/log [rootdevdb ~]# su - oracle [oracledevdb ~]$ mkdir -p /home/oracle/script [oracledevdb ~]$ mkdir -p /home/oracle/archlog vi /home/oracle/script/archdel_dev.sh
export ORACLE_HOME/u01/oracle/product/19.3.0/dbhome_1
export ORACLE_SIDdevdb
export PATH/usr/sbin:$PATH
export PATH$ORACLE_HOME/bin:$PATH
rman target / log /home/oracle/archlog/log_arch.log EOF
run{
allocate channel ch1 type disk;
allocate channel ch2 type disk;
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time sysdate-3;
release channel ch1;
release channel ch2;
}
EOFcrontab -l 0 23 * * * su - oracle -c “/home/oracle/script/archdel_dev.sh” 5.总结 本次故障总结如下 1.归档不要放在快速恢复区不好管控 2.归档要设置定时任务删除比如备份后删除或者定时脚本删除 3.归档满一定要从RMAN进去删除控制文件才能更新 4.归档满基本会导致服务器卡无法登录SQLPLUS及RMAN需要采取强制关库