[20181014]12cR2 sqlplus新特性.txt --//前几天讲了SET FEEDBACK ONLY.在接着介绍另外几个新特性. 1.环境: SCOTT@test01p> @ ver1 PORT_STRING VERSION BANNER CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0 12.2.0.1.0 Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0 2.command history: --//12cR2支持命令历史.可以显示过去执行的命令调入重复执行: SCOTT@test01p> set history 10 SCOTT@test01p> select * from dept where deptno=10; DEPTNO DNAME LOC ---------- -------------------- ------------- 10 ACCOUNTING NEW YORK SCOTT@test01p> select sysdate from dual ; SYSDATE ------------------- 2018-10-14 20:28:06 SCOTT@test01p> history 1 select * from dept where deptno=10; 2 select sysdate from dual ; SCOTT@test01p> history 1 run DEPTNO DNAME LOC ---------- -------------------- ------------- 10 ACCOUNTING NEW YORK SCOTT@test01p> history 2 edit --//编辑后放入第3位置. SCOTT@test01p> history 1 select * from dept where deptno=10; 2 select sysdate from dual ; 3 select user from dual ; SCOTT@test01p> history 3 run USER -------------------- SCOTT SCOTT@test01p> history clear SCOTT@test01p> history SP2-1651: History list is empty. 3.12cR2支持变量定义以及直接赋值,前面版本不行: SCOTT@test01p> variable a number ; SCOTT@test01p> exec :a := 10; PL/SQL procedure successfully completed. --//12cR2可以直接赋值: SCOTT@test01p> variable b number = 20; --//注意这里赋值没有冒号在等号前面.orcle的语法太不统一. SCOTT@test01p> print b B ---------- 20 SCOTT@test01p> print :b B ---------- 20 SCOTT@test01p> select * from dept where deptno = :b ; DEPTNO DNAME LOC ---------- -------------------- ------------- 20 RESEARCH DALLAS 4.Statement caching: --//Statement caching有点像软软解析. SCOTT@test01p> @ spid SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50 ---------- ---------- ------------------------ --------- -------------------- ------- ---------- -------------------------------------------------- 183 5778 5224:5288 DEDICATED 4932 62 13 alter system kill session '183,5778' immediate; variable b number = 20; Select * from dept where deptno = :b ; Select * from dept where deptno = :b ; --//通过查询执行计划,确定sql_id=2b073tss4h1f3. SCOTT@test01p> select sql_id,executions,parse_calls,sql_text from v$sql where sql_id='2b073tss4h1f3'; SQL_ID EXECUTIONS PARSE_CALLS SQL_TEXT ------------- ---------- ----------- ------------------------------------------------------------ 2b073tss4h1f3 2 2 Select * from dept where deptno = :b --//执行2次,分析2次. --//如果采用Statement caching --//sesson 1: set statementcache 100 variable c number = 10; select * from dept where deptno = :c ; select * from dept where deptno = :c ; select sysdate from dual; --//通过查询执行计划,确定sql_id='abzxwsyzmsu8h',另外打开会话,登录cdb: --//sesson 2: SYS@test> select sql_id,executions,parse_calls,sql_text from v$sql where sql_id='abzxwsyzmsu8h'; SQL_ID EXECUTIONS PARSE_CALLS SQL_TEXT ------------- ---------- ----------- ------------------------------------------------------------ abzxwsyzmsu8h 2 1 select * from dept where deptno = :c --//执行2次,分析1次. SYS@test> @ sharepool/shp4 abzxwsyzmsu8h 0 TEXT KGLHDADR KGLHDPAR C40 KGLHDLMD KGLHDPMD KGLHDIVC KGLOBHD0 KGLOBHD6 KGLOBHS0 KGLOBHS6 KGLOBT16 N0_6_16 N20 KGLNAHSH KGLOBT03 KGLOBT09 -------------- ---------------- ---------------- ---------------------------------------- ---------- ---------- ---------- ---------------- ---------------- ---------- ---------- ---------- --------- ---------- ---------- ------------- ---------- 子游标句柄地址 000007FF11BBEA90 000007FF00093CA0 select * from dept where deptno = :c 1 0 0 000007FF11B96238 000007FF13353C48 4032 16200 3190 23422 23422 3208407312 abzxwsyzmsu8h 0 父游标句柄地址 000007FF00093CA0 000007FF00093CA0 select * from dept where deptno = :c 1 0 0 000007FF132EB0B0 00 4072 0 0 4072 4072 3208407312 abzxwsyzmsu8h 65535 --//KGLHDLMD=1.session 1最后执行的是select sysdate from dual; --//session 1: SCOTT@test01p> variable c number = 30; SCOTT@test01p> select * from dept where deptno = :c ; DEPTNO DNAME LOC ---------- -------------------- ------------- 30 SALES CHICAGO SCOTT@test01p> variable c number = 30; SCOTT@test01p> select * from dept where deptno = :c ; DEPTNO DNAME LOC ---------- -------------------- ------------- 30 SALES CHICAGO SYS@test> select sql_id,executions,parse_calls,sql_text from v$sql where sql_id='abzxwsyzmsu8h'; SQL_ID EXECUTIONS PARSE_CALLS SQL_TEXT ------------- ---------- ----------- ------------------------------------------------------------ abzxwsyzmsu8h 3 1 select * from dept where deptno = :c --//执行3次,分析1次. 5.支持CSV数据格式显示: SCOTT@test01p> set markup csv on SCOTT@test01p> select * from dept; "DEPTNO","DNAME","LOC" 10,"ACCOUNTING","NEW YORK" 20,"RESEARCH","DALLAS" 30,"SALES","CHICAGO" 40,"OPERATIONS","BOSTON" SCOTT@test01p> set markup csv on delimiter '|' SCOTT@test01p> select * from dept; "DEPTNO"|"DNAME"|"LOC" 10|"ACCOUNTING"|"NEW YORK" 20|"RESEARCH"|"DALLAS" 30|"SALES"|"CHICAGO" 40|"OPERATIONS"|"BOSTON" SCOTT@test01p> set markup csv on delimiter '|' quote off SCOTT@test01p> select * from dept; DEPTNO|DNAME|LOC 10|ACCOUNTING|NEW YORK 20|RESEARCH|DALLAS 30|SALES|CHICAGO 40|OPERATIONS|BOSTON SCOTT@test01p> set markup csv off SCOTT@test01p> select * from dept; DEPTNO DNAME LOC ---------- -------------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 6.我自己还有一个疑问,如果使用它连接低版本的数据库,这些特性还能用吗? --//上班在更新自己的机器工作环境,看看是否生效.估计不行.
[20181014]12cR2 sqlplus新特性.txt
来源:这里教程网
时间:2026-03-03 12:04:53
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- sqlldr 导入乱码解决办法
sqlldr 导入乱码解决办法
26-03-03 - Word2010中设置文档默认保存格式
Word2010中设置文档默认保存格式
26-03-03 - Word2010中的导航设置标题样式
Word2010中的导航设置标题样式
26-03-03 - Debian Web服务器安全加固(从零开始的Linux服务器安全配置指南)
- 沃趣微讲堂 | Oracle集群技术(三):被误传的集群自启动
沃趣微讲堂 | Oracle集群技术(三):被误传的集群自启动
26-03-03 - ORACLE 数据库11.2.0.4 单实例服务器IO等待高问题分析
ORACLE 数据库11.2.0.4 单实例服务器IO等待高问题分析
26-03-03 - oracle 安装的时候出现PRVF-0002 : could not retrieve local node name
- 表空间和数据文件的管理
表空间和数据文件的管理
26-03-03 - EBS报表参数间的关联性--value set
EBS报表参数间的关联性--value set
26-03-03 - ORA-00257:archiver error. Connect internal only,until freed.
