从unix shell脚本写入oracle日志文件?
我有一个 Oracle 并发程序,它调用一个 UNIX shell 脚本,该脚本将执行 SQL 加载程序。这用于将平面文件从旧表插入 Oracle 基表。
我的问题是,
如何在并发程序的 Oracle 日志文件中捕获自定义消息、验证错误消息等。
非常感谢这方面的所有帮助。
I am having a Oracle concurrent program which calls a UNIX shell script which will execute SQL loader program. This is used for inserting flat file from legacy to Oracle Base tables.
My question here is,
How do I capture my custom messages, validation error messages etc in the Oracle log file of the concurrent program.
All help in this regards are much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您似乎正在尝试从 Oracle Apps 启动 SQL*Loader。最简单的方法是使用 SQL*Loader 类型的可执行文件,这样您就可以在并发请求窗口中获得输出和日志文件。
如果要从 unix 脚本写入日志文件和输出文件,可以在 FND_CONCURRENT_REQUESTS 表(
logfile_name
列和outfile_name
列)中找到它们。您应该将 REQUEST_ID 作为参数传递给脚本。这些文件应位于
$XX_TOP\log
中,并应命名为l{REQUEST_ID}.req
和o{REQUEST_ID}.out
(应用程序 11.5 .10)。It looks like you are trying to launch SQL*Loader from Oracle Apps. The simplest way would be to use the SQL*Loader type of executables, this way you will get the output and log files right in the concurrent requests window.
If you want to write in the log file and the output file from a unix script, you can find them in the FND_CONCURRENT_REQUESTS table (column
logfile_name
andoutfile_name
). You should get the REQUEST_ID passed as a parameter to your script.These files should be in
$XX_TOP\log
and should be calledl{REQUEST_ID}.req
ando{REQUEST_ID}.out
(apps 11.5.10).您的并发流程是如何定义的?如果它使用“主机”执行方法,那么输出应该进入并发日志文件。如果它是从存储过程执行的,我不确定它会去哪里。
How is your concurrent process defined? If it's using the "Host" execution method then the output should go into the concurrent log file. If it's being executed from a stored procedure, I'm not sure where it goes.
让您的脚本使用 sqlplus 登录 Oracle,并插入/更新您需要的信息。
Have your script use sqlplus to sign into oracle, and insert/update the information you need.