免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1681 | 回复: 0
打印 上一主题 下一主题

sqlplus命令行工具格式化命令 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-19 13:56 |只看该作者 |倒序浏览

工作中经常遇到没有sqplus developer等第三方sql工具,必须使用sqlplus直接在服务器上查询的情况。

例如要查看系统参数sga值;

得到执行结果如下:

 

  1. [gysy01@oracle]/oracle>sqlplus "/as sysdba"

  2. SQL*Plus: Release 11.1.0.7.0 - Production on 星期四 2月 17 17:35:16 2011

  3. Copyright (c) 1982, 2008, Oracle. All rights reserved.


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
  6. With the Partitioning, Real Application Clusters, OLAP, Data Mining
  7. and Real Application Testing options

  8. SQL> show parameter sga;

  9. NAME TYPE
  10. ------------------------------------ ----------------------

  11. VALUE
  12. ------------------------------

  13. lock_sga boolean
  14. FALSE
  15. pre_page_sga boolean
  16. FALSE
  17. sga_max_size big integer
  18. 4G
  19. sga_target big integer
  20. 3G
  21. SQL>

可以看到串行问题,很严重,这时候就需要设置行字符数了。下面是修改参数结果。

 

 

  1. SQL> set linesize 1000
  2. SQL> show parameter sga;

  3. NAME TYPE VALUE
  4. ------------------------------------ ---------------------- ------------------------------

  5. lock_sga boolean FALSE
  6. pre_page_sga boolean FALSE
  7. sga_max_size big integer 4G
  8. sga_target big integer 3G
  9. SQL>

下面是一些常用的参数说明,用的比较多的是linesize,pagesize,rowwidth三个参数。

 

SQL>set colsep' ';     //-域输出分隔符

SQL>set echo off;     //显示start启动的脚本中的每个sql命令,缺省为on

SQL> set echo on              //设置运行命令是是否显示语句

SQL> set feedback on;       //设置显示“已选择XX行”

SQL>set feedback off;     //回显本次sql命令处理的记录条数,缺省为on

SQL>set heading off;   //输出域标题,缺省为on

SQL>set pagesize 0;      //输出每页行数,缺省为24,为了避免分页,可设定为0。

SQL>set linesize 80;     //输出一行字符个数,缺省为80

SQL>set numwidth 12;     //输出number类型域长度,缺省为10

SQL>set termout off;     //显示脚本中的命令的执行结果,缺省为on

SQL>set trimout on;   //去除标准输出每行的拖尾空格,缺省为off

SQL>set trimspool on;  //去除重定向(spool)输出每行的拖尾空格,缺省为off

SQL>set serveroutput on; //设置允许显示输出类似dbms_output

SQL> set timing on;          //设置显示“已用时间:XXXX”

SQL> set autotrace on-;    //设置允许对执行的sql进行分析

set verify off                     //可以关闭和打开提示确认信息old 1和new 1的显示.

 

导出结果到文本:

spool<spool_flat_file>
例如:spool d:\Spool_flatquery.txt
这样,SQL*Plus将把所有的输出以及在屏幕上的命令等都指定给该文件。

执行查询输出。此时,系统并没有把结果保存到文件中,而是保存到缓冲区中。

查询结束后,关闭文件即可。命令格式为:spool off。

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP