shell oracle换行,SHELL脚本调用SQLPLUS输出结果 有两个小问题解决不了!

本文介绍了在使用Shell脚本调用SQLPLUS时遇到的两个问题:一是SQL>提示符在输出中出现,二是执行计划显示换行。尽管尝试了set SQLPROMPT ''和set wrap on/off,但问题仍然存在。针对这两个问题,文章提供了可能的解决思路。
摘要由CSDN通过智能技术生成

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

LOGFILE=/home/oracle/dbscripts/logs/Auto_Sql_Moniter_Report_`date +%F_%H_%M`.txt

exec >> $LOGFILE

$ORACLE_HOME/bin/sqlplus  DBA_MONITER/DBA_MONITER  <

set long 100000

set pagesize 1000

set linesize 2500

set feedback off

set timing  off

set termout off

set serveroutput on size 1000000

set tab OFF

SET ECHO OFF

set wrap on

set heading off

SET SQLNUMBER OFF

set SQLPROMPT ''

col report format a10000

declare

v_Report  varchar(32767);

n_sql_num number(10) ;

v_sql_id varchar(32) ;

begin

select count(distinct sql_id) into n_sql_num from v\$sql_monitor;

if n_sql_num > 0 then

for i in (select distinct sql_id from v\$sql_monitor) loop

begin

SELECT DBMS_SQLTUNE.report_sql_monitor(

sql_id => i.sql_id,

type => 'TEXT',

report_level => 'ALL') AS report into v_Report

FROM dual;

DBMS_OUTPUT.put_line(v_Report);

END;

end loop;

end if;

end;

/

exit;

EOF复制代码执行结果如下:

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 1月 17 11:05:54 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL>   2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20  SQL Monitoring Report

SQL Text

------------------------------

SELECT count(1) totCount , sum(case when t.TR_STATUS = 1 then 1 else 0 end) sucCount , sum(case when t.TR_STATUS = 0 then 1 else 0 end) failedCount from CCPS_TRADERECORD t where t.TR_NO in ( SELECT c.CI_TR_NO from CCPS_CREDITINFO c where c.CI_DATETIME > TO_DATE('2017-01-16 10:02:31' ,'YYYY-MM-DD HH24:MI:SS')+15/24

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值