oracle sub share pool简介以及 共享sql实现实质。

今天是2013-10-21,从上周五到现在已经三天没有研究oracle,感觉少了很多东西。现在开始继续挖掘oracle的内容


  我们知道在9i开始shared pool已经增加了sub shared pool,我们可以通过转储shared pool来查看,并且到了10g每

个sub shared pool被划分了四个分区,同样通过转储的信息可以 看到sga heap(1,0),sga heap(1,1),sga

heap(1,2) ,sga heap(1,3)。
  另外对于sub shared pool最多有7个,如果cpu个数大于4,且shared pool size 大于250M(10g sub shared pool至

少为256M,11g为512mb)。
该值受隐含参数控制:
可以看到我主机cpu个数为32颗,shared pool size为:2G那么就启用了sub shared pool功能。

23:03:00 sys@REPDB>set linesize 200
23:03:03 sys@REPDB>@getsp.sql
ÊäÈë par µÄÖµ:  kgh
Ô­Öµ    2: where a.indx=b.indx and a.ksppinm like '%&par%'
ÐÂÖµ    2: where a.indx=b.indx and a.ksppinm like '%kgh%'
KSPPINM                                            KSPPSTVL             KSPPDESC
-------------------------------------------------- -------------------- ------------------------------------------------------------
_kghdsidx_count                                    7                    max kghdsidx count
23:03:09 sys@REPDB>show parameter shared_pool_size
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size                     big integer 2G
23:04:08 sys@REPDB>

每个sub sharedpool 都有单独的shared pool latch进行管理:

23:07:57 sys@REPDB>select addr,latch#,name,gets,misses,sleeps,spin_gets,immediate_gets,immediate_misses from v$latch_children where name='shared pool';
ADDR                 LATCH# NAME                                                     GETS     MISSES     SLEEPS  SPIN_GETS IMMEDIATE_GETS IMMEDIATE_MISSES
---------------- ---------- -------------------------------------------------- ---------- ---------- ---------- ---------- -------------- ----------------
C000000048EE76B0        216 shared pool                                          59703790       8097       1028       7091              0                0
C000000048EE7610        216 shared pool                                          74572270      11489       1743       9799              0                0
C000000048EE7570        216 shared pool                                          85353572      16887       2974      14033              0                0
C000000048EE74D0        216 shared pool                                          88043530      18467       3128      15470              0                0
C000000048EE7430        216 shared pool                                          66513683      10129       1126       9036              0                0
C000000048EE7390        216 shared pool                                          84015797      13276       1788      11553              0                0
C000000048EE72F0        216 shared pool                                         578252857      36040       5139      31168              0                0
已选择7行。
23:08:42 sys@REPDB>

另外对于每个sub spool的使用情况也看查看x$kghlu;

对于library cache的转储有如下等级:

level 1,转储library cache 统计信息

level 2,转储hash table 概要

level  4,转储library cache 对象,只包含基本信息

level 8,转储library cache 对象,包含详细信息(如 child references,pin waiters等)

level 16 增加heap sizes 信息

level 32 增加heap信息:

(如上等级转载是eygle的blog)

摘自网络一张shared pool中library cache 图,如下:

对于library cache 有很多hash buckets组成,然后每个hash buckets又有library cache handel(指向library cache object的指针,namespace等信息),library cache object的heap 0为控制信息。

如下所示sql共享的过程:

首先在不同用户下执行sql

SQL> startup force
ORACLE instance started.

Total System Global Area  492707840 bytes
Fixed Size                  2254544 bytes
Variable Size             339740976 bytes
Database Buffers          146800640 bytes
Redo Buffers                3911680 bytes
Database mounted.
Database opened.

SQL> conn scott/root
Connected.
SQL> set linesize 200
SQL> select * from emp;
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH      CLERK           7902 17-DEC-80        800                    20
7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
7566 JONES      MANAGER         7839 02-APR-81       2975                    20
7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
7839 KING       PRESIDENT            17-NOV-81       5000                    10
7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7900 JAMES      CLERK           7698 03-DEC-81        950                    30
7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
14 rows selected.
SQL> conn rhys/amy
Connected.
SQL> select * from emp;
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH      CLERK           7902 17-DEC-80        800                    20
7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
7566 JONES      MANAGER         7839 02-APR-81       2975                    20
7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
7935 SCOTT      ANALYST         7566 19-APR-87       3000                    20
7839 KING       PRESIDENT            17-NOV-81       5000                    10
7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7900 JAMES      CLERK           7698 03-DEC-81        950                    30
7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
14 rows selected.
SQL> 

用户分别为scott以及rhys,但是他们都有一个emp的表。

然后查看在shared pool中存储的sql如下:



SQL> set linesize 200
SQL> col sql_text for a50
SQL> select sql_text,version_count,hash_value,to_char(hash_value,'xxxxxxxxxxxx')hex,address from v$sqlarea where sql_text like 'select * from emp%';
SQL_TEXT                                           VERSION_COUNT HASH_VALUE HEX           ADDRESS
-------------------------------------------------- ------------- ---------- ------------- ----------------
select * from emp                                              3 1745700775      680d47a7 000000007D188328
SQL>
SQL> select sql_text,username,address,hash_value,to_char(hash_value,'xxxxxxxxxx') hex_hash_value,child_number,child_latch from v$sql a,dba_users b
where a.parsing_user_id=b.user_id and sql_text like 'select * from emp%';
2
SQL_TEXT                                           USERNAME                       ADDRESS          HASH_VALUE HEX_HASH_VA CHILD_NUMBER CHILD_LATCH
-------------------------------------------------- ------------------------------ ---------------- ---------- ----------- ------------ -----------
select * from emp                                  RHYS                           000000007D188328 1745700775    680d47a7            1           0
select * from emp                                  SCOTT                          000000007D188328 1745700775    680d47a7            0           0

对library cache进行转储;

SQL> alter session set events 'immediate trace name library_cache level 1';

Session altered.

SQL> alter session set events 'immediate trace name library_cache level 2';

Session altered.

SQL> alter session set events 'immediate trace name library_cache level 4';

Session altered.

SQL> alter session set events 'immediate trace name library_cache level 8';

Session altered.

SQL> alter session set events 'immediate trace name library_cache level 16';

Session altered.

SQL> alter session set events 'immediate trace name library_cache level 32';

Session altered.

SQL>

获得跟踪文件:

SQL> @trace.sql
TRACE_FILE_NAME
----------------------------------------------------------------------
/opt/app/oracle/diag/rdbms/rhys/RHYS/trace/RHYS_ora_1864.trc
SQL> 

通过v$sql中的hash_value值找到对应的bucket;

Bucket: #=83879 Mutex=0x798c4248(0, 32, 0, 6)
  LibraryHandle:  Address=0x7d188328 Hash=680d47a7 LockMode=0 PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select * from emp
      FullHashValue=552d9e82bf86a695a136485b680d47a7 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=1745700775 OwnerIdn=83
    Statistics:  InvalidationCount=1 ExecutionCount=4 LoadCount=6 ActiveLocks=0 TotalLockCount=5 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=2 Version=0 BucketInUse=4 HandleInUse=4 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7d1883d8(0, 6, 0, 0) Mutex=0x7d188468(1, 124, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists: 
      Lock=0x7d1883b8[0x7d1883b8,0x7d1883b8]
      Pin=0x7d188398[0x7d188398,0x7d188398]
      LoadLock=0x7d188410[0x7d188410,0x7d188410]
    Timestamp:  Current=10-22-2013 00:12:23
    HandleReference:  Address=0x7d1884e8 Handle=(nil) Flags=[00]
    LibraryObject:  Address=0x6add20b0 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      ChildTable:  size='16'
        Child:  id='0' Table=0x6add2f60 Reference=0x6add29a0 Handle=0x6d6a4108
        Child:  id='1' Table=0x6add2f60 Reference=0x6add2ce8 Handle=0x6d5f4820
        Child:  id='2' Table=0x6add2f60 Reference=0x6ad6bea8 Handle=0x7d0899f8
    NamespaceDump: 
      Parent Cursor:  sql_id=a2dk8bdn0ujx7 parent=0x6add2150 maxchild=3 plk=n ppn=n
        CursorDiagnosticsNodes: 
          ChildNode:  ChildNumber=0 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835568056 temp_handle=1836716936 schema=92 synonym_object_number=0
        AgedOutCursorDiagnosticNodes: 
          ChildNode:  ChildNumber=1 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835019120 temp_handle=1835568056 schema=0 synonym_object_number=0
          ChildNode:  ChildNumber=0 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835568056 temp_handle=1836716936 schema=92 synonym_object_number=0

Bucket: #=83879 Mutex=0x798c4248(0, 34, 0, 6)
  LibraryHandle:  Address=0x7d188328 Hash=680d47a7 LockMode=0 PinMode=0 LoadLockMode=0 Status=VALD
    ObjectName:  Name=select * from emp
      FullHashValue=552d9e82bf86a695a136485b680d47a7 Namespace=SQL AREA(00) Type=CURSOR(00) Identifier=1745700775 OwnerIdn=83
    Statistics:  InvalidationCount=1 ExecutionCount=4 LoadCount=6 ActiveLocks=0 TotalLockCount=5 TotalPinCount=1
    Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=2 Version=0 BucketInUse=4 HandleInUse=4 HandleReferenceCount=0
    Concurrency:  DependencyMutex=0x7d1883d8(0, 7, 0, 0) Mutex=0x7d188468(1, 126, 0, 6)
    Flags=RON/PIN/TIM/PN0/DBN/[10012841]
    WaitersLists: 
      Lock=0x7d1883b8[0x7d1883b8,0x7d1883b8]
      Pin=0x7d188398[0x7d188398,0x7d188398]
      LoadLock=0x7d188410[0x7d188410,0x7d188410]
    Timestamp:  Current=10-22-2013 00:12:23
    HandleReference:  Address=0x7d1884e8 Handle=(nil) Flags=[00]
    ReferenceList: 
      Reference:  Address=0x6acfef80 Handle=0x6d7b9910 Flags=ROD[21]
      Reference:  Address=0x6ada5f80 Handle=0x6d687200 Flags=ROD[21]
    LibraryObject:  Address=0x6add20b0 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
      DataBlocks: 
        Block:  #='0' name=KGLH0^680d47a7 pins=0 Change=NONE  
          Heap=0x6d7b0b68 Pointer=0x6add2150 Extent=0x6add2030 Flags=I/-/P/A/-/-
          FreedLocation=0 Alloc=4.109375 Size=7.953125 LoadTime=4294245460
      ChildTable:  size='16'
        Child:  id='0' Table=0x6add2f60 Reference=0x6add29a0 Handle=0x6d6a4108
        Child:  id='1' Table=0x6add2f60 Reference=0x6add2ce8 Handle=0x6d5f4820
        Child:  id='2' Table=0x6add2f60 Reference=0x6ad6bea8 Handle=0x7d0899f8
      Children: 
        Child:  childNum='0'
          LibraryHandle:  Address=0x6d6a4108 Hash=0 LockMode=0 PinMode=0 LoadLockMode=0 Status=VALD
            Name:  Namespace=SQL AREA(00) Type=CURSOR(00)
            Statistics:  InvalidationCount=0 ExecutionCount=1 LoadCount=2 ActiveLocks=0 TotalLockCount=5 TotalPinCount=7
            Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=0 Version=0 BucketInUse=0 HandleInUse=0 HandleReferenceCount=0
            Concurrency:  DependencyMutex=0x6d6a41b8(0, 1, 0, 0) Mutex=0x7d188468(1, 126, 0, 6)
            Flags=RON/PIN/PN0/EXP/CHD/[10012111]
            WaitersLists: 
              Lock=0x6d6a4198[0x6d6a4198,0x6d6a4198]
              Pin=0x6d6a4178[0x6d6a4178,0x6d6a4178]
              LoadLock=0x6d6a41f0[0x6d6a41f0,0x6d6a41f0]
            ReferenceList: 
              Reference:  Address=0x6add29a0 Handle=0x7d188328 Flags=CHL[02]
            LibraryObject:  Address=0x6af290b0 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
              Dependencies:  count='2' size='16' table='0x6af29ee8'
                Dependency:  num='0'
                  Reference=0x6af29668 Position=0 Flags=DEP[0001]
                  Handle=0x6d688488 Type=NONE(255) Parent=SCOTT  
                Dependency:  num='1'
                  Reference=0x6af29708 Position=14 Flags=DEP[0001]
                  Handle=0x6d7a1388 Type=TABLE(02) Parent=SCOTT.EMP  
              ReadOnlyDependencies:  count='1' size='16'
                ReadDependency:  num='0' Table=0x6af29f80 Reference=0x6af29568 Handle=0x6d687200 Flags=DEP/ROD/KPP[61]
              Accesses:  count='1' size='16'
                Dependency:  num='1' Type=0009
              Translations:  count='1' size='16'
                Translation:  num='0' Original=0x6d7a1388 Final=0x6d7a1388
              DataBlocks: 
                Block:  #='0' name=KGLH0^680d47a7 pins=0 Change=NONE  
                  Heap=0x6d797f20 Pointer=0x6af29150 Extent=0x6af29030 Flags=I/-/-/A/-/-
                  FreedLocation=0 Alloc=2.421875 Size=3.937500 LoadTime=4294571240
                Block:  #='6' name=SQLA^680d47a7 pins=0 Change=NONE  
                  Heap=0x6add2770 Pointer=0x6b0bcbd0 Extent=0x6b0bbf90 Flags=I/-/-/A/-/E
                  FreedLocation=0 Alloc=9.132812 Size=11.859375 LoadTime=0
            NamespaceDump: 
              Child Cursor:  Heap0=0x6af29150 Heap6=0x6b0bcbd0 Heap0 Load Time=10-22-2013 00:17:48 Heap6 Load Time=10-22-2013 00:17:48
        Child:  childNum='1'
          LibraryHandle:  Address=0x6d5f4820 Hash=0 LockMode=0 PinMode=0 LoadLockMode=0 Status=VALD
            Name:  Namespace=SQL AREA(00) Type=CURSOR(00)
            Statistics:  InvalidationCount=0 ExecutionCount=1 LoadCount=2 ActiveLocks=0 TotalLockCount=3 TotalPinCount=5
            Counters:  BrokenCount=1 RevocablePointer=1 KeepDependency=0 Version=0 BucketInUse=0 HandleInUse=0 HandleReferenceCount=0
            Concurrency:  DependencyMutex=0x6d5f48d0(0, 1, 0, 0) Mutex=0x7d188468(1, 126, 0, 6)
            Flags=RON/PIN/PN0/EXP/CHD/[10012111]
            WaitersLists: 
              Lock=0x6d5f48b0[0x6d5f48b0,0x6d5f48b0]
              Pin=0x6d5f4890[0x6d5f4890,0x6d5f4890]
              LoadLock=0x6d5f4908[0x6d5f4908,0x6d5f4908]
            ReferenceList: 
              Reference:  Address=0x6add2ce8 Handle=0x7d188328 Flags=CHL[02]
            LibraryObject:  Address=0x6cf1d0b0 HeapMask=0000-0001-0001-0000 Flags=EXS[0000] Flags2=[0000] PublicFlags=[0000]
              Dependencies:  count='2' size='16' table='0x6cf1dee8'
                Dependency:  num='0'
                  Reference=0x6cf1d668 Position=0 Flags=DEP[0001]
                  Handle=0x6d7f37d0 Type=NONE(255) Parent=RHYS  
                Dependency:  num='1'
                  Reference=0x6cf1d708 Position=14 Flags=DEP[0001]
                  Handle=0x6d688bb8 Type=TABLE(02) Parent=RHYS.EMP  
              ReadOnlyDependencies:  count='1' size='16'
                ReadDependency:  num='0' Table=0x6cf1df80 Reference=0x6cf1d568 Handle=0x6d7b9910 Flags=DEP/ROD/KPP[61]
              Accesses:  count='1' size='16'
                Dependency:  num='1' Type=0009
              Translations:  count='1' size='16'
                Translation:  num='0' Original=0x6d688bb8 Final=0x6d688bb8
              DataBlocks: 
                Block:  #='0' name=KGLH0^680d47a7 pins=0 Change=NONE  
                  Heap=0x6d774d00 Pointer=0x6cf1d150 Extent=0x6cf1d030 Flags=I/-/-/A/-/-
                  FreedLocation=0 Alloc=2.421875 Size=3.937500 LoadTime=4294578230
                Block:  #='6' name=SQLA^680d47a7 pins=0 Change=NONE  
                  Heap=0x6add2b88 Pointer=0x6b2f46d0 Extent=0x6b2f3a90 Flags=I/-/-/A/-/E
                  FreedLocation=0 Alloc=9.132812 Size=11.859375 LoadTime=0
            NamespaceDump: 
              Child Cursor:  Heap0=0x6cf1d150 Heap6=0x6b2f46d0 Heap0 Load Time=10-22-2013 00:17:55 Heap6 Load Time=10-22-2013 00:17:55
        Child:  childNum='2'
          LibraryHandle:  Address=0x7d0899f8 Hash=0 LockMode=0 PinMode=0 LoadLockMode=0 Status=INVL
            Name:  Namespace=SQL AREA(00) Type=CURSOR(00)
            Statistics:  InvalidationCount=1 ExecutionCount=0 LoadCount=1 ActiveLocks=0 TotalLockCount=1 TotalPinCount=2
            Counters:  BrokenCount=2 RevocablePointer=2 KeepDependency=0 Version=0 BucketInUse=0 HandleInUse=0 HandleReferenceCount=0
            Concurrency:  DependencyMutex=0x7d089aa8(0, 1, 0, 0) Mutex=0x7d188468(1, 126, 0, 6)
            Flags=RON/PIN/PN0/EXP/CHD/[10010111]
            WaitersLists: 
              Lock=0x7d089a88[0x7d089a88,0x7d089a88]
              Pin=0x7d089a68[0x7d089a68,0x7d089a68]
              LoadLock=0x7d089ae0[0x7d089ae0,0x7d089ae0]
            ReferenceList: 
              Reference:  Address=0x6ad6bea8 Handle=0x7d188328 Flags=CHL[02]
            ObjectFreed=last freed from LKDL addn data INV
            NamespaceDump: 
              Child Cursor:  Heap0=0xc0cc9e0 Heap6=0x7d0899f8 Heap0 Load Time=250-255-07-65 254:-1:-1 Heap6 Load Time=00-00--100-100 -1:-1:-1
    NamespaceDump: 
      Parent Cursor:  sql_id=a2dk8bdn0ujx7 parent=0x6add2150 maxchild=3 plk=n ppn=n
        CursorDiagnosticsNodes: 
          ChildNode:  ChildNumber=0 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835568056 temp_handle=1836716936 schema=92 synonym_object_number=0
        AgedOutCursorDiagnosticNodes: 
          ChildNode:  ChildNumber=1 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835019120 temp_handle=1835568056 schema=0 synonym_object_number=0
          ChildNode:  ChildNumber=0 ID=37 reason=Authorization Check failed(4) size=5x4 translation_table_position=0 original_handle=1835568056 temp_handle=1836716936 schema=92 synonym_object_number=0

通过v$sql中的hash_value找到该sql在library cache中的hash value(sql在解析的时候会把sql转换成ascii,然后再按照ascii进行hash计算得到的hash value)。然后我们可以知道hash值就是我们查看的v$sqlarea值680d47a7,状态为vald(有效的),对象是执行了select * from emp 语句,在该 library handle 中有namespace 为sql area,类型为cursor,标示符为1745700775正式我们在v$sqlarea查看的hash_value,并且还有一个owneridn号为83,那么通过这个号,可以知道该用户为:scott,正是第一次进行sql执行的用户。

SQL> select username,user_id from dba_users where user_id=83;

USERNAME                          USER_ID
------------------------------ ----------
SCOTT                                  83

SQL>
然后看下一个更加详细的内容:
library handle 可以看到Hash=680d47a7 ,ObjectName:  Name=select * from emp 用户为83(scott)和第一个转储的一样的信息,然后继续往下看,当我们看到referencelist的时候正式有个handle概要信息,指向了不同的library cache object 的handle,;
Reference:  Address=0x6acfef80 Handle=0x6d7b9910 Flags=ROD[21]
Reference:  Address=0x6ada5f80 Handle=0x6d687200 Flags=ROD[21]
首先看:Child:  childNum='0'
根据以上信息继续查看library cache object内容:
Dependencies:  count='2' size='16' table='0x6af29ee8'
                Dependency:  num='0'
                  Reference=0x6af29668 Position=0 Flags=DEP[0001]
                  Handle=0x6d688488 Type=NONE(255) Parent=SCOTT  
                Dependency:  num='1'
                  Reference=0x6af29708 Position=14 Flags=DEP[0001]
                  Handle=0x6d7a1388 Type=TABLE(02) Parent=SCOTT.EMP
ReadOnlyDependencies:  count='1' size='16'
                ReadDependency:  num='0' Table=0x6af29f80 Reference=0x6af29568 Handle=0x6d687200 Flags=DEP/ROD/KPP[61]
注意这里的Handle=0x6d687200正是依赖的library cache handle中的Reference:  Address=0x6ada5f80 Handle=0x6d687200 Flags=ROD[21] 。

在看下Child:  childNum='1' :
           Dependencies:  count='2' size='16' table='0x6cf1dee8'
                Dependency:  num='0'
                  Reference=0x6cf1d668 Position=0 Flags=DEP[0001]
                  Handle=0x6d7f37d0 Type=NONE(255) Parent=RHYS  
                Dependency:  num='1'
                  Reference=0x6cf1d708 Position=14 Flags=DEP[0001]
                  Handle=0x6d688bb8 Type=TABLE(02) Parent=RHYS.EMP  
              ReadOnlyDependencies:  count='1' size='16'
                ReadDependency:  num='0' Table=0x6cf1df80 Reference=0x6cf1d568 Handle=0x6d7b9910 Flags=DEP/ROD/KPP[61]
可以看到同样Handle=0x6d7b9910指向了reference信息中的handle。

Child:  childNum='2' 到这里才是正在不需要进行sql共享的根源。

oracle sub share pool简介以及 共享sql实现实质。相关推荐

  1. oracle11 share pool,Oracle Shared pool 详解

    . Shared Pool概述 在之前的blog对的内存也做了一个概述,参考: Oracle内存架构详解 在网上搜到一篇介绍shared pool非常详细的pdf资料. 原文链接以找不到,但还是要感谢 ...

  2. oracle性能调优之--Share Pool 调整与优化

    --======================================= -- 共享池的调整与优化(Sharedpool Tuning) --======================== ...

  3. Oracle内存结构详解(三)--管理Oracle Share Pool

    SGA中的共享池由库缓存(Library Cache).字典缓存(Dictionary Cache).用于并行执行消息的缓冲以及控制结构组成. Shared Pool的大小由参数SHARED_POOL ...

  4. 共享SQL语句减少硬解析

    这篇文章是参考甲骨论老相老师所做的教学视频: http://v.youku.com/v_show/id_XMzkyMTczMTQ4.html 所做的学习笔记: 接上文: http://nvd11.bl ...

  5. Oracle 11g 新特性简介

    Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Informat ...

  6. oracle px msg pool,ora-04031 ora-12583 ora-12801 ora-12853 求助

    本帖最后由 snowermine 于 2013-3-12 13:32 编辑 各位大侠, 遇到一问题,数据库oracle11.2.0.3在跑一些存储过程的时候会遇到错误: alert.log如下: Th ...

  7. oracle 删除列 大数据_Oracle 删除指定sql的执行计划。

    1. oracle10g以前我们都是直接刷新共享池,但这样数据库中所有sql的执行计划都会被删掉.这种办法也不可取,下面简单介绍一下这种办法: 测试版本: SQL> select * from ...

  8. 内存之私有sql区和共享sql区

    内存之私有sql区和共享sql区 私有sql区来自UGA:共享sql区来自SGA 首先先来了解一下PGA的结构: 图为11g中PGA的结构图 可以分为三部分:Private SQL Area; Ses ...

  9. Oracle系列之add_months简介以及用法归纳教程

    Oracle系列之add_months简介以及用法归纳教程 最近遇到一个SQL统计,需要遇到获取某个日期n个月后的日期,比如统计入职时间超过2年的员工信息 如果不依靠Oracle函数,自己去写有点麻烦 ...

最新文章

  1. MySQL 获得当前日期时间 函数
  2. python中with类的_在Python中使用`with`的不同类
  3. 网上书店 整体需求分析
  4. git 代码强行提交
  5. 【持续..】WEB前端面试知识梳理 - CSS部分
  6. shell sqlplus执行sql文_如何通过 Shell 监控异常等待事件和活跃会话
  7. 【个人笔记】OpenCV4 C++ 快速入门 26课
  8. 新员工不继续试用,这事怪谁?
  9. C++ WinHTTP实现文件下载
  10. VueSSR的一些理解和详细配置
  11. VMware虚拟机 centos8 解决全屏问题
  12. frameworks/base/core/res/res/values/symbols.xml:3915: error: no definition for declared symbol解决办法
  13. cdn的费是多少_CDN多少钱_CDN服务如何收费_CDN服务价格-华为云
  14. 为什么分布电容会缩短信号的传输距离
  15. java后端和web_从java和web角度分析前端好还是后端好
  16. 手机+卫星,到底有多难?
  17. 一些 MDK 使用技巧
  18. 百度快照优化推广五大坑
  19. 使用CMD满速下载百度云
  20. 云服务器视频监控系统,云服务器视频监控系统

热门文章

  1. 基于JAVA在线课程教学大纲系统计算机毕业设计源码+系统+lw文档+部署
  2. C语言课程设计 自行车管理系统
  3. 文本检测(Text Detection)简要综述
  4. Linux 字符串截取命令
  5. WEB类开发小团队构建篇(一)
  6. js主要是用来向html页面中,JavaScript主要作用是什么?
  7. SQL模糊查询逗号分隔的字符串
  8. Runnable方式创建线程详解
  9. Json数据格式的使用
  10. 量化:年化收益、期初收益、期末收益、年份,任意3个值计算剩下的1个值