oracle RMAN备份报错的诊断过程(四)继续清除数据库中僵死的会话

经过前面的努力,数据库中所有的JOB恢复正常,没有长时间持有锁的会话,事务视图中也没有长时间运行的事务:

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;

INSTANCE_NAME

----------------

tradedb1

已选择1行。

SQL> SELECT SID, TYPE, ID1, ID2, LMODE, REQUEST, CTIME, BLOCK

2  FROM V$LOCK

3  WHERE CTIME > 86400

4  AND CTIME < 864000;

未选定行

SQL> SELECT ADDR, START_DATE    

2  FROM V$TRANSACTION

3  WHERE START_DATE < TRUNC(SYSDATE);

未选定行

SQL> SELECT SID, JOB, LAST_DATE, THIS_DATE

2  FROM DBA_JOBS_RUNNING;

未选定行

检查另外一个实例:

SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;

INSTANCE_NAME

----------------

tradedb2

SQL> SELECT SID, TYPE, ID1, ID2, LMODE, REQUEST, CTIME, BLOCK

2  FROM V$LOCK

3  WHERE CTIME > 86400

4  AND CTIME < 864000;

未选定行

SQL> SELECT ADDR, START_DATE

2  FROM V$TRANSACTION

3  WHERE START_DATE < TRUNC(SYSDATE);

未选定行

SQL> SELECT SID, JOB, LAST_DATE, THIS_DATE

2  FROM DBA_JOBS_RUNNING;

未选定行

虽然看似数据库状态正常了,但是启动RMAN连接数据库依旧报错:

bash-3.00$ rman target /

恢复管理器: Release10.2.0.3.0 - Production on星期二5月26 16:54:55 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

RMAN-06900:警告:无法生成V$RMAN_STATUS或V$RMAN_OUTPUT行

RMAN-06901:警告:禁止更新V$RMAN_STATUS和V$RMAN_OUTPUT行

来自目标数据库的ORACLE错误:

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-00554:内部恢复管理器程序包初始化失败

RMAN-06003:来自目标数据库的ORACLE错误:

ORA-03114:未连接到ORALCE

虽然没有完全的解决问题,但是前面的操作还是有效的,随后的JOB已经重新运行,并顺利的结束了,既然RMAN需要的资源仍然被锁,说明还有部分僵死的会话没有被清除,检查会话,根据登陆时间找到疑似的问题会话,并根据会话的等待实际来判断是否需要在后台清除:

SQL> SELECT SID, USERNAME, PROGRAM, SERVICE_NAME, LOGON_TIME

2  FROM V$SESSION

3  WHERE LOGON_TIME BETWEEN TO_DATE('2009-5-23', 'YYYY-MM-DD')

4  AND TO_DATE('2009-5-25', 'YYYY-MM-DD')

5  ORDER BY 5;

SID USERNAME       PROGRAM                       SERVICE_NAME          LOGON_TIME

---- -------------- ----------------------------- --------------------- -------------------

299 ZHEJIANG                                     SYS$USERS             2009-05-23 17:01:01

106 ZHEJIANG                                     SYS$USERS             2009-05-23 18:27:00

145 ZHEJIANG                                     SYS$USERS             2009-05-23 18:27:00

时间: 2024-11-02 03:16:49

oracle RMAN备份报错的诊断过程(四)继续清除数据库中僵死的会话的相关文章

oracle RMAN备份报错的诊断过程(二)跟踪错误信息及寻找定位问题的方向

今天检查数据库中的备份输出脚本时,发现RMAN备份出现了错误. 这一篇跟踪错误信息,寻找定位问题的方向. 根据前面的问题描述,发现问题越来越复杂,从一个简单的RMAN备份报错,牵扯到系统中有3个长时间运行的JOB,以及RAC环境当前节点存在了大量的RACGMAIN CHECK进程的存在. 虽然问题很复杂,就不要急于盲目操作,先简单分析一下当前的状况. 发现问题是由于RMAN备份脚本报错造成的,但是根据错误信息和随后的测试发现,问题是可以重现的,并不是简单的RMAN问题,导致问题的原因应该是共享资

oracle RMAN备份报错的诊断过程(五)清除racgimon及racgmain check进程

在上一篇文章中清除了大量的僵死进程,但是这个方法只能治标而不能治本. 除了操作系统中看到的大量racgmain check进程之外,数据库中还可以看到一些racgimon会话: SQL> SELECT SID, USERNAME, PROGRAM, EVENT, SECONDS_IN_WAIT TIME 2  FROM V$SESSION 3  WHERE PROGRAM LIKE 'racg%'; SID USERNAME PROGRAM                      EVENT

oracle RMAN备份报错的诊断过程(一) 问题的现象

今天检查数据库中的备份输出脚本时,发现RMAN备份出现了错误. 这一篇主要描述问题的现象. 错误信息如下: bash-3.00$ more /data/backup/backup_tradedb_090523.out Script. /data/backup/backup_tradedb.sh ==== started on Sat May 23 23:00:00 CST 2009 ==== RMAN: /opt/oracle/product/10.2/database/bin/rman ORA

oracle RMAN备份报错的诊断过程(三)解决JOB长时间未完成的问题

在前面一篇文章中,描述了对当前问题的分析,并简单分析了数据库中未完成的JOB,下面看看导致RMAN无法登陆的原因是否与JOB未完成的原因一致: bash-3.00$ rman target / 恢复管理器: Release10.2.0.3.0 - Production on星期二5月26 15:30:17 2009 Copyright (c) 1982, 2005, Oracle.  All rights reserved. 在RMAN连接被挂起的时候,看看数据库中的会话在等待什么: SQL>

ORACLE rman备份报错之RMAN-03009&amp;ORA-19587&amp;ORA-27072

          >                                                                        

oracle rman备份与ORA-19504&amp;ORA-27040&amp;RMAN-030009

今天,一哥们要对数据库做重要操作,操作之前要做rman全备份,但是因为粗心,写错了备份路径,导致rman备份报错如下图: 由报错提示rman备份程序要将备份文件写入:/Oracle/app/oracle/product/11.2.0/dbhome_1/dbs/Oracle/backup/rman/full_0tsmout.bak", 但是因为/Oracle/app/oracle/product/11.2.0/dbhome_1/dbs/Oracle/backup/rman不存在而报错:ORA-19

用Swingbench 测试oracle数据性能报错

问题描述 用Swingbench 测试oracle数据性能报错 PLS-00201: identifier 'ORDERENTRY.NEWORDER' must be declaredORA-06550: line 1 column 7:PL/SQL: Statement ignored 求大神指导

oracle 恢复数据 报错 ora-01555,请各位帮忙看看 怎么解决

问题描述 oracle 恢复数据 报错 ora-01555,请各位帮忙看看 怎么解决 oracle 恢复数据 两天前的数据,数据量不大,执行下面语句 --开启行移动功能 alter table 表名 enable row movement; --恢复表数据 flashback table 表名 to timestamp to_timestamp('2016-04-07 17:40:00','yyyy-mm-dd hh24:mi:ss'); 报错 : ORA-01555: snapshot too

大神救命-求大神解惑,oracle使用触发器报错,

问题描述 求大神解惑,oracle使用触发器报错, 求大神解惑,oracle使用触发器,在插入的表中无数据时,报错(如下图),再执行就成功了,可是序列从2开始了,我想问下如何让它从1开始不报错 下面是触发器: create or REPLACE trigger trigger_name BEFORE insert on test for each row DECLARE v_newVal NUMBER(12) := 0; BEGIN if(INSERTING AND :new.DEVICEBRA