[20171107]dbms_shared_pool.pin补充.txt

--//上午的测试,做一些补充,主要还是一些理解问题.

1.环境:
SCOTT@book> @ &r/ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SCOTT@book> create sequence seq2 order;
Sequence created.

SCOTT@book> select * from dba_sequences where sequence_name = 'SEQ2' and sequence_owner=user;
SEQUENCE_OWNER                 SEQUENCE_NAME                   MIN_VALUE  MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER
------------------------------ ------------------------------ ---------- ---------- ------------ - - ---------- -----------
SCOTT                          SEQ2                                    1 1.0000E+28            1 N Y         20           1

2.测试:
--//session 1:
SCOTT@book> select seq2.nextval from dual;

NEXTVAL
----------
       142

--//注:执行许多次了.
--//session 2:
SELECT KGLHDADR, KGLHDPAR, KGLHDCLT, KGLNAOWN, KGLNAOBJ, KGLFNOBJ
  FROM x$kglob a
 WHERE kglobtyd = 'SEQUENCE'
   AND kglnaobj = 'SEQ2';

KGLHDADR         KGLHDPAR           KGLHDCLT KGLNAOWN KGLNAOBJ                       KGLFNOBJ
---------------- ---------------- ---------- -------- ------------------------------ --------------------
000000007BBBCFF0 000000007BBBCFF0     119696 SCOTT    SEQ2                           SEQ2

SYS@book> @ &r/sharepool/shp4 000000007BBBCFF0 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007BBBCFF0'  or kglhdpar='000000007BBBCFF0' or kglhdadr='000000007BBBCFF0' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40  KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ---- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007BBBCFF0 000000007BBBCFF0 SEQ2        0 000000007BBBCB08 00                     4728          0          0      4728       4728 3497251728                       10

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ &r/sharepool/shp4 000000007BBBCFF0 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007BBBCFF0'  or kglhdpar='000000007BBBCFF0' or kglhdadr='000000007BBBCFF0' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40  KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ---- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007BBBCFF0 000000007BBBCFF0 SEQ2        0 00               00                        0          0          0         0          0 3497251728                        0

--//快下班在这里转不出来,为什么还在共享池中,仅仅堆0信息被清除了.下午才想起来,如果会话不退出,无论如何刷新,都存在的.
--//session 1 ,现在退出.

SYS@book> @ &r/sharepool/shp4 000000007BBBCFF0 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007BBBCFF0'  or kglhdpar='000000007BBBCFF0' or kglhdadr='000000007BBBCFF0' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40    KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ---- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007BBBCFF0 000000007BBBCFF0 SEQ2          0 00               00                        0          0          0         0          0 3497251728                        0

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ &r/sharepool/shp4 000000007BBBCFF0 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007BBBCFF0'  or kglhdpar='000000007BBBCFF0' or kglhdadr='000000007BBBCFF0' or KGLNAHSH= 0
no rows selected

--//可以发现现在已经不再共享池了,自己有点蒙....^_^.

3.再看看keep的情况.

--//session 1:
SCOTT@book> select seq2.nextval from dual;
   NEXTVAL
----------
       162

--//session 2:
SYS@book> exec dbms_shared_pool.keep('SCOTT.SEQ2','Q');
PL/SQL procedure successfully completed.

SELECT KGLHDADR, KGLHDPAR, KGLHDCLT, KGLNAOWN, KGLNAOBJ, KGLFNOBJ ,KGLHDKMK
  FROM x$kglob a
 WHERE kglobtyd = 'SEQUENCE'
   AND kglnaobj = 'SEQ2';

KGLHDADR         KGLHDPAR           KGLHDCLT KGLNAOWN KGLNAOBJ KGLFNOBJ               KGLHDKMK
---------------- ---------------- ---------- -------- -------- -------------------- ----------
000000007D2CD020 000000007D2CD020     119696 SCOTT    SEQ2     SEQ2                          1

SYS@book> @ &r/sharepool/shp4 000000007D2CD020 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007D2CD020'  or kglhdpar='000000007D2CD020' or kglhdadr='000000007D2CD020' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40   KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ----- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007D2CD020 000000007D2CD020 SEQ2         0 000000007D2CCB38 00                     4728          0          0      4728       4728 3497251728                       10

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ &r/sharepool/shp4 000000007D2CD020 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007D2CD020'  or kglhdpar='000000007D2CD020' or kglhdadr='000000007D2CD020' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40  KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ---- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007D2CD020 000000007D2CD020 SEQ2        0 000000007D2CCB38 00                     4728          0          0      4728       4728 3497251728                       10

--//即使session 1退出,这个seq2也会保持在共享池中.
SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ &r/sharepool/shp4 000000007D2CD020 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007D2CD020'  or kglhdpar='000000007D2CD020' or kglhdadr='000000007D2CD020' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40  KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03        KGLOBT09
-------------- ---------------- ---------------- ---- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ----------
父游标句柄地址 000000007D2CD020 000000007D2CD020 SEQ2        0 000000007D2CCB38 00                     4728          0          0      4728       4728 3497251728                       10

--//这让想起vage书中讲解,刷新一定要一组相似的程序不再运行,刷新才能剔除许多组件.

4.取消keep.
SYS@book> exec dbms_shared_pool.unkeep('SCOTT.SEQ2','Q');
PL/SQL procedure successfully completed.

SYS@book> alter system flush shared_pool;
System altered.

SYS@book> @ &r/sharepool/shp4 000000007D2CD020 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007D2CD020'  or kglhdpar='000000007D2CD020' or kglhdadr='000000007D2CD020' or KGLNAHSH= 0
no rows selected

SELECT KGLHDADR, KGLHDPAR, KGLHDCLT, KGLNAOWN, KGLNAOBJ, KGLFNOBJ ,KGLHDKMK
  FROM x$kglob a
 WHERE kglobtyd = 'SEQUENCE'
  AND kglnaobj = 'SEQ2';
no rows selected

--//顺便测试,这样是否可以keep.

SYS@book> exec dbms_shared_pool.keep('SCOTT.SEQ2','Q');
PL/SQL procedure successfully completed.

SELECT KGLHDADR, KGLHDPAR, KGLHDCLT, KGLNAOWN, KGLNAOBJ, KGLFNOBJ ,KGLHDKMK
  FROM x$kglob a
 WHERE kglobtyd = 'SEQUENCE'
   AND kglnaobj = 'SEQ2';

KGLHDADR         KGLHDPAR           KGLHDCLT KGLNAOWN KGLNAOBJ KGLFNOBJ KGLHDKMK
---------------- ---------------- ---------- -------- -------- -------- --------
000000007DBFCD50 000000007DBFCD50     119696 SCOTT    SEQ2     SEQ2            1

SYS@book> @ &r/sharepool/shp4 000000007DBFCD50 0
old  18:  WHERE kglobt03 = '&1'  or kglhdpar='&1' or kglhdadr='&1' or KGLNAHSH= &2
new  18:  WHERE kglobt03 = '000000007DBFCD50'  or kglhdpar='000000007DBFCD50' or kglhdadr='000000007DBFCD50' or KGLNAHSH= 0
TEXT           KGLHDADR         KGLHDPAR         C40   KGLHDIVC KGLOBHD0         KGLOBHD6           KGLOBHS0   KGLOBHS6   KGLOBT16   N0_6_16        N20   KGLNAHSH KGLOBT03 KGLOBT09
-------------- ---------------- ---------------- ----- -------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- -------- --------
父游标句柄地址 000000007DBFCD50 000000007DBFCD50 SEQ2         0 000000007CFE7010 00                     4728          0          0      4728       4728 3497251728                10

--//另外还有一个不理解的地方,KGLOBT09=10表示什么?在sql语句中这个表示child_number.

[20171107]dbms_shared_pool.pin补充.txt的更多相关文章

  1. [20171107]dbms_shared_pool.pin.txt

    [20171107]dbms_shared_pool.pin.txt --//昨天与别人聊天提到,如果dbms_shared_pool.pin对象,可以改变对应的chunk的类型.我自己也不确定,做一 ...

  2. [20190312]关于增量检查点的疑问(补充).txt

    [20190312]关于增量检查点的疑问(补充).txt --//有人问我以前写一个帖子的问题,关于增量检查点的问题,链接如下:http://blog.itpub.net/267265/viewspa ...

  3. [20190214]11g Query Result Cache RC Latches补充.txt

    [20190214]11g Query Result Cache RC Latches补充.txt --//上午测试链接:http://blog.itpub.net/267265/viewspace- ...

  4. [20180928]ora-01426(补充).txt

    [20180928]ora-01426(补充).txt --//链接:http://www.itpub.net/thread-2105458-1-1.html--//做一点点必要的补充: 1.环境:S ...

  5. [20170604]12c Top Frequency histogram补充.txt

    [20170604]12c Top Frequency histogram补充.txt 1.环境:SCOTT@test01p> @ ver1PORT_STRING                 ...

  6. [20170916]sqlplus set array最小2补充.txt

    [20170916]sqlplus set array最小2补充.txt --//以前写的贴子,链接http://blog.itpub.net/267265/viewspace-1453652/--/ ...

  7. 黑马程序员_超全面的JavaWeb视频教程vedio--.ppt,.pptx,.doc,.txt,.docx列表

    \JavaWeb视频教程_day1-资料源码\day01-html目录.txt;\JavaWeb视频教程_day1-资料源码\PPT\HTML.ppt;\JavaWeb视频教程_day1-资料源码\资 ...

  8. Linux内核配置选项

    http://blog.csdn.net/wdsfup/article/details/52302142 http://www.manew.com/blog-166674-12962.html Gen ...

  9. [20190329]探究sql语句相关mutexes补充2.txt

    [20190329]探究sql语句相关mutexes补充2.txt --//昨天测试sql语句相关mutexes,看看如果出现多个子光标的情况. 1.环境:SCOTT@book> @ ver1P ...

随机推荐

  1. Selenium3 + Python3自动化测试系列一——安装Python+selenium及selenium3 浏览器驱动

    一.安装Python https://www.python.org/downloads/ 验证Python是否安装成功.打开Windows命令提示符(cmd),输入python,回车 注意:在安装的过 ...

  2. ACM学习<3>

    排序算法:      基本:冒泡,快速,选择,堆,插入,shell      多路并归: 1.冒泡排序:      思想:交换排序,通过相邻的交换来达到排序的目的.      流程:         ...

  3. Java并发编程之synchronized关键字

    整理一下synchronized关键字相关的知识点. 在多线程并发编程中synchronized扮演着相当重要的角色,synchronized关键字是用来控制线程同步的,可以保证在同一个时刻,只有一个 ...

  4. Zabbix4.2.0基本配置和邮件报警

    目录 1. 修改中文 2. 添加监控本机 3. 监控本机mysql 4. 配置邮件报警 4.1 添加FTP模板 4.2 报警媒介类型 4.3 配置报警到用户 4.4 配置动作 4.5 模拟FTP故障 ...

  5. CentOS7修改默认启动级别

    如上个随笔所言,Linux分为7个启动级别: 0 - 系统停机状态 1 - 单用户工作状态 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) 4 - 系统未使用,留给用户 5 - 图形 ...

  6. python 浅析格式化输出和深浅copy

    一,格式化输出 今天主要想记录一下关于格式化输出的例子,然后结合了自己的理解,分析如下: 格式是 :百分号+占位符 主要有三种使用形式:%s  (其中s表示string)表示字符串 %d  (其中d表 ...

  7. 带你了解CSRF和XSS(一)

    浏览器的同源策略限制了一些跨域行为,但仍有些特例(img.iframe.script标签)不受跨域限制,这就给XSS攻击创造了机会(这完全不是同源策略的锅,一定是程序员的锅). 在讲下面的内容前,还是 ...

  8. BBWebImage 设计思路

    BBWebImage 设计思路 BBWebImage 是高性能 Swift 图片组件,用于图片下载.缓存.编解码.编辑与展示. GitHub 地址: https://github.com/Silenc ...

  9. 记一次IDEA编译器调优

    前言: 我们知道,IDEA是用Java写的,那么他肯定也存在虚拟机的调优的问题,那么今天我们就对它进行开刀. 下面是默认参数 位置在:C:\Program Files\JetBrains\Intell ...

  10. MVC中子页面如何引用模板页中的jquery脚本

    MVC中子页面如何引用模板页中的jquery脚本 最近在学习mvc,遇到了一个问题:在html页面中写js代码,都是引用mvc5自带的jquery脚本,虽然一拖(将指定的jquery脚本如 jquer ...