14.oracle的dump理解十四 窥视内存
2016-04-29 22:19
507 查看
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。
欢迎转载,转载请标明出处: 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。
相关文章推荐
- 13.oracle的dump理解十二 dump heap
- 12.oracle的dump理解十二 dump library_cache_object
- 11.oracle的dump理解十一 dump library_cache
- 10.oracle的dump理解十 dump CONTROL文件头
- 9.oracle的dump理解九 dump REDO文件头
- 8.oracle的dump理解八 dump文件头
- 7.oracle的dump理解七 enqueue理论及dump enqueues
- 4.latch之oracle latch undo globaldata
- 2.latch之oracle latch
- ORACLE时间日期星期(SYSDATE)相关处理
- oracle的存储过程和存储函数
- Oracle基础 --常用SQL语句
- Oracle中(+)的作用
- PL/SQL配置Oracle数据库路径
- oracle_建表并指定字段和描述
- oracle_日期维度表插入数据
- oracle 新建用户
- oracle根据表明查询表字段结构
- oracle日志挖掘dbms_logmnr
- oracle数据库rman备份与还原