|
oracle 9206 三节点rac。
hp 11.11
以下操作均在节点1(gdrac1)上操作。
在一次truncate一个大表的过程中:
SQL> select sum(bytes)/1024/1024/1024 size_g from user_segments where
segment_name='ALERTBUFF';
SIZE_G
----------
329.8125
1* select tablespace_name,PARTITIONED from user_tables where table_name='ALERTBUFF'
SQL> /
TABLESPACE_NAME PAR
------------------------------ ---
DATA_DYNAMIC NO
SQL> select EXTENT_MANAGEMENT,SEGMENT_SPACE_MANAGEMENT from user_tablespaces where
tablespace_name='DATA_DYNAMIC';
EXTENT_MAN SEGMEN
---------- ------
LOCAL MANUAL
SQL> select index_name,tablespace_name,PARTITIONED from user_indexes where table_name='ALERTBUFF';
INDEX_NAME TABLESPACE_NAME PAR
------------------------------ ------------------------------ ---
IDX_ALERTBUFF_ALERTTIME DATA_DYNAMIC NO
PK_ALERTBUFF DATA_DYNAMIC NO
我们执行了truncate table xxx reuse storage,希望通过分步回缩extent的方式在truncate该表。
但是在truncate table ALERTBUFF reuse storage的时候,网络中断了。再次登录db的时候,发现该session还在,找到其sid,serial#,spid,kill掉session和os中的process,希望重新跑。
检查起状态已经变成killed,但是其dba dml lock中仍然有其锁存在:
SQL> select * from dba_dml_locks;
SESSION_ID OWNER NAME MODE_HELD
MODE_REQUESTE LAST_CONVERT BLOCKING_OTHERS
---------- ------------------------------ ------------------------------ -------------
------------- ------------ ----------------------------------------
64 MISC ALERTBUFF Exclusive
None 1643 Global
64 SYS MLOG$ Row-X (SX) None 1643
Global
SQL> l
1* select * from v$session_wait where sid=64
SQL> /
SID SEQ# EVENT
P1TEXTP1 P1RAW P2TEXT
P2 P2RAW P3TEXT P3 P3RAW WAIT_TIME
SECONDS_IN_WAIT STATE
---------- ---------- ----------------------------------------------------------------
---------------------------------------------------------------- ----------
----------------
---------------------------------------------------------------- ----------
----------------
---------------------------------------------------------------- ----------
---------------- ---------- --------------- -------------------
64 3540 DFS lock handle
type|mode1128857605 0000000043490005 id1
18 0000000000000012 id2 2 0000000000000002
0 39340 WAITING
SQL>
在alertlog中有告警信息:
ARC1: Beginning to archive log 5 thread 1 sequence 53670
Creating archive destination LOG_ARCHIVE_DEST_1: '/arch/gdrac_1_53670.arc'
ARC1: Completed archiving log 5 thread 1 sequence 53670
Wed Oct 29 23:12:28 2008
PMON failed to delete process, see PMON trace file
Wed Oct 29 23:14:40 2008
Thread 1 advanced to log sequence 53672
Current log# 1 seq# 53672 mem# 0: /ora_redo/redo11
Current log# 1 seq# 53672 mem# 1: /ora_redo/redo12
Wed Oct 29 23:14:40 2008
相关的pmon trace file见附件。
目前关于这个表的任何操作都无法进行!即使是select也会有library cache lock。
请问如何在不重启instance、重启database的情况下,解决该问题!
谢谢!
[ 本帖最后由 jimmyhe1981 于 2008-10-30 10:27 编辑 ] |
|