Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

1

好友

4

主题
1#
发表于 2013-3-6 22:10:05 | 查看: 3381| 回复: 5
新手报道,求教。
前两天做实验。
alter session set events 'immediate trace name heapdump level 2';

跟踪文件中
HEAP DUMP heap name="sga heap"  desc=0x2000002c
114  extent sz=0x32c8 alt=108 het=32767 rec=9 flg=-126 opc=0
  115  parent=(nil) owner=(nil) nex=(nil) xsz=0x0

HEAP DUMP heap name="sga heap(1,0)"  desc=0x2001a3c0
  118  extent sz=0xfc4 alt=108 het=32767 rec=9 flg=-126 opc=0
  119  parent=(nil) owner=(nil) nex=(nil) xsz=0x400000
  120 EXTENT 0 addr=0x2e800000
  121   Chunk 2e800038 sz=       24  R-freeable  "reserved stoppe"
  122   Chunk 2e800050 sz=   212888  R-free      "               "
  123   Chunk 2e833fe8 sz=       24  R-freeable  "reserved stoppe"
  124   Chunk 2e834000 sz=  3981312    perm      "perm           "  alo=3913352

请问
parent=(nil) owner=(nil) nex=(nil) xsz=0x0 这个是什么 文件中多次出现行。
2#
发表于 2013-3-6 22:13:48
该问题延迟到 明天白天 回答, 晚安

回复 只看该作者 道具 举报

3#
发表于 2013-3-7 10:43:28
请仔细看以下 演示;

SQL> oradebug setmypid
Statement processed.
SQL> oradebug dump heapdump 536870914;
Statement processed.
SQL> oradebug tracefile_name
/u01/app/oracle/diag/rdbms/cdb1/cdb1/trace/cdb1_ora_5287.trc
SQL>


HEAP DUMP heap name="KSFD SGA I/O b"  desc=0x6000dd98
extent sz=0x4258 alt=32767 het=32767 rec=9 flg=2 opc=0
parent=0x60001130 owner=(nil) nex=(nil) xsz=0x3cafc0 heap=(nil)
fl2=0x28, nex=(nil), dsxvers=1, dsxflg=0x0
dsx first ext=0x7e835010
pdb id=1



例如  parent=0x60001130 owner=(nil) nex=(nil) xsz=0x3cafc0 heap=(nil)



HEAP DUMP heap name="sga heap"  desc=0x60001130
extent sz=0x42308 alt=248 het=32767 rec=9 flg=-126 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x0 heap=(nil)
fl2=0x60, nex=(nil)
pdb id=1
ds for latch 1: 0x60054700 0x60055f58 0x600577b0 0x60059008
reserved granule count 11 (granule size 4194304)
RESERVED EXTENTS
  0x78400000 0x78000000 0x77c00000 0x77800000
  0x77400000 0x77000000 0x76c00000 0x76800000
  0x76400000 0x76000000 0x75c00000
Counted elements on list: 11



KSFD SGA I/O b是 "sga heap"的 子堆 subheap , 则 "sga heap" 是KSFD SGA I/O b的 父堆 ,

KSFD SGA I/O b的 parent=0x60001130 ==》指向 "sga heap"的 地址


536870914 level heapdump 也会列出 父子堆关系, 如下  sga heap(1,1) 有5个最大的 sub heaps 包括 KSFD SGA I/O b

KSFD是ASM 相关的subeap


FIVE LARGEST SUB HEAPS for heap name="sga heap(1,1)"   desc=0x60055f58
  Subheap ds=0x6000dd98  heap name=  KSFD SGA I/O b  size=         3977200
   owner=(nil)  latch=(nil)
  Subheap ds=0x7ec7a4c8  heap name=  OFS SGA pool h  size=         3867880
   owner=(nil)  latch=(nil)
  Subheap ds=0x7e529828  heap name=        PDB Heap  size=         1347472
   owner=(nil)  latch=(nil)
  Subheap ds=0x7d949730  heap name=        PDB Heap  size=         1347432
   owner=(nil)  latch=(nil)
  Subheap ds=0x7e527fd0  heap name=        PDB Heap  size=         1346528
   owner=(nil)  latch=(nil)
SUBHEAP 1: desc=0x6000dd98


SUBHEAP 4: desc=0x796ce448
******************************************************
HEAP DUMP heap name="PLDIA^2d801e1c"  desc=0x796ce448
extent sz=0xfe8 alt=32767 het=56 rec=0 flg=2 opc=2
parent=0x60001130 owner=0x796ce2b8 nex=(nil) xsz=0xfe8 heap=(nil)
fl2=0x26, nex=(nil), dsxvers=1, dsxflg=0x0
dsx first ext=0x792dc030
pdb id=1






回复 只看该作者 道具 举报

4#
发表于 2013-3-7 11:05:11
HEAP DUMP heap name="sga heap(1,0)"  desc=056913C8
extent sz=0xfc4 alt=108 het=32767 rec=9 flg=-126 opc=0
parent=00000000 owner=00000000 nex=00000000 xsz=0x400000
这个关系我还是了解点  
parent=0x60001130 owner=(nil) nex=(nil) xsz=0x3cafc0 heap=(nil)
fl2=0x28, nex=(nil)
您好,恕我无知,nil是什么 为什么叫这个名字 昨天晚上我跟踪出来的windows平台 owner=00000000  

回复 只看该作者 道具 举报

5#
发表于 2013-3-7 11:06:16
windows和unix上的heap管理很不一样 ,建议你到unix/linux上平台 研究oracle内存管理

回复 只看该作者 道具 举报

6#
发表于 2013-3-7 11:29:03
您好,追问,owner中的nil是怎么来的,是一个什么角色,有啥功能。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-27 16:29 , Processed in 0.047102 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569