20171227,某地市oracle数据库由于oracle并行事务被强制取消,oracle并行事务回滚引起oracle数据库相关的表空间、操作系统cpu、内存、
io耗尽导致数据库被smon异常终止,此故障可以通过服务重启解决,但是重启oracle数据库依然需要回滚事务,需要监控数据库相关的表空间、
操作系统内存、io等资源,并且回滚的时间可能比较长。这里记录一次并行事务回滚导致的实例宕机事件。
io耗尽导致数据库被smon异常终止,此故障可以通过服务重启解决,但是重启oracle数据库依然需要回滚事务,需要监控数据库相关的表空间、
操作系统内存、io等资源,并且回滚的时间可能比较长。这里记录一次并行事务回滚导致的实例宕机事件。
操作系统版本:windows server 2008R2(虚拟机)
数据库版本:oracle 11.2.0.3
1、登录服务器后,在登录数据库实例时发现异常:
--使用sys登录时提示登录空实例
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-12月-2017 09:53:22
Copyright (c) 1991, 2011, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Production
启动日期 26-12月-2017 01:49:27
正常运行时间 1 天 8 小时 3 分 56 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 D:\app\Administrator\diag\tnslsnr\WIN-FMF7B2MAUBQ\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-FMF7B2MAUBQ)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL for 64-bit Windows: Version 11.2.0.3.0 - Production on 27-12月-2017 09:53:22
Copyright (c) 1991, 2011, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.3.0 - Production
启动日期 26-12月-2017 01:49:27
正常运行时间 1 天 8 小时 3 分 56 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 D:\app\Administrator\diag\tnslsnr\WIN-FMF7B2MAUBQ\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-FMF7B2MAUBQ)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Users\Administrator>set path=d:\app\administrator\product\11.2.0\dbhome_1\bin
C:\Users\Administrator>set oracle_home=d:\app\administrator\product\11.2.0\dbhome_1\
C:\Users\Administrator>set oracle_sid=orcl
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期三 12月 27 09:54:32 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
已连接到空闲例程。
SQL>
C:\Users\Administrator>set oracle_home=d:\app\administrator\product\11.2.0\dbhome_1\
C:\Users\Administrator>set oracle_sid=orcl
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期三 12月 27 09:54:32 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
已连接到空闲例程。
SQL>
--使用业务用户登录提示数据库不可用
2、查看数据库操作系统层次服务,发现监听和数据库服务是启动状态
3、查看数据库告警日志,发现2017年12月26日下午18:50,数据库发生ORA-600&&ORA-30319报错导致实例被smon终止
4、查看报错提示的trc文件orcl_smon_2792.trc,跟踪文件提示数据库从2017-12-26 02:19:11一直有并行事务回滚直到实例被异常终止
Trace file D:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace\orcl_smon_2792.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.1 Service Pack 1
CPU : 16 - type 8664, 16 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:103623M/131071M, Ph+PgF:234378M/262141M
VM name : VMWare Version (6)
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 14
Windows thread id: 2792, image: ORACLE.EXE (SMON)
*** 2017-12-26 02:19:11.879
*** SESSION ID:(1345.1) 2017-12-26 02:19:11.879
*** CLIENT ID:() 2017-12-26 02:19:11.879
*** SERVICE NAME:(SYS$BACKGROUND) 2017-12-26 02:19:11.879
*** MODULE NAME:() 2017-12-26 02:19:11.879
*** ACTION NAME:() 2017-12-26 02:19:11.879
Parallel Transaction recovery caught exception 30319
*** 2017-12-26 02:19:18.010
Parallel Transaction recovery caught error 30319
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Windows NT Version V6.1 Service Pack 1
CPU : 16 - type 8664, 16 Physical Cores
Process Affinity : 0x0x0000000000000000
Memory (Avail/Total): Ph:103623M/131071M, Ph+PgF:234378M/262141M
VM name : VMWare Version (6)
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 14
Windows thread id: 2792, image: ORACLE.EXE (SMON)
*** 2017-12-26 02:19:11.879
*** SESSION ID:(1345.1) 2017-12-26 02:19:11.879
*** CLIENT ID:() 2017-12-26 02:19:11.879
*** SERVICE NAME:(SYS$BACKGROUND) 2017-12-26 02:19:11.879
*** MODULE NAME:() 2017-12-26 02:19:11.879
*** ACTION NAME:() 2017-12-26 02:19:11.879
Parallel Transaction recovery caught exception 30319
*** 2017-12-26 02:19:18.010
Parallel Transaction recovery caught error 30319
.
.
.
*** 2017-12-26 18:16:16.277
Parallel Transaction recovery caught exception 30319
Initiating dump in receiver (qref 0x000000066FB7D1A0)
*** 2017-12-26 18:49:39.324
Receiver process 36 ospid 1520
Parallel Transaction recovery caught exception 30319
Initiating dump in receiver (qref 0x000000066FB7D1A0)
*** 2017-12-26 18:49:39.324
Receiver process 36 ospid 1520
5、初步判断数据库实例关闭的原因是业务sql过度并行导致数据库资源耗尽所致,经沟通得知数据库在数据变更操作速度慢的情况
下被取消过变更操作,处理措施是重启数据库实例服务,重启之后数据库sys可以登录。
6、查询数据库表空间使用率,发现undo表空间使用率100%
7、按照本次数据文件位置变更立即对undo表空间进行扩容
至此,问题解决!