ORA-03113:end-of-file on communication channel
process ID:4268
session id:213 serial number:12345
小白一枚,我是连接公司的数据库之后,打开包体里的存储过程提示这个问题,表格什么的能查看结构,也能查询。但是存储过程不能调用不能查看。
数据库不是本机的,我的同事都能打开,只有我打不开存储过程。plsql developer也重装了,然而没效果。有哪位大牛知道怎么回事吗
ORA-03113:end-of-file on communication channel
process ID:4268
session id:213 serial number:12345
小白一枚,我是连接公司的数据库之后,打开包体里的存储过程提示这个问题,表格什么的能查看结构,也能查询。但是存储过程不能调用不能查看。
数据库不是本机的,我的同事都能打开,只有我打不开存储过程。plsql developer也重装了,然而没效果。有哪位大牛知道怎么回事吗
解决思路(ORACLE11G):
查看orcle启动日志,确定具体是什么原因引起的错误。
1、确定日志位置
操作日志:$ORACLE_HOME/startup.log
启动日志:$ORACLE_BASE/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log (ora11g为SID值)
启动日志如果查找不到,请到trace目录下执行 ls -alcr | grep alert (c时间排序、r倒序)
2、打开日志
tail -f -n 500 alert_ora11g.log ,查看错误,截取片段如下
Errors in file /data00/oracle/app/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_m000_9340.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 8589934592 bytes is 100.00% used, and has 0 remaining bytes available.
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.
Tue May 03 11:29:14 2011
ALTER SYSTEM SET db_recovery_file_dest_size='8G' SCOPE=BOTH;
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.
原因找到啦,归档日志满了。
4、解决办法有三个:
1.将归档设置到其他目录,修改alter system set log_archive_dest = 其他路径
2.转移或者删除闪回恢复区里的归档日志。
3.增大闪回恢复区。alter system set db_recovery_file_dest_size=8G;
5、用其他方式启动数据库
#sqlplus /nolog
conn / as sysdba;
shutdown immediate;
startup mount;(startup nomount只是启动了实例而没有启动数据库,startup mount启动了实例,并加载了数据库,但是数据库没有打开,startup是最全的,实例,数据库加载,数据库打开都完成。)
startup mount我这里可以成功启动。
show parameter db_recovery_file_dest_size //显示当前回复区大小
6、具体步骤。举一个例子,删除过期日志。
$RMAN
connect target /
crosscheck archvelog all;
delete expired archivelog all;
exit