dba_hist_active_sess_historyでp 2列の値をsidに換算する手順
1309 ワード
スレッド「一回のcursor:pin S wait on X事件のフォロー」(http://blog.csdn.net/msdnchina/article/details/45372011)の中で、一つの知識点があります。元の作者は計算過程を書いていません。
もう一つの知識点:dbachuhistudective eushistoryビューでは、p 1 raw列(16進数)はなく、p 1列のみ、p 1列number型は10進数、p 2 raw列はありません。p 2列のみ、p 2列number型は10進数、p 3列はありません。
v$sessionとv$sessionuwaitビューでは、p 1列、p 1列number型、10進数、p 2 raw列(16進数)、p 2列number型、10進数、p 3 raw列(16進数)、p 2列、p 2列number型、10進数、p 3 raw列があります。
SQL> select distinct session_id,session_serial#,p1,p2
2 from temp_hist_active_sess_history
3 where event ='cursor: pin S wait on X'
4 and rownum<=50;
, p2=21333102559232, 4967
:temp_hist_active_sess_history :
SQL> create table temp_hist_active_sess_history nologging as
2 select * from dba_hist_active_sess_history
3 where to_char(sample_time, 'yyyymmddhh24') between '2011030717' and '2011030722';
p 2=2133102559232(p 2は10進)を分析します。前の2バイトのデータは4967です。計算プロセスは以下の通りです。-- 16
select to_char(21333102559232,'xxxxxxxxxxxxxxxxxxxxxxxxxxxx') from dual;
------ 136700000000, 4 0:
0000136700000000
8bytes:00001367
select to_number('00001367','xxxxxxxxxxxxxxxxxxxxxxxxxxxxx') from dual;
------ 4967
もう一つの知識点:dbachuhistudective eushistoryビューでは、p 1 raw列(16進数)はなく、p 1列のみ、p 1列number型は10進数、p 2 raw列はありません。p 2列のみ、p 2列number型は10進数、p 3列はありません。
v$sessionとv$sessionuwaitビューでは、p 1列、p 1列number型、10進数、p 2 raw列(16進数)、p 2列number型、10進数、p 3 raw列(16進数)、p 2列、p 2列number型、10進数、p 3 raw列があります。