现象:
1、在数据库主机sqlplus / as sysdba都进不去。
2、alert日志中报错如下:
Errors in file /Oracle/admin/dbrac/bdump/dbrac2_q000_1329.trc:
ORA-22303: type "SYS"."AQ$_HISTORY" not found
ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 32 bytes of shared memory ("shared pool","select user#,type# from user...","sql area","tmp")
原因如下:
1、由于不能在share pool中分配内存导致不能登录
2、导致share pool不能分配内存的原因是数据库大量使用常量SQL(未使用绑定变量SQL)硬解析导致。
此时数据库sqlplus / as sysdba都进不去,怎么办?
解决办法:
1、基于快速恢复数据库原则,首先将pmon进程予以kill,重新拉起数据库
2、目前为减少该故障发生的概率,方法如下:
在自动计划中加入自动刷数据库share pool计划,每天晚上1点刷一次,该操作对业务影响可以忽略,刷share pool的SQL如下:
alter system flush shared_pool;
3、为了彻底解决该问题,需应用方将常量SQL(未使用绑定变量SQL)全部修改成使用绑定变量SQL。
- 大小: 53.3 KB
分享到:
相关推荐
### 故障处理:Oracle ORA-01565 "Unable To Open Spfile" 错误 #### 故障背景与概述 在Oracle数据库管理过程中,遇到ORA-01565错误提示是一个较为常见的问题,特别是对于采用RAC(Real Application Clusters)...
同时,检查数据库的日志文件(如alert.log和trace文件),它们通常会提供更详细的错误上下文和堆栈跟踪。 3. **分析原因**:根据错误信息,分析可能的问题源。可能是SQL语句错误、表空间不足、索引问题、权限问题、...
2. **查看日志文件**:Oracle数据库会在 alert.log 文件中记录错误信息,通过阅读这些信息,可以找到ORA-12737错误的具体原因。日志通常位于数据库安装目录下的diag文件夹内。 3. **检查监听器状态**:使用`lsnrctl...
3. **检查启动日志**:在尝试启动后,检查数据库的日志文件,尤其是alert日志,以查找更具体的错误信息。这有助于定位问题的根本原因。 4. **检查系统资源**:确保操作系统有足够的资源(如内存、磁盘空间)供...
### Oracle回闪日志满了与ORA-03113错误处理 在Oracle数据库管理过程中,经常遇到的一些问题包括回闪日志空间不足以及ORA-03113错误等。这些问题若不及时解决,可能会导致数据库性能下降甚至停机。下面我们将详细...
"ORACLE数据库一次意外宕机的分析处理实记(ora-1578)" 在本文中,我们将讲述ORACLE数据库一次意外宕机的分析处理过程。该宕机事件发生在测试环境中的一台装有ORACLE数据库的AIX小机上,导致数据库宕机。我们将从...
当控制文件出现问题时,数据库在启动到mount状态时会报出ORA-600错误。 **解决办法:** 重建控制文件。如果控制文件损坏较为严重,可以通过备份的控制文件来恢复。如果无法直接恢复,可以尝试使用`create ...
这个错误通常会在数据库启动或恢复过程中出现,提示用户数据库的初始化参数设置不正确或者数据库处于非正常状态。以下是对"ORA-01033: ORACLE initialization or shutdown in progress"错误的详细分析及可能的解决...
- 进一步检查`$ORACLE_HOME/admin/SID/bdump`目录下的`alert_SID.log`文件,发现日志记录了大量的ORA-1654和ORA-1653错误,表明表空间已满且无法扩展。 3. **表空间配置问题**: - 创建表空间时人为设置了最大...
### Oracle 11g 数据库常见故障处理 #### 一、概述 Oracle 11g 数据库作为一款广泛使用的数据库管理系统,在实际应用过程中难免会遇到各种各样的问题。本文档旨在帮助用户理解并解决Oracle 11g 数据库中常见的故障...
2. **分析错误日志**:仔细阅读数据库的日志文件,如alert log和trace文件,这些文件会记录错误的具体信息,帮助定位问题。例如,错误日志中可能会有类似"ORA-10567: Redo is inconsistent with data block"的提示,...
Alert日志文件包含有关数据库实例运行时的重要信息,例如错误消息、警告和其他重要事件,对于诊断问题和维护数据库健康状态非常有用。本文将详细介绍如何在Oracle 11g环境下查找和定位Alert日志文件。 ### 核心概念...
Oracle 11g 内部错误代码 ORA-00600 是一个非常通用的错误,它表示数据库遇到了一个无法处理的内部错误或异常情况。这个错误通常涉及到Oracle数据库的底层结构,如数据块、索引或者内存管理等,且参数列表可以提供...
这包括理解ORA-错误代码的意义,以及使用alert log、trace文件和v$视图进行故障诊断。 4. **资源管理**:数据库资源如内存(SGA, PGA)、CPU、磁盘I/O的管理对于性能至关重要。了解如何通过初始化参数文件调整这些...
1. **分析告警日志**:查看alert.log文件以了解驱逐的具体原因。 2. **调整资源管理计划**:如果资源管理配置不当,可能导致某些实例无法获得足够的资源。 3. **检查网络连接**:确保集群节点之间的网络连接稳定可靠...
每个故障的处理都需要对Oracle数据库有深入的理解,包括其架构、工作原理以及相关工具的使用。在面对这些故障时,应先定位问题,再根据Oracle的文档和社区资源寻找解决方案,必要时寻求专业技术人员的帮助。学习并...
- 历史错误信息:检查alert日志文件中的错误代码,如ORA-00600、ORA-00603,及时处理。 - 剩余表空间:监控表空间使用情况,防止空间不足。 - 归档模式:确保数据库在归档模式下运行,归档目录正常挂载且有备份策略...
- **日志分析**:通过查看数据库的日志文件,如alert.log和trace文件,可以获取更具体的信息来定位问题。 - **SQL调试**:对于SQL语句引发的错误,可以通过设置调试级别或使用DBMS_DEBUG_JDWP包进行调试。 - **...
- 常见错误的处理(ORA-01555/ORA-04031/ORA-04030/ORA-1578/ORA-00060等)。 - **层级:** BAND4 - 掌握阅读ORA-600和ORA-07445 TRACE的方法。 - **层级:** S (Specialized) - 掌握阅读systemstate dump/...