14.oracle的dump理解十四 窥视内存

14.oracle的dump理解十四 窥视内存

欢迎转载,转载请标明出处:      http://blog.csdn.net/notbaron/article/details/51284582 

需要检查特定位置内存的内容,特定变量的内容。

       例如想知道SGA中,变量kcbnhb的内容(kcb是buffer cache,nhb是哈希桶的数字)

查看如下:

SQL> oradebug dumpvar sga kcbnhb

ub8 kcbnhb_ [14C2B8FA0, 14C2B8FA8) =00020000 00000000

查看会话某个变量的值:

SQL> oradebug dumpvar uga ugauso_p

qolprm ugauso_p [026FC2990, 026FC29B4) =00000000 00000000 00000000 00000000 000

00000 00000000 00000000 00000000 00000000

SQL> alter session setuse_stored_outlines=rule_based;

会话已更改。

SQL> oradebug dumpvar uga ugauso_p

qolprm ugauso_p [026FC2990, 026FC29B4) =00000001 5552000A 425F454C 44455341 000

00000 00000000 00000000 00000000 00000000

       查找SGA中的变量名字,可以查询结构x$ksmfsv,如下:

SQL> select * from x$ksmfsv where ksmfsnam like'kcbn%';

ADDR INDX INST_ID CON_ID KSMFSNAM KSMFSTYP KSMFSADR  KSMFSSIZ

000000014A13F3A0  4413 1    0 kcbnbh_ sword 000000014C2B4800    4

…………..

可以根据地址来查看变量值:

SQL> oradebug peek 0x000000014C2B4800    4

[14C2B4800, 14C2B4804) = 0000A870

第二个参数 4 表示显示的字节数。

如果知道内存地址,可以直接查看,命令如下:

SQL> select * from x$ksmmem whereaddr=hextoraw('14C2B4800');

如果使用x$ksmem进行查看没有映射的地址,会话会报错ORA-03113。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值