From --------------------- http://blog.csdn.net/zwk626542417/article/details/39667999
origin
Today, as usual, landing PL/SQL did fail. An error "ORA-01034" and "ORA-27101" appeared as follows:
Then it logs in through a command prompt. Oracle To see what's going on, and then the problem goes on, the error "ORA-03113: File End of Communication Channel" process ID:6320 callback ID
191 serial number: 3.
Root cause of problem
Oracle has made an error, so go to the error log to find the root cause of the problem: find the oracle_ora_6320.trc file under the folder e: app kang diag rdbms oracle oracle trace and open the display error log:
-
Trace filee:\app\kang\diag\rdbms\oracle\oracle\trace\oracle_ora_6320.trc
-
Oracle Database 11gEnterprise Edition Release 11.2.0.1.0 - 64bit Production
-
With thePartitioning, OLAP, Data Mining and Real Application Testing options
-
Windows NT VersionV6.1 Service Pack 1
-
CPU : 4 - type 8664, 2 PhysicalCores
-
Process Affinity : 0x0x0000000000000000
-
Memory (Avail/Total):Ph:2805M/6087M, Ph+PgF:6761M/12173M
-
Instance name: oracle
-
Redo thread mountedby this instance: 1
-
Oracle processnumber: 19
-
Windows thread id:6320, image: ORACLE.EXE (SHAD)
-
-
-
*** 2014-08-1608:18:55.461
-
*** SESSIONID:(191.3) 2014-08-16 08:18:55.461
-
*** CLIENT ID:()2014-08-16 08:18:55.461
-
*** SERVICE NAME:()2014-08-16 08:18:55.461
-
*** MODULENAME:(sqlplus.exe) 2014-08-16 08:18:55.461
-
*** ACTION NAME:()2014-08-16 08:18:55.461
-
-
ORA-19815: warning:db_recovery_file_dest_size byte (common 4102029312 byte) Already used 100.00%, There are still 0 Bytes are available.
-
************************************************************************
-
You have followingchoices to free up space from recovery area:
-
1. Consider changingRMAN RETENTION POLICY. If you are using Data Guard,
-
then consider changing RMAN ARCHIVELOGDELETION POLICY.
-
2. Back up files totertiary device such as tape using RMAN
-
BACKUP RECOVERY AREA command.
-
3. Add disk space andincrease db_recovery_file_dest_size parameter to
-
reflect the new space.
-
4. Delete unnecessaryfiles using RMAN DELETE command. If an operating
-
system command was used to delete files,then use RMAN CROSSCHECK and
-
DELETE EXPIRED commands.
-
************************************************************************
-
ORA-19809:Beyond the Restoration File Number Limit
-
ORA-19804: Unrecoverable 3396 1984 Byte disk space (from 4102029312 Restriction)
-
*** 2014-08-1608:18:55.502 4132 krsh.c
-
ARCH: Error 19809Creating archive log file to'E:\APP\KANG\FLASH_RECOVERY_AREA\ORACLE\ARCHIVELOG\2014_08_16\O1_MF_1_159_%U_.ARC'
-
*** 2014-08-1608:18:55.502 2747 krsi.c
-
krsi_dst_fail: dest:1err:19809 force:0 blast:1
-
DDE: Problem Key 'ORA312' was flood controlled (0x1) (no incident)
-
ORA-00312: Online Logs 3 Thread 1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'
-
ORA-16038: Journal 3sequence#159 Unfilable
-
ORA-19809:Beyond the Restoration File Number Limit
-
ORA-00312: Online Logs 3 Thread 1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'
-
-
*** 2014-08-1608:18:55.565
-
USER (ospid: 6320):terminating the instance due to error 16038
From here we find the root cause of the problem: "
ORA-19815: Warning: db_recovery_file_dest_size bytes (4102029312 bytes in total) are 100.00% used, and 0 bytes are still available. Db_recovery_file_dest_size, also known as insufficient archive log space, can be easily solved if the root cause of the problem is found.
Solutions
The space is small, so the way to put it in front of us is to set up a larger space point, and the other is to delete the redundant files, so we will use both methods.
Through the command window:
Setting the size of archive log space
-
sqlplus / as sysdba
-
shutdown abort
-
startup mount
-
select * from v$recovery_file_dest;
-
db_recovery_file_dest_size=10737418240;
-
Exit
--------- Delete the archive log
-
rmantarget / enter the rman tool window
-
RMAN > cross check archivelog all; -- Run this command to flag invalid expired archivelog.
-
RMAN > delete enoprompt archivelog until time "sysdate-3"; - - delete the archive log three days ago.
-
That's all right here. Next, reopen data base Normal use.
One thing to note when deleting archives is that the display of archives through the command window is under E: app kang flash_recovery_area oracle ARCHIVELOG, but we can't do it manually. operating system These files are deleted directly because each archivelog is recorded in the control file. When we delete these files in OS, the archivelog information is still recorded in our control file, so these logs will still exist in Oracle's OEM manager. Because when we manually clean the files in the archive directory, these records are not removed from the control file, that is, Oracle does not know that these files no longer exist. So you still need to execute the command to delete these files through the command window.
Epilogue
Archiving logs are actually for our convenience in restoring the database, but sometimes they do cause us a little trouble, so we need to pay attention to these archiving logs.
origin
Today, as usual, landing PL/SQL did fail. An error "ORA-01034" and "ORA-27101" appeared as follows:
Then it logs in through a command prompt. Oracle To see what's going on, and then the problem goes on, the error "ORA-03113: File End of Communication Channel" process ID:6320 callback ID
191 serial number: 3.
Root cause of problem
Oracle has made an error, so go to the error log to find the root cause of the problem: find the oracle_ora_6320.trc file under the folder e: app kang diag rdbms oracle oracle trace and open the display error log:
-
Trace filee:\app\kang\diag\rdbms\oracle\oracle\trace\oracle_ora_6320.trc
-
Oracle Database 11gEnterprise Edition Release 11.2.0.1.0 - 64bit Production
-
With thePartitioning, OLAP, Data Mining and Real Application Testing options
-
Windows NT VersionV6.1 Service Pack 1
-
CPU : 4 - type 8664, 2 PhysicalCores
-
Process Affinity : 0x0x0000000000000000
-
Memory (Avail/Total):Ph:2805M/6087M, Ph+PgF:6761M/12173M
-
Instance name: oracle
-
Redo thread mountedby this instance: 1
-
Oracle processnumber: 19
-
Windows thread id:6320, image: ORACLE.EXE (SHAD)
-
-
-
*** 2014-08-1608:18:55.461
-
*** SESSIONID:(191.3) 2014-08-16 08:18:55.461
-
*** CLIENT ID:()2014-08-16 08:18:55.461
-
*** SERVICE NAME:()2014-08-16 08:18:55.461
-
*** MODULENAME:(sqlplus.exe) 2014-08-16 08:18:55.461
-
*** ACTION NAME:()2014-08-16 08:18:55.461
-
-
ORA-19815: warning:db_recovery_file_dest_size byte (common 4102029312 byte) Already used 100.00%, There are still 0 Bytes are available.
-
************************************************************************
-
You have followingchoices to free up space from recovery area:
-
1. Consider changingRMAN RETENTION POLICY. If you are using Data Guard,
-
then consider changing RMAN ARCHIVELOGDELETION POLICY.
-
2. Back up files totertiary device such as tape using RMAN
-
BACKUP RECOVERY AREA command.
-
3. Add disk space andincrease db_recovery_file_dest_size parameter to
-
reflect the new space.
-
4. Delete unnecessaryfiles using RMAN DELETE command. If an operating
-
system command was used to delete files,then use RMAN CROSSCHECK and
-
DELETE EXPIRED commands.
-
************************************************************************
-
ORA-19809:Beyond the Restoration File Number Limit
-
ORA-19804: Unrecoverable 3396 1984 Byte disk space (from 4102029312 Restriction)
-
*** 2014-08-1608:18:55.502 4132 krsh.c
-
ARCH: Error 19809Creating archive log file to'E:\APP\KANG\FLASH_RECOVERY_AREA\ORACLE\ARCHIVELOG\2014_08_16\O1_MF_1_159_%U_.ARC'
-
*** 2014-08-1608:18:55.502 2747 krsi.c
-
krsi_dst_fail: dest:1err:19809 force:0 blast:1
-
DDE: Problem Key 'ORA312' was flood controlled (0x1) (no incident)
-
ORA-00312: Online Logs 3 Thread 1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'
-
ORA-16038: Journal 3sequence#159 Unfilable
-
ORA-19809:Beyond the Restoration File Number Limit
-
ORA-00312: Online Logs 3 Thread 1: 'E:\APP\KANG\ORADATA\ORACLE\REDO03.LOG'
-
-
*** 2014-08-1608:18:55.565
-
USER (ospid: 6320):terminating the instance due to error 16038
From here we find the root cause of the problem: "
ORA-19815: Warning: db_recovery_file_dest_size bytes (4102029312 bytes in total) are 100.00% used, and 0 bytes are still available. Db_recovery_file_dest_size, also known as insufficient archive log space, can be easily solved if the root cause of the problem is found.
Solutions
The space is small, so the way to put it in front of us is to set up a larger space point, and the other is to delete the redundant files, so we will use both methods.
Through the command window:
Setting the size of archive log space
-
sqlplus / as sysdba
-
shutdown abort
-
startup mount
-
select * from v$recovery_file_dest;
-
db_recovery_file_dest_size=10737418240;
-
Exit
--------- Delete the archive log
-
rmantarget / enter the rman tool window
-
RMAN > cross check archivelog all; -- Run this command to flag invalid expired archivelog.
-
RMAN > delete enoprompt archivelog until time "sysdate-3"; - - delete the archive log three days ago.
-
That's all right here. Next, reopen data base Normal use.
One thing to note when deleting archives is that the display of archives through the command window is under E: app kang flash_recovery_area oracle ARCHIVELOG, but we can't do it manually. operating system These files are deleted directly because each archivelog is recorded in the control file. When we delete these files in OS, the archivelog information is still recorded in our control file, so these logs will still exist in Oracle's OEM manager. Because when we manually clean the files in the archive directory, these records are not removed from the control file, that is, Oracle does not know that these files no longer exist. So you still need to execute the command to delete these files through the command window.
Epilogue
Archiving logs are actually for our convenience in restoring the database, but sometimes they do cause us a little trouble, so we need to pay attention to these archiving logs.