在论坛中提问时,由DemonSam提供的方法,在这里总结一下。
1,server trace, 指的是 sqlnet的server端trace, 可以在server 端的%oracle_home%
etworkadminsqlnet.ora里面加上以下行:
TRACE_LEVEL_SERVER=16
TRACE_FILE_SERVER=server_trace
TRACE_DIRECTORY_SERVER=/xxx/.../server_side_trace/
/xxx/.../server_side_trace/ , 是你准备放trace的目录。
2,trace listener,可以在%oracle_home%
etworkadminlistener.ora
TRACE_LEVEL_<LISTENER_NAME> = 16
TRACE_FILE_<LISTENER_NAME>= LISTENER_TRC
TRACE_DIRECTORY_<LISTENER_NAME> = /xxx/.../listener_trace/
尖括号的内容需要customzie, 比如你的listener名称是 LISTENER1那么你就可以设置成如下:
TRACE_LEVEL_LISTENER1 = 16
TRACE_FILE_LISTENER1= LISTENER_TRC
TRACE_DIRECTORY_LISTENER1 = /xxx/.../listener_trace/
3,listener trace, 需要重起listener才能生效,server trace不需要重起数据库。
4,注意,这两种trace 是针对每一个新的connection的,并不是只有出错才会产生trace..
所以trace的目录下会产生很多的trace 文件,这个就需要纪录错误发生的详细时间,以便于找到需要的trace. troubleshooting
结束以后,要disable这些trace (remove the line), 要不然,就的小心你的硬盘空间了。
5。删除方法:
disable listener trace, 需要先关闭listener, 然后删掉那些行,然后再启动listener。
disable server trace, 直接删掉那些行就行了,不用重起数据库。
以上