【发布时间】:2020-10-04 17:37:24
【问题描述】:
UNIX 代码:
#!/bin/sh
if [ $# -gt 0 ]
then
## Checking wheather or all the Server Objects are up and working
if [[ $1 = 'PreCheck' ]];then
COUNT_SERV=`${ORACLE_HOME}/bin/sqlplus ${dbConnect} <<GETCOUNT|tee -a ${logFile}
SET HEADING ON
SET SERVEROUTPUT ON SIZE 10000
SET ECHO OFF
SET FEEDBACK OFF
@PLSQLBLCK1.sql
GETCOUNT`
fi
fi
exit 0;
SQL 代码:
DECLARE
COUNT_SERV INTEGER;
BEGIN
DBMS_OUTPUT.ENABLE(1000000);
SELECT COUNT (*) INTO COUNT_SERV FROM FT_LM_SERVERS WHERE STATE <> 'START';
IF COUNT_SERV > 0 THEN
DBMS_OUTPUT.PUT_LINE('******ERROR1: One or More BG Object is Down, please restart the BG to proceed ahead******');
END IF;
END;
我正在尝试获取存储在 COUNT_SERV(UNIX 的)中的 DBMS_OUTPUT.PUT_LINE 的值,以便我可以提前相应地使用它。 但是,如果我执行 shell 脚本,我会在日志文件中得到如下输出:
SQL> SQL> SQL> SQL> SQL> SQL> SQL> 18 19 20
如果有些值是隐藏的,请忽略,因为我不能在这里显示完整的代码。
【问题讨论】:
标签: oracle shell unix plsql sh