一、突发问题数据库宕机
和往常一样,正在强哥群里闲聊
突然有小伙伴说他的数据库无法正常提供服务了,并附上了报错截图
看报错比较明显,就是提示ORA-19809闪回空间出现了问题,估计大概率是归档把闪回空间爆了。
按以往11G的经验,我一般是这样操作:
1.直接登录到数据库里,先把闪回空间改大,恢复业务(这种适合闪回空间划小了,实际目录可用空间比闪回空间大)
alter system set db_recovery_file_dest_size = 100G scope=both;
2.再登录到rman里删除过部分归档
delete noprompt archivelog until time 'sysdate-1';
或者手动删除一下归档,再去rman里执行
crosscheck archivelog all;
然后再执行:
delete expired archivelog all;
这里让小伙伴先登录到库里,让他扩容一下操作,结果问题来了,登录数据库卡住,无法正常登录
使用sqlplus -s / as sysdba仍然无法真正登录到库里,可以看到执行的命令都没有返回结果。
尝试登录rman数据库,同样hang住
二、处理办法
说起来也不复杂,那就是只能停库了!
反正这会业务也不好使了,为了影响最小,不要重启服务器,因为你完全不知道装操作系统的人给没给你留下坑,除非你以前重启过(之前就有群友遇到过,装的操作系统有坑,结果重启下主机,系统grub找不到引导起不来了),建议还是最小操作,直接kill 数据库的pmon进程,让实例挂掉
ps -ef|grep pmon
找到<进行ID>后
kill -9 <进程ID>
下图是kill的时候alert里的提示:
然后你再手动创建下参数文件
sqlplus / as sysdba create pfile='/home/oracle/pfile.ora' from spfile;
修改pfile文件里关于闪回大小的设置。
然后再
create spfile from pfile='/home/oracle/pfile.ora';
起动数据库,然后你再清理下闪回空间,大概就是这么简单。
三、后记
说起来还是有些奇怪,以前11G的时候这种情况是可以直接登录到数据库里的
这次19.3就不行了
搜索了下类似的关键字connect hang,看看官方MOS里怎么说。
结果也就是说这不算是bug,虽说是有点像bug 7578730
但确实不是,就是闪回满了导致的无法登录。。。。
也欢迎关注我的公众号【徐sir的IT之路】,一起学习!
————————————————————————————
公众号:徐sir的IT之路
CSDN :https://blog.csdn.net/xxddxhyz?type=blog
墨天轮:https://www.modb.pro/u/3605
PGFANS:https://www.pgfans.cn/user/home?userId=5568
————————————————————————————