Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 在日志文件中写入PLSQL_Logging_Plsql_Ksh - Fatal编程技术网

Logging 在日志文件中写入PLSQL

Logging 在日志文件中写入PLSQL,logging,plsql,ksh,Logging,Plsql,Ksh,我有以下ksh test.ksh,它调用sql脚本: sqlplus user/passwrd @testChange.sql 我的testChange.sql如下所示: spool testChange.log SET serveroutput ON; SET linesize 350; ALTER SESSION SET nls_date_format='dd/mm/yyyy hh24:mi:ss'; DECLARE nbCharAlterer NUMBER; BEGIN nb

我有以下ksh test.ksh,它调用sql脚本:

sqlplus user/passwrd @testChange.sql
我的testChange.sql如下所示:

spool testChange.log
SET serveroutput ON;
SET linesize 350;
ALTER SESSION SET nls_date_format='dd/mm/yyyy hh24:mi:ss';
DECLARE

  nbCharAlterer NUMBER;
BEGIN

  nbCharAlterer:= 3;
  USER.PKG_TEST_CHANGE.ALTER (  nbCharAlterer => nbCharAlterer) ;
END;
/
spool off;
exit;
create or replace package PKG_TEST_CHANGE AUTHID CURRENT_USER is
  nbCharAlterer number:=3;   
  TYPE t_array IS TABLE OF VARCHAR2(50)    INDEX BY BINARY_INTEGER; 
  procedure alterer(nbCharAlterer in number );   
end PKG_TEST_CHANGE;
create or replace package body PKG_TEST_CHANGE as

compteur PLS_INTEGER      := 0;
nbCharAlterer PLS_INTEGER   := 3;
nbParallel PLS_INTEGER       := 8

PROCEDURE ALTER(
        nbCharAlterer IN NUMBER)
IS

CURSOR SQL_TABLE     IS
    SELECT TABLE_OWNER,TABLE_NAME,COLUMN_NAME,TYPE,SEPARATE,PATTERN,ID FROM 

ALTERE_PARAM ;

  sTable                                  sys.ALL_TAB_COLUMNS.table_name%TYPE;
  sOwner                                  sys.ALL_TAB_COLUMNS.owner%TYPE;
  sColumn                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sType                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sPattern                                 ALTERE_PARAM.PATTERN%TYPE;
  sSeparator                                 ALTERE_PARAM.SEPARATE%TYPE;
  sId                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;

  nNbTable number;


BEGIN
dbms_output.put_line('   ' ||TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI')||' => Database changing');
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Alter');

....Some code

END ALTER;

end PKG_TEST_CHANGE;
我的包裹的标题如下:

spool testChange.log
SET serveroutput ON;
SET linesize 350;
ALTER SESSION SET nls_date_format='dd/mm/yyyy hh24:mi:ss';
DECLARE

  nbCharAlterer NUMBER;
BEGIN

  nbCharAlterer:= 3;
  USER.PKG_TEST_CHANGE.ALTER (  nbCharAlterer => nbCharAlterer) ;
END;
/
spool off;
exit;
create or replace package PKG_TEST_CHANGE AUTHID CURRENT_USER is
  nbCharAlterer number:=3;   
  TYPE t_array IS TABLE OF VARCHAR2(50)    INDEX BY BINARY_INTEGER; 
  procedure alterer(nbCharAlterer in number );   
end PKG_TEST_CHANGE;
create or replace package body PKG_TEST_CHANGE as

compteur PLS_INTEGER      := 0;
nbCharAlterer PLS_INTEGER   := 3;
nbParallel PLS_INTEGER       := 8

PROCEDURE ALTER(
        nbCharAlterer IN NUMBER)
IS

CURSOR SQL_TABLE     IS
    SELECT TABLE_OWNER,TABLE_NAME,COLUMN_NAME,TYPE,SEPARATE,PATTERN,ID FROM 

ALTERE_PARAM ;

  sTable                                  sys.ALL_TAB_COLUMNS.table_name%TYPE;
  sOwner                                  sys.ALL_TAB_COLUMNS.owner%TYPE;
  sColumn                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sType                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sPattern                                 ALTERE_PARAM.PATTERN%TYPE;
  sSeparator                                 ALTERE_PARAM.SEPARATE%TYPE;
  sId                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;

  nNbTable number;


BEGIN
dbms_output.put_line('   ' ||TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI')||' => Database changing');
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Alter');

....Some code

END ALTER;

end PKG_TEST_CHANGE;
我的包裹正文如下:

spool testChange.log
SET serveroutput ON;
SET linesize 350;
ALTER SESSION SET nls_date_format='dd/mm/yyyy hh24:mi:ss';
DECLARE

  nbCharAlterer NUMBER;
BEGIN

  nbCharAlterer:= 3;
  USER.PKG_TEST_CHANGE.ALTER (  nbCharAlterer => nbCharAlterer) ;
END;
/
spool off;
exit;
create or replace package PKG_TEST_CHANGE AUTHID CURRENT_USER is
  nbCharAlterer number:=3;   
  TYPE t_array IS TABLE OF VARCHAR2(50)    INDEX BY BINARY_INTEGER; 
  procedure alterer(nbCharAlterer in number );   
end PKG_TEST_CHANGE;
create or replace package body PKG_TEST_CHANGE as

compteur PLS_INTEGER      := 0;
nbCharAlterer PLS_INTEGER   := 3;
nbParallel PLS_INTEGER       := 8

PROCEDURE ALTER(
        nbCharAlterer IN NUMBER)
IS

CURSOR SQL_TABLE     IS
    SELECT TABLE_OWNER,TABLE_NAME,COLUMN_NAME,TYPE,SEPARATE,PATTERN,ID FROM 

ALTERE_PARAM ;

  sTable                                  sys.ALL_TAB_COLUMNS.table_name%TYPE;
  sOwner                                  sys.ALL_TAB_COLUMNS.owner%TYPE;
  sColumn                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sType                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;
  sPattern                                 ALTERE_PARAM.PATTERN%TYPE;
  sSeparator                                 ALTERE_PARAM.SEPARATE%TYPE;
  sId                                 sys.ALL_TAB_COLUMNS.COLUMN_NAME%TYPE;

  nNbTable number;


BEGIN
dbms_output.put_line('   ' ||TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI')||' => Database changing');
DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Alter');

....Some code

END ALTER;

end PKG_TEST_CHANGE;
我希望我的dbms_输出.put_行(“”)记录在日志文件中。我已按以下方式运行我的ksh:

nohup ./test.ksh > alterTest.log &

我的日志文件只有一行带有“会话已更改”。知道我的日志为什么不能正常工作吗?我正在使用Oracle 10g。

调用
PKG\u TEST\u CHANGE.ALTER
与包中的过程名称不匹配(
ALTER
)。但是您的包名不匹配-是
pkg\u test\u change
还是
pkg\u alter\u remu
?简而言之,当您发布的内容甚至无法编译,更不用说运行时,您希望我们如何找出您的代码出了什么问题?请给我们一个战斗的机会并发布一个可复制的测试用例。@APC:这些是更多的复制/粘贴错误。代码函数很好您是否尝试在上添加
set echo?@KaushikNayak:否。我是否应该将其添加到调用包方法的testChange.sql中?至于“复制/粘贴错误”,您要求我们解释您的代码明显的奇怪行为。在这种情况下,细节绝对重要。发布正在使用的代码的损坏版本会增加遗漏问题关键部分的可能性。调用
PKG\u TEST\u CHANGE.ALTER
与包中的过程名称不匹配(
ALTER
)。但是您的包名不匹配-是
pkg\u test\u change
还是
pkg\u alter\u remu
?简而言之,当您发布的内容甚至无法编译,更不用说运行时,您希望我们如何找出您的代码出了什么问题?请给我们一个战斗的机会并发布一个可复制的测试用例。@APC:这些是更多的复制/粘贴错误。代码函数很好您是否尝试在
上添加
set echo?@KaushikNayak:否。我是否应该将其添加到调用包方法的testChange.sql中?至于“复制/粘贴错误”,您要求我们解释您的代码明显的奇怪行为。在这种情况下,细节绝对重要。在游戏中发布代码的损坏版本会增加遗漏问题关键部分的可能性。