Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8236833
  • 博文数量: 444
  • 博客积分: 10593
  • 博客等级: 上将
  • 技术积分: 3852
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-09 15:26
文章分类

全部博文(444)

文章存档

2014年(1)

2013年(10)

2012年(18)

2011年(35)

2010年(125)

2009年(108)

2008年(52)

2007年(72)

2006年(23)

分类: Oracle

2010-11-24 12:22:41

一篇关于oracle net log file的学习笔记。学习资料为oracle10g版本的官方文档《Troubleshooting Oracle Net Services》,链接如下:

从官方资料上,我们可以了解到网络相关的log file主要有以下几种:

log file Description
SQLNET.LOG Contains client or server information
LISTENER.LOG Contains listener information
INTCHG.LOG Contains Connection Manager and pump information
NAVGATR.LOG Contains Navigator information
NAMES.LOG Contains Names server information
alert.log .. ..


sqlnet.log,listener.log以及alert.log等都是数据库必不可少的日志文件,其他几种很比较生僻,一般很少用到。

1. parameter of log file

通过参数定义日志文件记录的日志类型、信息量以及日志文件存放的路径。当然,每个网络服务组件都有自己的log file,参数文件及参数,如下:

Network Component log file Config file
oracle connection manager process sid_cmgw_pid.log.. cman.ora
listener listener.log listener.ora
client sqlnet.log sqlnet.ora
database server sqlnet.log sqlnet.ora

注意:
一般的,nodeA访问nodeB,发送请求的nodeA认为client,接收请求的nodeB为server端。 当然,一个数据库节点即可以作为client向其他主机发出请求,也可以作为server端接收其他主机的连接请求。

1.1 sqlnet.ora里的参数

parameters Description
LOG_FILE_CLIENT 定义client log的名称
LOG_DIRECTORY_CLIENT 定义client log的存放路径。默认与sqlnet.ora一样
LOG_FILE_SERVER 定义database server的日志文件名称。默认是sqlnet.log
LOG_DIRECTORY_SERVER 定义database server的日志文件存放路径。默认是$ORACLE_HOME/network/log

1.2 listener.ora里的参数

我们平时熟悉的listener.ora文件里通常定义的是listener的服务配置,并没有相关的参数,那是因为我们通常都接受默认设置而没有自定义。可定义的参数如下:

parameters Description
LOG_FILE_LISTENER 定义listener的日志文件名称。默认是listener.log
LOG_DIRECTORY_LISTENER 定义listener的日志文件存放路径。默认是$ORACLE_HOME/network/log目录

1.3 cman.ora Log Parameters

这部分因为平时接触较少不赘述,详见官方文档《16 Troubleshooting Oracle Net Services》。

2 listener.log

listener.log里主要记录以下几个方面的信息:

  • Listener Log Audit Trail Information
  • Listener Service Registration Event Information
  • Listener Direct Hand-Off Information

注:参见oracle官方文档,这部分知识点由于理解的不够透彻且英文更容易理解,不做翻译。

2.1 Listener Log Audit Trail Information

这部分日志信息的格式如下:

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE

主要记录以下几个方面的事件:

  • 客户端的连接请求事件。eg,sqlplus,tnsping等
  • listener相关的Reload,START, STOP, STATUS, or SERVICES命令

从这部分信息我们可以了解到所有连接的oracle sqlnet相关的信息,比如ip,sid,协议,service name等,一个成功的连接会在记录最后返回0,如果失败则返回错误信息。

2.2 Listener Service Registration Event Information

这部分信息主要统计与listener监听服务注册相关的事件,比如service_register,service_update,service_died等事件,日志的格式如下:

Timestamp * Event *  Instance Name * Return Code

PMON进程将会向listener提供service name,instance name等相关信息。

2.3 Listener Direct Hand-Off Information

这部分事件的格式如下:

Timestamp * Presentation * Handoff  * Error Code

关于"direct hand-off"的资料很少,平时也极少用到,oracle9i后该功能也是默认disable的,如果需要打开,在listener.ora文件里设置DIRECT_HANDOFF_TTC_=ON即可。metalink上的介绍如下:

Since Oracle 10g, the built-in direct handoff technology allows the 
listener to pass the incoming client connection to the local dispatcher
or dedicated server process without generating REDIRECT messages; this 
way the connection will remain on the default listener port. On the 
other hand, passing client connections to remote dispatchers (found on 
remote database servers and registered by means of remote_listener 
database parameter) still require REDIRECTs — see next section.


3.sqlnet.log

sqlnet.log里存放tns相关的错误事件,每个事件包含时间点、IP、错误码等信息。

如果sqlnet.ora里没有定义参数,默认是$ORACLE_HOME/netword/admin/目录下生产sqlnet.log。

通过1.1中提到的参数可以自定义日志名称(client|server)及存放路径。一般情况下没必要指明client|server参数,按照默认值即可。

----

oracle log file这部分主要是一些知识点,提供的日志信息也没有trace详尽,各种参数通常按照默认设置即可。

阅读(3229) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~