事情原由:oracle安装到win7下,以为都是直接sqlplus / as sysdba,使用数据库,但最近连接时频繁报错,
提示ORA-03113:通信通道的文件结尾
进程 ID :6988
回话 ID:191 序列号:3
第一步:
sqlplus / as sysdba
shutdown abort
startup mount
SQL> show parameter background_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string d:\app\baoshengzhu\diag\rdbms\
oracle\oracle\trace
进入该路径,查看alert_oracle.log,可见文件记录错误如下:
####################错误信息以及建议解决的方法##########################################################
Errors in file d:\app\baoshengzhu\diag\rdbms\oracle\oracle\trace\oracle_ora_6988.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用 100.00%, 尚有 0 字节可用。
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
###################################################################################
第二步:
select * from v$recovery_file_dest;
alter system set db_recovery_file_dest_size=10737418240 ---这里是改为10G。
alter database open
exit
第三步:
rman target /
进入rman工具窗口
rman target /
RMAN>crosscheck archivelog all; -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN>delete expired archivelog all; -- 直接全部删除过期的归档日志。
RMAN>delete noprompt archivelog until time "sysdate -3"; -- 也可以直接用一个指定的日期来删除。
重新打开数据库:正常使用
提示ORA-03113:通信通道的文件结尾
进程 ID :6988
回话 ID:191 序列号:3
第一步:
sqlplus / as sysdba
shutdown abort
startup mount
SQL> show parameter background_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string d:\app\baoshengzhu\diag\rdbms\
oracle\oracle\trace
进入该路径,查看alert_oracle.log,可见文件记录错误如下:
####################错误信息以及建议解决的方法##########################################################
Errors in file d:\app\baoshengzhu\diag\rdbms\oracle\oracle\trace\oracle_ora_6988.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4102029312 字节) 已使用 100.00%, 尚有 0 字节可用。
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
###################################################################################
第二步:
select * from v$recovery_file_dest;
alter system set db_recovery_file_dest_size=10737418240 ---这里是改为10G。
alter database open
exit
第三步:
rman target /
进入rman工具窗口
rman target /
RMAN>crosscheck archivelog all; -- 运行这个命令可以把无效的expired的archivelog标出来。
RMAN>delete expired archivelog all; -- 直接全部删除过期的归档日志。
RMAN>delete noprompt archivelog until time "sysdate -3"; -- 也可以直接用一个指定的日期来删除。
重新打开数据库:正常使用

当遇到Oracle错误提示ORA-03113时,可以按照以下步骤解决:首先,通过sqlplus以sysdba身份关闭并启动数据库,查看background_dump_dest参数确认错误日志位置;接着,分析错误日志,发现db_recovery_file_dest_size已满,可以通过调整参数、备份归档日志、增加磁盘空间或删除过期归档日志来释放空间;最后,使用RMAN进行交叉检查和删除操作,并重新打开数据库恢复正常。
250

被折叠的 条评论
为什么被折叠?



