[20211108]sqlplus管道过滤.txt --//我的同事基本不使用sqlplus,我自己开始学习oracle时,也是很不习惯使用,有时候某列超长,很给使用column修改。 --//还给设置pagesize,linesize大小,当然这些还给面对屏幕显示混乱的情况,使用上可以使用管道以及过滤来达到好的显示效果。 --//BTW,我现在是很少用这种方式,一般超长显示我会使用prxx.sql脚本(从tanel poder的pr.sql)修改而来。 --//我一般在linux下使用我会启动tmux下使用,tmux下可以prefix-key ,[ ,? 来查询特定字符串,这样便于我查找需要的信息。 --//通过简单的例子介绍sqlplus下使用管道以及过滤。 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 --//建立管道文件。 $ mkfifo /tmp/oop.pipe $ ls -l /tmp/oop.pipe prw-r--r-- 1 oracle oinstall 0 2021-11-08 15:33:27 /tmp/oop.pipe 2.测试1: --//打开两个shell窗口: --//window 1: $ echo "select sysdate from dual ;" > /tmp/oop.pipe --//注意加引号。 --//window 2,启动sqlplus: SCOTT@book> @ /tmp/oop.pipe SYSDATE ------------------- 2021-11-08 15:35:31 --//window 1: $ echo "@dpc '' ''"> /tmp/oop.pipe --//window 2: SCOTT@book> @ /tmp/oop.pipe --//显示执行计划,输出略。 --//window 1: $ seq 10 10 40 | xargs -IQ echo "select * from dept where deptno=Q;" > /tmp/oop.pipe --//window 2: SCOTT@book> set echo on SCOTT@book> @ /tmp/oop.pipe SCOTT@book> select * from dept where deptno=10; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK SCOTT@book> select * from dept where deptno=20; DEPTNO DNAME LOC ---------- -------------- ------------- 20 RESEARCH DALLAS SCOTT@book> select * from dept where deptno=30; DEPTNO DNAME LOC ---------- -------------- ------------- 30 SALES CHICAGO SCOTT@book> select * from dept where deptno=40; DEPTNO DNAME LOC ---------- -------------- ------------- 40 OPERATIONS BOSTON --//设置echo on,可以显示执行的命令。 3.测试2: --//实际上这个我以前都讲过: --//http://blog.itpub.net/267265/viewspace-2285749/=>[20181219]script使用小技巧.txt --//http://blog.itpub.net/267265/viewspace-2375095/=>[20190108]rlwrap sqlplus tee相关问题.txt --//http://blog.itpub.net/267265/viewspace-2375436/=>[20190110]rlwrap sqlplus tee相关问题3.txt SCOTT@book> set describe DEPTH 2 LINENUM ON INDENT ON SCOTT@book> set colsep | --//目的就是desc前面输出有行号,可以标识那个字段显示位置。 --//建立一个脚本: $ cat prp.sql spool /tmp/oop.pipe @ prxx spool off --//window 1: $ tail -n 2000 -f /tmp/oop.pipe --//注意先执行以上这步,不然下面spool /tmp/oop.pipe 时挂住。 --//window 2: SCOTT@book> select * from v$database; SCOTT@book> @ prp --//window 1: --//按ctrl+c中断,然后打入如下,然后在windows 2执行 @ prp就ok了。 $ tail -n 2000 -f /tmp/oop.pipe | grep -n SUPP 33:SUPPLEMENTAL_LOG_DATA_MIN : NO 34:SUPPLEMENTAL_LOG_DATA_PK : NO 35:SUPPLEMENTAL_LOG_DATA_UI : NO 43:SUPPLEMENTAL_LOG_DATA_FK : NO 44:SUPPLEMENTAL_LOG_DATA_ALL : NO 54:SUPPLEMENTAL_LOG_DATA_PL : NO --//减去3对应字段序号。 --//window 2: SCOTT@book> set colsep | SCOTT@book> set linesize 20000 SCOTT@book> @ desc v$database ... 11 CONTROLFILE_TYPE VARCHAR2(7) 12 CONTROLFILE_CREATED DATE 13 CONTROLFILE_SEQUENCE# NUMBER 14 CONTROLFILE_CHANGE# NUMBER 15 CONTROLFILE_TIME DATE .... --//window 1: --//修改如下: $ tail -n 2000 -f /tmp/oop.pipe | cut -d"|" -f11,12,13,14,15 SCOTT@book> select * from v$database; CONTROL|CONTROLFILE_CREATED|CONTROLFILE_SEQUENCE#|CONTROLFILE_CHANGE#|CONTROLFILE_TIME -------|-------------------|---------------------|-------------------|------------------- CURRENT|2015-11-24 09:11:10| 54493| 13382769951|2021-11-08 16:22:44 --//window 2: spool /tmp/oop.pipe select * from v$database; spool off
[20211108]sqlplus管道过滤.txt
来源:这里教程网
时间:2026-03-03 17:08:33
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 媒体格式有几种,媒体格式的异同
媒体格式有几种,媒体格式的异同
26-03-03 - 剪切的文件还能恢复吗,恢复剪贴丢失的文件
剪切的文件还能恢复吗,恢复剪贴丢失的文件
26-03-03 - sd卡删除的文件如何恢复
sd卡删除的文件如何恢复
26-03-03 - Oracle DataBase Recovery数据库dbf中了勒索病毒[Ransomwaree2020@cock.li].eking
- u盘文件变成快捷方式怎么恢复,恢复U盘文件的五种方法
u盘文件变成快捷方式怎么恢复,恢复U盘文件的五种方法
26-03-03 - Word不能编辑文档怎么办,文档修改了不能保存怎么办
Word不能编辑文档怎么办,文档修改了不能保存怎么办
26-03-03 - u盘提示格式化怎么恢复数据,恢复格式化U盘
u盘提示格式化怎么恢复数据,恢复格式化U盘
26-03-03 - U盘格式化了怎样恢复还原(必学技能)
U盘格式化了怎样恢复还原(必学技能)
26-03-03 - 电脑里删除的文件怎么恢复,数据恢复方法大全
电脑里删除的文件怎么恢复,数据恢复方法大全
26-03-03 - 巅峰对话在线研讨 Q&A:Oracle Database 21c vs openGauss 2.0新特性解读和架构演进
