[20180510]sqlplus array 和 opifch2.txt

简介: [20180510]sqlplus array 和 opifch2.txt --//我以前通过10046跟踪发现fetchsize的大小,一般在sqlplus下第1个总是1条,然后是arraysize大小.

[20180510]sqlplus array 和 opifch2.txt

--//我以前通过10046跟踪发现fetchsize的大小,一般在sqlplus下第1个总是1条,然后是arraysize大小.
--//也可以通过别的方式观察,通过例子说明问题.
1.环境:
SCOTT@book> @ 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> @ &r/spid
       SID    SERIAL# PROCESS                  SERVER    SPID       PID  P_SERIAL# C50
---------- ---------- ------------------------ --------- ------ ------- ---------- --------------------------------------------------
        94         31 3282                     DEDICATED 3283        31         15 alter system kill session '94,31' immediate;

SCOTT@book> set arraysize 3
SCOTT@book> select count(*) from emp;
  COUNT(*)
----------
        14

2./打开另外终端回话,执行:
8]$ gdb -p 3283
GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-45.el5)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Attaching to process 3283
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/oracle...(no debugging symbols found)...done.
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libodm11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libodm11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libcell11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxp11.so
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnnz11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libclsra11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libdbcfg11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libhasgen11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libskgxn2.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocr11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrb11.so
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libocrutl11.so
Reading symbols from /usr/lib64/libaio.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libaio.so.1
Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnsl.so.1
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/libnuma.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libnuma.so.1
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so...(no debugging symbols found)...done.
Loaded symbols for /u01/app/oracle/product/11.2.0.4/dbhome_1/lib/libnque11.so
0x000000379a00da70 in __read_nocancel () from /lib64/libpthread.so.0

--//输入如下:
(gdb) b opifch2
Breakpoint 1 at 0x95b4cac
(gdb) command 1
Type commands for when breakpoint 1 is hit, one per line.
End with a line saying just "end".
>p/d $rcx
>c
>end
(gdb) set pagination off
(gdb) c
Continuing.

2.测试:
SCOTT@book> select * from emp;
...
SCOTT@book> select * from emp;
SCOTT@book> select * from emp;

--//观察gdb会话:(注从第3次观察,因为前面的执行存在递归)
Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$21 = 140735563509568

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$22 = 3

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$23 = 3

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$24 = 3

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$25 = 3

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$26 = 3
--//第一次总是140735563509568.后面都是3次.

SCOTT@book> set arraysize 5
SCOTT@book> select * from emp;

--//观察gdb会话:
Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$27 = 140735563509568

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$28 = 5

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$29 = 5

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$30 = 5

3.测试特殊情况:
set arraysize 1
--//我以前提到实际上最小2.看看测试的情况:
select * from emp;

--//观察gdb会话:
Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$31 = 140735563509568

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$32 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$33 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$34 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$35 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$36 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$37 = 2

Breakpoint 1, 0x00000000095b4cac in opifch2 ()
$38 = 2

--//可以发现即使设置最小1,实际上还是2.

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
关系型数据库 Oracle Linux
[20180109]sqlplus refcursor.txt
[20180109]sqlplus refcursor.txt --//别人问的问题,如何在sqlplus使用refcursor定义的变量,我查询一下,做一个记录: SCOTT@book> @ &r/ver1 PORT_STRING         VERSI...
882 0
|
Oracle 关系型数据库 Linux
|
SQL
[20170506]fetch sqlplus arraysize.txt
[20170506]fetch sqlplus arraysize.txt http://blog.itpub.net/267265/viewspace-2138042/ --//前一阵子写的,如果设置arrarsize=3,可以看到3条3条输出.
942 0
|
关系型数据库 Oracle
[20170410]11G ora_sql_txt是否有效.txt
[20170410]11G ora_sql_txt是否有效.txt --链接问的问题: http://www.itpub.net/thread-2086256-1-1.
1173 0
|
Oracle 关系型数据库 SQL
[20161110]ORA-00600 [2619].txt
[20161110]ORA-00600 internal error code, arguments [2619].txt 1.生产系统dg出现ora-00600 2619错误。
1430 0
[20161021]关于sqlplus sqlprompt设置.txt
[20161021]关于sqlplus sqlprompt设置.txt --别人的服务器没有设置sqlprompt,随手设置一下,发现一些问题。 --从网上抄了下来: SYS@test> set sqlprompt "_user@_connect_identifier>" SYS@_connect_identifier> --居然变成这样。
1193 0
|
关系型数据库 Linux Oracle
[20160113]sqlplus使用问题.txt
[20160113]sqlplus使用问题.txt --在linux中使用sqlplus我自己经常遇到奇怪的问题,打入的命令无法执行,自己老是不知道什么回事,今天发现其中一个原因.
803 0
|
Oracle 关系型数据库
[20150503]关于oracle的number类型.txt
[20150503]关于oracle的number类型.txt --节前的事情,别人建表使用number类型,本来想定义成number(10,2),结果少输入0,变成number(1,2).
1012 0
|
测试技术 关系型数据库 Oracle
[20150309]sqlplus set array最小2.txt
[20150309]sqlplus set array最小2.txt --上午做测试发现1个问题,设置array=1是无效的,在sqlplus下set array最小是2.
890 0
|
SQL Oracle 关系型数据库
[20141216]sqlplus的set appinfo.txt
[20141216]sqlplus的set appinfo.txt --今天学习了sqlplus的set appinfo命令,可以设置module参数。做一个简单记录。
640 0

热门文章

最新文章