可以通过oracle日志,找到trace文件查看原因,通常是db_recovery_file_dest_size也叫归档日志空间不足导致的。
--以sysdba方式登录
sqlplus / as sysdba
--关闭数据库实例
shutdown abort
--装载数据库
startup amount
--查询归档日志
select * from v$recovery_file_dest;
--查询归档日志大小
show parameter db_recovery_file_dest_size
--设置归档日志的大小(大小自己定)
alter system set db_recovery_file_dest_size=40G scope=both;
--打开数据库
alert database open;
删除归档日志
C:\Users\Administrator> rman target /; -- 进入rman工具窗口
RMAN> crosscheck archivelog all; -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN> delete expired archivelog all; -- 直接全部删除过期的归档日志。
RMAN> delete noprompt archivelog until time "sysdate -3"; -- 也可以直接用一个指定的日期来删除