Home Database Mysql Tutorial Oracle 入门之Oracle启动报错“ORA-03113”

Oracle 入门之Oracle启动报错“ORA-03113”

Jun 07, 2016 pm 04:57 PM
oracle

早上连接oracle,发现oracle无法正常工作,无法shutdown immediate方式关闭,shutdown abort方式关闭之后再启动,出现错误提示ld

早上连接Oracle,发现oracle无法正常工作,,无法shutdown immediate方式关闭,shutdown abort方式关闭之后再启动,出现错误提示“ORA-03113 end-of-file on communication channel”

分析alter日志信息如下:
Errors in file /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4070572032 字节) 已使用 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 /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 36931584 字节磁盘空间 (从 4070572032 限制中)
ARCH: Error 19809 Creating archive log file to ’/u01/flash_recovery_area/ONLINE/archivelog/2010_09_25/o1_mf_1_109_%u_.arc’
Errors in file /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-16038: 日志 1 sequence# 109 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: ’/u01/oradata/online/redo01.log’
USER (ospid: 1544): terminating the instance due to error 16038
Instance terminated by USER, pid = 1544

可以看出已经达到db_recovery_file_dest_size规定的限制大小,处理方法如下:

1:在操作系统上删除相关的文件,启动数据库,依然报前面的错误信息

2:由spfile生成pfile,增大pfile中的db_recovery_file_dest_size参数的值

3:由修改过的pfile生成spfile,启动数据库

4:使用rman,清理过期的数据

[oracle@localhost ~]$ rman target/

Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 25 14:18:53 2010

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

connected to target database: ONLINE (DBID=2094135012)

RMAN> crosscheck archivelog all;

RMAN> delete expired archivelog all;


5:查看recovery_file_dest动态性能视图

SQL> desc v$recovery_file_dest;
名称                                      是否为空? 类型
----------------------------------------- -------- ------------------------

NAME                                               VARCHAR2(513)
SPACE_LIMIT                                        NUMBER
SPACE_USED                                         NUMBER
SPACE_RECLAIMABLE                                  NUMBER
NUMBER_OF_FILES                                    NUMBER

SQL> col name format a50;
SQL> select * from v$recovery_file_dest;

NAME                                               SPACE_LIMIT SPACE_USED
-------------------------------------------------- ----------- ----------
SPACE_RECLAIMABLE NUMBER_OF_FILES
----------------- ---------------
/u01/flash_recovery_area                            5242880000 755426304
                0              19


分析:flash_recovery_area初始化参数定义的值,一般用来存放归档日志(archivelog)和rman的备份集(backupset),Oracle 11g r2 64位安装完后,db_recovery_file_dest_size为3882M,为了防止oracle因为这个原因崩溃,应当根据需要适当调整这个值的大小,并定期清理过期的日志信息

SQL> show parameter db_recovery;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/flash_recovery_area
db_recovery_file_dest_size           big integer 5000M

linux

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to check tablespace size of oracle How to check tablespace size of oracle Apr 11, 2025 pm 08:15 PM

To query the Oracle tablespace size, follow the following steps: Determine the tablespace name by running the query: SELECT tablespace_name FROM dba_tablespaces; Query the tablespace size by running the query: SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

How to encrypt oracle view How to encrypt oracle view Apr 11, 2025 pm 08:30 PM

Oracle View Encryption allows you to encrypt data in the view, thereby enhancing the security of sensitive information. The steps include: 1) creating the master encryption key (MEk); 2) creating an encrypted view, specifying the view and MEk to be encrypted; 3) authorizing users to access the encrypted view. How encrypted views work: When a user querys for an encrypted view, Oracle uses MEk to decrypt data, ensuring that only authorized users can access readable data.

How to view instance name of oracle How to view instance name of oracle Apr 11, 2025 pm 08:18 PM

There are three ways to view instance names in Oracle: use the "sqlplus" and "select instance_name from v$instance;" commands on the command line. Use the "show instance_name;" command in SQL*Plus. Check environment variables (ORACLE_SID on Linux) through the operating system's Task Manager, Oracle Enterprise Manager, or through the operating system.

How to import oracle database How to import oracle database Apr 11, 2025 pm 08:06 PM

Data import method: 1. Use the SQLLoader utility: prepare data files, create control files, and run SQLLoader; 2. Use the IMP/EXP tool: export data, import data. Tip: 1. Recommended SQL*Loader for big data sets; 2. The target table should exist and the column definition matches; 3. After importing, data integrity needs to be verified.

How to uninstall Oracle installation failed How to uninstall Oracle installation failed Apr 11, 2025 pm 08:24 PM

Uninstall method for Oracle installation failure: Close Oracle service, delete Oracle program files and registry keys, uninstall Oracle environment variables, and restart the computer. If the uninstall fails, you can uninstall manually using the Oracle Universal Uninstall Tool.

How to get time in oracle How to get time in oracle Apr 11, 2025 pm 08:09 PM

There are the following methods to get time in Oracle: CURRENT_TIMESTAMP: Returns the current system time, accurate to seconds. SYSTIMESTAMP: More accurate than CURRENT_TIMESTAMP, to nanoseconds. SYSDATE: Returns the current system date, excluding the time part. TO_CHAR(SYSDATE, 'YYY-MM-DD HH24:MI:SS'): Converts the current system date and time to a specific format. EXTRACT: Extracts a specific part from a time value, such as a year, month, or hour.

How to create oracle dynamic sql How to create oracle dynamic sql Apr 12, 2025 am 06:06 AM

SQL statements can be created and executed based on runtime input by using Oracle's dynamic SQL. The steps include: preparing an empty string variable to store dynamically generated SQL statements. Use the EXECUTE IMMEDIATE or PREPARE statement to compile and execute dynamic SQL statements. Use bind variable to pass user input or other dynamic values ​​to dynamic SQL. Use EXECUTE IMMEDIATE or EXECUTE to execute dynamic SQL statements.

How to set up users of oracle How to set up users of oracle Apr 11, 2025 pm 08:21 PM

To create a user in Oracle, follow these steps: Create a new user using the CREATE USER statement. Grant the necessary permissions using the GRANT statement. Optional: Use the RESOURCE statement to set the quota. Configure other options such as default roles and temporary tablespaces.

See all articles