一次快速闪回区满导致数据库不能启动的解决过程

一、事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过shutdown immediate命令重新启动数据库,但是数据库一直关闭不了,所以通过shutdown abort命令关闭数据库,然后启动数据库的时候报以下错误:ORA-38760: This database instance failed to turn on flashback database;

二、处理步骤:
1、针对报错初步认为是由于系统开了闪回,所以启动不了,因此关闭了数据库的闪回;命令:alter database flashback off;
重新启动数据库,发现问题依旧;
2、检查快速闪回区的使用情况,默认是3GB,重新配置成5GB后,重启数据库依然有问题;(后面查询日志,发现5GB的空间仍然不够, WARNING: db_recovery_file_dest_size of 5368709120 bytes is 100.00% used,如果设置的大写应该可以解决问题;)
3、删除快速闪回区的日志,并重新启动数据库,数据库依然报错;
4、经过检查数据库之前创建了闪回的还原点,删除了还原点后数据库可以打开;(原因:由于创建了还原点,所以即使关闭了快速闪回,数据库依然也要写闪回日志,因为需要保证创建的还原点能够被闪回,删除还原点后,闪回日志自动被删除;)

日志如下:Drop guaranteed restore point BCD
Stopping background process RVWR
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxfxb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_904oxhsr_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9056qs4b_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_905bpoz6_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_9079prqj_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907k1vdb_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_907kcvb5_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90b5h7x1_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hg7smd_.flb
Deleted Oracle managed file /oracle/ID1/oraflash/ID1/flashback/o1_mf_90hlttpk_.flb

三、问题总结:
本次的系统宕机,有两个原因
1、由于磁盘空间满了,所以数据库不能写归档;
2、由于快速闪回去满了,所以数据库不能写闪回日志;
解决方法:
1、归档的问题:删除了磁盘上面的无效数据,保证能够写归档;
2、快速闪回去的问题:a)可以扩大快速闪回区的大小,必须足够大,本例中设置成5G依然不够;
                                       b)关闭快速闪回,并删除闪回创建的还原点;
上一篇:SAP的启动、停止


下一篇:[Step By Step]SAP HANA PAL逻辑回归预测分析Logistic Regression编程实例LOGISTICREGRESSION(模型)