一、现象
二、临时解决方式
搜了一圈有的说归档日志写满,需要删除归档日志。有的说闪回日志写满,关闭闪存日志。想想从来没设置过归档日志大小,因此
首先查看归档日志设定的大小。
show parameter db_recovery_file_dest;
结果显示db_recovery_file_dest_size big integer很小很小,可能就是这个问题了,先删删归档日志吧,删除后数据库可以正常使用。删除方式如下:
归档日志删除方式:https://blog.csdn.net/ctypyb2002/article/details/78241947(归档日志是oracle灾难恢复的必要数据,不要全部删除)
归档日志太小了,即使删除也只会临时解决以恢复数据库正常运行,将归档日志使用空间大小调大,根据磁盘大小适当调节,命令如下:
alter system set db_recovery_file_dest_size=214748364800;
这里调成200g(200*1024*1024*1024)
三、永久解决方式
仔细想想即使扩容到200g也总会满的,只是时间问题而已,搜了一些文档归档日志无法设置自动删除,只能靠系统来帮助解决了,主要步骤如下:
1.创建一个删除归档日志的脚本,linux系统参考如下两个地址:
https://blog.csdn.net/javaee_ssh/article/details/36906413
https://blog.csdn.net/jaune161/article/details/50453868
windows系统参考如下地址:
https://blog.csdn.net/killvoon/article/details/49023335
http://blog.itpub.net/8196567/viewspace-1118670/
2.linux中赋予执行权限,windows改成可执行文件。
3.添加到定时任务中。