当您第一次看到Oracle数据库时,首先问题之一通常是“警报日志在哪里?”。网格控制可以告诉您,但它通常在环境中不可用。
我发布了一些bash和Perl脚本,以便在一段时间后找到并拖尾警报日志on my blog,我很惊讶地发现这个帖子仍然有很多点击。
使用的技术是从v $参数中查找background_dump_dest。但我只在Oracle数据库10g上测试了这个。
有比这更好的方法吗?有谁知道这是否仍然适用于11g?
答案 0 :(得分:8)
我确定它能在11g下运行,该参数已存在很长时间了。
似乎是找到它的正确方法。
如果未设置background_dump_dest参数,则alert.log将放入$ ORACLE_HOME / RDBMS / trace
答案 1 :(得分:3)
一旦你打开了日志,我会考虑使用File::Tail或File::Tail::App来显示它,而不是睡觉和阅读。 File::Tail::App
特别聪明,因为它会检测正在旋转和切换的文件,并会记住您在程序调用之间的位置。
我还会考虑在使用之前锁定缓存文件。竞争条件可能不会打扰你,但让多个人尝试立即启动你的程序可能会导致对谁写入缓存文件的讨厌争执。
然而,这些都是挑选。我对您的代码的简要介绍并未发现任何明显的错误。