2010-11-16 99 views
1

我有一个Oracle并发程序调用一个将执行SQL加载程序的UNIX shell脚本。这用于从旧版到Oracle Base表中插入平面文件。从unix shell脚本写入oracle日志文件?

我在这里的问题是,

如何抓住我的自定义消息,验证错误信息等在并发程序的Oracle日志文件。

在这方面的所有帮助都非常感谢。

+0

这是Oracle Applications(EBS)的问题吗? – 2010-11-16 11:19:09

+0

不!这是UNIX Shell脚本问题。我需要将所有自定义消息写入Oracle日志文件。 – Arun 2010-11-16 11:43:17

+0

“Oracle日志文件”是否意味着数据库的警报日志?或者其他一些文件? – APC 2010-11-16 13:47:48

回答

1

看起来您正尝试从Oracle Apps启动SQL * Loader。最简单的方法是使用SQL * Loader类型的可执行文件,这样您就可以在并发请求窗口中获得输出和日志文件。

如果要在日志文件和unix脚本的输出文件中写入,可以在FND_CONCURRENT_REQUESTS表(列logfile_nameoutfile_name)中找到它们。您应该将REQUEST_ID作为参数传递给您的脚本。

这些文件应该在$XX_TOP\log,应该叫l{REQUEST_ID}.reqo{REQUEST_ID}.out(应用程序11.5.10)。

+0

这不应该是日志文件所必需的。脚本的任何输出都应该放入日志文件中。我通过并发日志做了一个快速的处理,发现了一些情况来证实这一点。 – JOTN 2010-11-16 14:56:08

+0

@vincent - 感谢您的帮助。您已指定在哪里以及如何指定日志输出文件。但是,我将如何打印到来自unix的日志/输出文件。什么是用来做同样的unix命令? – Arun 2010-11-17 05:49:48

+0

你能否确认一下。 – Arun 2010-11-17 05:56:32

0

让脚本使用sqlplus登录到oracle,然后插入/更新所需的信息。

+0

是的......正在连接oracle db。 – Arun 2010-11-17 05:48:37

1

您的并发进程是如何定义的?如果它使用“主机”执行方法,那么输出应该进入并发日志文件。如果它是从存储过程执行的,我不确定它会发生什么。

+0

+1:写入日志文件的简单而有效的方法 – 2010-11-16 15:17:56

+0

是......正确。我正在使用HOST执行方法。使用unix shell脚本...它将连接到sql db,然后使用db表检索/验证平面文件记录。 – Arun 2010-11-17 05:58:26