日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

se.arch.php,arch暴涨,数据库差点挂。请教

發布時間:2023/12/14 php 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 se.arch.php,arch暴涨,数据库差点挂。请教 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何查找瘋狂增長arch的進程

· 作者 小荷||【轉載時請務必以超鏈接形式標明文章原始出處和作者信息】

· 永久鏈接: http://www.oracleblog.cn/working ... h-increase-crazily/ ·

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

如果我們要找到是什么進程引起了arch瘋狂增長,我們可以用這樣的方法來查找:

我們假設我們要生成一個大表,用ctas的方法來做,由于是ddl語句,我們在v$sqlarea里面找不到對應的語句,但是我們發現這個session產生大量的arch,那么我們怎么去找這個session呢?

[php]

SQL>

SQL> select distinct sid from v$mystat;

SID

----------

11

SQL> create table x1 tablespace ts_big as select rownum as x1_num,t.* from dba_source t

2??/

表已創建。

SQL> create table x2 tablespace ts_big as select rownum as x1_num,t.* from dba_source t

2??/

表已創建。

SQL>

SQL> create table x3??tablespace ts_big as select x1.* from x1,x2;

[/php]

我們這邊可以看到我當前的sid是11,我們用ctas創建一個大表x3。此時arch開始飛快的增長……

由于一般這樣的故障,都是由于一個session引發了大量的歸檔日志,在這里我們用v$sestat來看在單位時間內哪個session生成的redo量最多,哪個session切換redo次數最多。

[php]

SQL> create table t1 as select sid,value,NAME,sysdate as chkdt from??v$sesstat a,v$statname b where a.STATISTIC#=b.STATISTIC# and b.CLASS=2;

####### 過一段時間后,我們再次截取關于每個session關于redo的信息(v$statname.class=2表示針對redo)####

SQL> create table t2 as select sid,value,NAME,sysdate as chkdt from??v$sesstat a,v$statname b where a.STATISTIC#=b.STATISTIC# and b.CLASS=2;

###### 我們查看是哪個sid在單位時間內生成的redo最多 ###########

SQL> select t1.SID,t1.NAME,sum((t2.VALUE-t1.VALUE)/(t2.CHKDT-t1.CHKDT)) from t1,t2 where t1.sid=t2.sid and t1.name=t2.name and t1.name in ('redo size','redo entries') group by t1.sid,t1.name order by 2,3;

SID NAME? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? SUM((T2.VALUE-T1.VALUE)/(T2.CHKDT-T1.CHKDT))

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

1 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

3 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

4 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

7 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

10 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

16 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

9 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

6 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

5 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

2 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 34560

12 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 72000

8 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?383040

11 redo entries? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 12876480

1 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

3 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

4 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

6 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

7 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

10 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

9 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

16 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

5 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???0

2 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???4308480

12 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 38718720

8 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 82702080

11 redo size? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?9.6422E+10

已選擇26行。

SQL>

[/php]

我們看到sid為11的session產生了大量的redo,因此使得arch瘋狂的增長。在此,我們可以kill掉這個罪魁禍首了。

由于我們的語句是ddl語句,因此我們如果去找對應的sql,我們會發現其實里面是在操作數據字典:

[php]

SQL> select sql_text from v$sqlarea a,v$session b where a.address=b.sql_address and b.sid=11;

SQL_TEXT

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

insert into col$(obj#,name,intcol#,segcol#,type#,length,precision#,scale,null$,o

ffset,fixedstorage,segcollength,deflength,default$,col#,property,charsetid,chars

etform,spare1,spare2,spare3)values(:1,:2,:3,:4,:5,:6,decode(:7,0,null,:7),decode

(:5,2,decode(:8,-127/*MAXSB1MINAL*/,null,:8),178,:8,179,:8,180,:8,181,:8,182,:8,

183,:8,231,:8,null),:9,0,:10,:11,decode(:12,0,null,:12),:13,:14,:15,:16,:17,:18,

:19,:20)

SQL>

SQL>

[/php]

我們雖然不能找到sql,但是我們已經能發現這個session,kill之:)

如果問題已經發生了,我們只能用logmnr來分析arch了,但是在這里ctas的ddl在arch中也是類似對數據字典的操作:

[php]

SQL> select SQL_REDO,OPERATION,seg_name,SEG_OWNER from logmnr1;

SQL_REDO

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

OPERATION

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

SEG_NAME

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

SEG_OWNER

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

insert into "UNKNOWN"."OBJ# 30361"("COL 1","COL 2","COL 3","COL 4","COL 5","COL

6") values (HEXTORAW('c3056005'),HEXTORAW('524d414e'),HEXTORAW('44424d535f524356

4d414e'),HEXTORAW('5041434b41474520424f4459'),HEXTORAW('c21925'),HEXTORAW('20202

0202020414e4420286e65656473746279206973204e554c4c204f520a'));

DIRECT INSERT

insert into "UNKNOWN"."OBJ# 30361"("COL 1","COL 2","COL 3","COL 4","COL 5","COL

6") values (HEXTORAW('c3056006'),HEXTORAW('524d414e'),HEXTORAW('44424d535f524356

4d414e'),HEXTORAW('5041434b41474520424f4459'),HEXTORAW('c21926'),HEXTORAW('20202

020202020202020206e766c2869735f7374616e6462792c20274e2729203d206465636f6465286e6

56564737462792c2054525545232c202759272c20274e2729290a'));

DIRECT INSERT

insert into "UNKNOWN"."OBJ# 30361"("COL 1","COL 2","COL 3","COL 4","COL 5","COL

6") values (HEXTORAW('c3056007'),HEXTORAW('524d414e'),HEXTORAW('44424d535f524356

4d414e'),HEXTORAW('5041434b41474520424f4459'),HEXTORAW('c21927'),HEXTORAW('20202

0204f5244455220425920746872656164232c206c6f775f73636e2c20616c5f7374616d702064657

3633b0a'));

DIRECT INSERT

insert into "UNKNOWN"."OBJ# 30361"("COL 1","COL 2","COL 3","COL 4","COL 5","COL

6") values (HEXTORAW('c3056008'),HEXTORAW('524d414e'),HEXTORAW('44424d535f524356

4d414e'),HEXTORAW('5041434b41474520424f4459'),HEXTORAW('c21928'),HEXTORAW('2d2d2

05468697320637572736f722069732075736564206279206b726d6b646d7228292e20206b726d6b6

46d72282920757365730a'));

DIRECT INSERT

……SQL> select object_name from dba_objects where object_id='30361';

OBJECT_NAME? ?? ?? ?? ?? ?? ???OBJECT_TYPE

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

X3? ?? ?? ?? ?? ?? ?? ?? ?? ???TABLE

.

[/php]

[本帖最后由 jimmyhe1981 于 2008-1-21 23:28 編輯]

總結

以上是生活随笔為你收集整理的se.arch.php,arch暴涨,数据库差点挂。请教的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。