在CentOS上运行Oracle11.2.0.4.0并发现硬盘已被填满,在警报日志中出现错误:
ORA-19815: WARNING: db_recovery_file_dest_size of 64424509440 bytes is 99.98% used, and has 10141696 remaining bytes available.然后向数据库发出一个关机命令,警报日志显示:
ARCH: Error 19809 Creating archive log file to /home.../archivelog/...
Errors in file /home/.../trace/..._ora_24158.trc:
ORA-16038: log 3 sequence# 11493 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: /home/.../redo03.log
USER (ospid: 24158): terminating the instance due to error 16038
System state dump requested by (instance=1, osid=24158), summary=[abnormal instance termination]
System State dumped to trace file /home/.../trace/..._diag_24124_20210819133650.trc
Dumping diagnostic data in directory=[cdmp_20210819133650], requested by (instance=1, osid=24158), summary=[abnormal instance termination].
Instance terminated by USER, pid = 24158然后,我清除了硬盘上的1.7G空间,并试图启动数据库,这显示了以下错误:
SQL> startup;
ORACLE instance started.
Total System Global Area 4927172608 bytes
Fixed Size 2261648 bytes
Variable Size 989859184 bytes
Database Buffers 3925868544 bytes
Redo Buffers 9183232 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 24158
Session ID: 96 Serial number: 3警报日志显示:
Errors in file /home/...trace/..._ora_17003.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 64424509440 bytes is 99.98% used, and has 10141696 remaining bytes available
ARCH: Error 19809 Creating archive log file to /home.../archivelog/2021_08_20/o1_mf_1_11493_%u_.arc
Errors in file /home.../trace/..._ora_17003.trc:
ORA-16038: log 3 sequence# 11493 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: /home.../redo03.log
USER (ospid: 17003): terminating the instance due to error 16038
System state dump requested by (instance=1, osid=17003), summary=[abnormal instance termination].
System State dumped to trace file /home/.../trace/..._diag_16963_20210820081510.trc
Dumping diagnostic data in directory=[cdmp_20210820081510], requested by (instance=1, osid=17003), summary=[abnormal instance termination].
Instance terminated by USER, pid = 17003我对甲骨文不是很有经验。有人能推荐一个解决方案吗?我的目标是打开数据库,使其正常工作,然后将所有内容复制到更大的硬盘驱动器(从225 g SSD移动到1000 G硬盘)。
发布于 2021-08-20 15:59:26
即使您删除了一些文件,FRA的大小仍然限制在60 GB,它仍然是满的,并且当前的在线重做日志由于这个原因无法存档。
通常,我建议从FRA中删除不必要的文件,但由于您只想启动数据库,然后停止并将其移到其他地方,只需增加FRA的大小,就足以存储下几个归档文件:
startup nomount
show parameter db_recovery_file_dest_size;
alter system set db_recovery_file_dest_size=61G;
show parameter db_recovery_file_dest_size;
alter database mount;
alter database open;数据库应该打开,然后您可以停止它并将文件移动到您想要的位置。
发布于 2021-08-20 16:32:07
您从存储中删除了文件,但并不是oracle能够识别这一点。您的fra已满,请使用rman删除归档日志文件以腾出空间。这假设您确实备份了它们。如果没有,则在移除档案后进行完全备份。
rman目标/删除归档所有;
发布于 2021-08-20 16:33:19
从FRA下的目录中手动删除文件不会释放FRA簿记中的空间。您必须使用适当的oracle实用程序。就像使用rman ' delete‘命令删除旧备份一样。此时,您可以执行以下操作:
rman> crosscheck backup all;
rman> crosscheck archivelog all;
rman> delete expired backup;crosscheck命令将比较记录在控制文件中的备份片段的记录和实际存在的文件。如果发现一个文件(如控制文件存储库中所列)实际上不存在(因为您手动删除了它),则该记录将被标记为“过期”。“删除过期”将删除这些记录,并更新FRA会计。
https://dba.stackexchange.com/questions/298333
复制相似问题