ORA-03113 通信通道的文件结尾(ORA-19804 ORA-16038-归档空间满的处理方法)

1、数据库启动报错
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 1887350784 bytes
Fixed Size 2176848 bytes
Variable Size 1325402288 bytes
Database Buffers 553648128 bytes
Redo Buffers 6123520 bytes
数据库装载完毕。
ORA-03113: 通信通道的文件结尾
进程 ID: 1244
会话 ID: 96 序列号: 3

2、查看告警日志

Errors in file i:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_arc2_6848.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 5368709120 字节) 已使用 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.
************************************************************************
Errors in file i:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_arc2_6848.trc:
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 11459584 字节磁盘空间 (从 5368709120 限制中)
ARC2: Error 19809 Creating archive log file to ‘I:\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2015_03_31\O1_MF_1_75_%U_.ARC‘
ARCH: Archival stopped, error occurred. Will continue retrying
Errors in file i:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_arc2_6848.trc:
ORA-16038: 日志 3 sequence# 75 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1: ‘I:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO3-1.LOG‘
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Errors in file i:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_arc3_10064.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 5368709120 字节) 已使用 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.
************************************************************************
db_recovery_file_dest_size已使用完,flash recovery area闪回恢复区空间满,无法再归档。

解决办法:
1.将归档设置到其他目录,修改alter system set log_archive_dest = 其他路径
2.转移或者删除闪回恢复区里的归档日志。
3.增大闪回恢复区。

如果RMAN未使用恢复目录,或是恢复目录与目标数据库在同一数据库下,由于目标数据库实例无法正常启动,所以只能查看参数文件或是启动日志来确定闪回恢复区大小及位置。RMAN也连接不到目标数据库来删除归档日志以释放空间。

==========================================
SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 1887350784 bytes
Fixed Size 2176848 bytes
Variable Size 1325402288 bytes
Database Buffers 553648128 bytes
Redo Buffers 6123520 bytes
数据库装载完毕。

SQL> alter system set db_recovery_file_dest_size=10G scope=BOTH;  --增大闪回恢复区

系统已更改。

SQL> alter database open;

数据库已更改。

--------------------------------------------------------------------

C:\Users\Administrator>sqlplus / as sysdba;  --现在才可以正常连接到数据库实例
SQL> select * from v$flash_recovery_area_usage; --查看闪回恢复区使用情况

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
-------------------- ------------------ ------------------------- ---------------
CONTROL FILE 0 0 0
REDO LOG 0 0 0
ARCHIVED LOG 6.4 0 24
BACKUP PIECE 6.23 0 5
IMAGE COPY 38.07 0 14
FLASHBACK LOG .15 0 1
FOREIGN ARCHIVED LOG 0 0 0

已选择7行。

C:\Users\Administrator>rman --在RMAN下删除目标数据库中过期的或是删除指定时间之前的归档日志。

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 3月 31 11:42:53 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

RMAN> connect catalog rcat/[email protected];

连接到恢复目录数据库

RMAN> connect target sys/[email protected];

连接到目标数据库: ORCL (DBID=1399092762)

RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; --删除过期的归档日志

释放的通道: ORA_DISK_1
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=160 设备类型=DISK
说明与资料档案库中的任何归档日志都不匹配 --无过期日志可删除

RMAN> delete archivelog until time "sysdate-10"; --删除10天前的归档日志。或者:delete noprompt archivelog until time "sysdate - 10";
或者:
RMAN> delete archivelog until time "to_date(‘2015-03-10 23:59:59‘,‘yyyy-mm-dd hh24:mi:ss‘)"; --删除指定日期之前的所有归档日志。

==========================
Oracle关于日志文件基本操作
1.查询系统使用的是哪一组日志文件:
select * from v$log;

2.查询正在使用的组所对应的日志文件:
select * from v$logfile;

3.强制日志切换:
alter system switch logfile;

4.查询历史日志:
select * from v$log_history;

5.查询日志的归档模式:
select dbid,name,created,log_mode from v$database;

6.查询归档日志的信息:
select recid,stamp,thread#,sequence#,name from v$archived_log;

7.增加与删除日志文件组
alter database add logfile group 1 (‘/home1/Oracle/oradata/ora8i/log1a.log‘),‘/home2/oracle/oradata/ora8i/log1b.log‘) size 100M;

alter database drop logfile group 1;

8.增加与删除日志成员
alter database add logfile member ‘/home1/oracle/oradata/ora8i/log1a.log‘ to group 1,‘/home1/oracle/oradata/ora8i/log2a.log‘ to group 2;

alter database drop logfile member ‘/home1/oracle/oradata/ora8i/log1a.log‘ ;

9.日志文件移动
alter database rename file ‘/home1/oracle/oradata/ora8i/log1a.log‘ to ‘/home2/oracle/oradata/ora8i/log1a.log‘;
执行该命令之前必须保证该日志文件物理上已经移动到新目录

10.清除日志文件
alter database clear logfile ‘/home1/oracle/oradata/ora8i/log1a.log‘;
该命令用于不能用删除组及组成员命令删除日志时使用

8.查看归档日志占用空间:
SELECT space_limit/1024/1024/1024 AS "Quota_G",space_used/1024/1024 AS "Used_M",space_used/space_limit*100 "Used_%",space_reclaimable AS reclaimable,number_of_files AS files FROM v$recovery_file_dest ;

9.修改归档日志空间大小
alter system set DB_RECOVERY_FILE_DEST_SIZE=40g;

10.查看归档日志列表
RMAN> list archivelog all;
删除归档日志
RMAN> delete archivelog until time ‘sysdate-1‘ ;
双机下也可以用
delete obsolete;
crosscheck archivelog all;
delete expired archivelog all;

11. 用list expired看看是否有失效的archive log,证明没有失效的archive log:
RMAN> list expired archivelog all;

时间: 2024-10-09 10:30:13

ORA-03113 通信通道的文件结尾(ORA-19804 ORA-16038-归档空间满的处理方法)的相关文章

ORA-03113:通信通道的文件结尾

问题: 用命令startup启动实例时,报错“ORA-03113:通信通道的文件结尾”. 解决: SQL> startup mount ORACLE 例程已经启动. Total System Global Area 835104768 bytes Fixed Size 2217952 bytes Variable Size 637536288 bytes Database Buffers 188743680 bytes Redo Buffers 6606848 bytes 数据库装载完毕. SQ

Oracle 11.2.0.1的一个Bug,客户端报ORA-03113: 通信通道的文件结尾

半小时前,一个项目反馈应用系统部分功能报错,ORA-03113: 通信通道的文件结尾.好像是个常见的错误. 异常信息:ORA-03113: 通信通道的文件结尾 进程 ID: 2392 会话 ID: 298 序列号: 46826 检查了归档日志未发现异常,检查Oracle日志时发现对应ORA-03137错误,经查阅网上资料,属于Oracle的bug,God,竟然隐蔽在ORA-03113后面. Errors in file d:\app\administrator\diag\rdbms\fssc\f

Oracle错误——ORA-03113:通信通道的文件结尾

我的Oracle数据库是去年11月份安装的,然后安装好之后配置了一下,那个时候是正常的,没有什么问题,但是后来我就一直没有用自己本地的Oracle,使用的PL/SQL一直连的是同事的机子,然后今天突然想在自己的机子上做些测试,PL/SQL居然一直连不上,提示了下面这个错误. 提示ORA-03113:通信通道的文件结尾 进程 ID :0 会话 ID:0 序列号:0 之后就是一系列的度娘谷歌论坛等等折腾,折腾了良久,终究是给解决了. 解决方法: 第一步: sqlplus / as sysdba sh

Oracle错误——ORA-03113:通信通道的文件结尾 解决办法

由来 今天跟往常一样,登陆PL/SQL,确登陆失败,出现一个错误"ORA-01034"和"ORA-27101"如图: 然后就就通过命令提示符去登陆Oracle,去查看怎么回事,然后问题进一步出现,错误"ORA-03113:通信通道的文件结尾 进程 ID:6320 回话 ID :191 序列号:3". 问题根源 Oracle出现错误,于是去错误日志里去找问题根源:在 e:\app\kang\diag\rdbms\oracle\oracle\trac

提示ORA-03113:通信通道的文件结尾解决

第一步: sqlplus / as sysdbashutdown abortstartup mountSQL> show parameter background_dump_dest; NAME TYPE VALUE------------------------------------ ----------- ------------------------------background_dump_dest string d:\app\baoshengzhu\diag\rdbms\ orac

ORA-03113:通信通道的文件结尾解决

1.删除归档日志

ORA-03113:通信通道的文件结尾-完美解决方案

oracle 文档中对这个错误这样解释: ORA-03113 错误就是说连接到数据库的网络中断了.有些错误由于频繁出现.原因复杂而被 Oracle DBA 们戏称之为"经典的错误". 完美解决方案: 1.查看系统表空间用量: SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100)

关于“ORA-03113: 通信通道的文件结束”

作者:iamlaosong 一条SQL查询语句报错,与语句无关,与条件中的值无关,错误是ORA-03113,语句如下: select * from tb_evt_dlv a, tb_jg b,tb_evt_mail_clct c where a.mail_num=c.mail_num and a.dlv_date between to_date('2014-11-1','yyyy-mm-dd') and to_date('2014-11-1','yyyy-mm-dd') and a.dlv_st

Java NIO3:通道和文件通道

通道是什么 通道式(Channel)是java.nio的第二个主要创新.通道既不是一个扩展也不是一项增强,而是全新的.极好的Java I/O示例,提供与I/O服务的直接连接.Channel用于在字节缓冲区和位于通道另一侧的实体(通常是一个文件或套接字)之间有效地传输数据. 通常情况下,通道与操作系统的文件描述符(FileDescriptor)和文件句柄(FileHandler)有着一对一的关系.虽然通道比文件描述符更广义,但开发者经常使用到的多数通道都是连接到开放的文件描述符的.Channel类