我在perl中使用DBD :: Oracle,并且每当连接失败时,客户端都会生成一个包含错误详细信息的sqlnet.log文件。
问题是,我已经被perl和我自己的日志文件中的错误所困。我真的不需要这些额外的信息。
那么,是否有用于停止创建sqlnet.log的标志或环境?
答案 0 :(得分:6)
正如Oracle Documentation所述:为确保记录所有错误,无法在客户端或名称服务器上禁用日志记录。
您可以按照DCookie的建议使用/ dev / null作为日志目录。您可以在Windows机器上使用NUL:
答案 1 :(得分:4)
您的客户端是Windows还是* nix?如果在* nix中,您可以在sqlnet.ora文件中设置LOG_DIRECTORY_CLIENT = / dev / null。不确定你是否可以为Windows客户端做很多事情。
编辑:在Windows中看起来不可能。您可以做的最好的事情是将上面的sqlnet.ora参数设置为固定位置,并创建一个计划任务以根据需要删除该文件。
好的,正如Thomas指出Windows上有一个空设备,使用相同的范例。
答案 2 :(得分:4)
来自metalink
日志记录是自动的,无法关闭日志记录,但由于您使用的是Unix服务器,因此可以将日志文件重定向到空设备,从而消除磁盘空间消耗的问题。
在SQLNET.ORA文件中,将LOG_DIRECTORY_CLIENT和LOG_DIRECTORY_SERVER设置为等于空设备。
例如:
SQLNET中的LOG_DIRECTORY_CLIENT = /dev/null LOG_FILE_CLIENT = /dev/null
.ORA完全禁止客户端日志记录。
要禁止侦听器进行日志记录,请在LISTENER.ORA文件中设置此参数:
logging_listener = off
答案 3 :(得分:2)
重要提示:请勿设置" LOG_FILE_CLIENT = / dev / null",这将导致每次初始化oracle库时重置/ dev / null的权限,并且当umask不允许时世界可读写的位,那些从/ dev / null中删除的,如果你有权限chmod那个文件:即以root身份运行。
并以root身份运行也许是微不足道的事情,比如php --version有oci php-extension存在!
此处的详细信息: http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2014-May/023931.html
你应该使用目前不存在的路径:
LOG_FILE_CLIENT = /dev/impossible/path
希望没有人创建目录/dev/impossible
:)
for Windows NUL
可能很好,因为它不是那里的实际文件...