2012-08-16 回答
简单介绍一下有关oracle集群环境中日志体系结构,在遇到问题时,可以快速查找所需的日志文件,及时的定位问题~
1.oracle集群日志的文件路径
oracle集群涉及的日志主要位于“$grid_home/log”和“$oracle_home/log”目录中。
2.日志目录结构
clusterware 层的日志结构:
grid@rac1:/home/grid>tree -d $oracle_home/log
/opt/rac/11.2.0/grid/log
|-- crs
|-- diag
| `-- clients
| `-- user_root
| `-- host_1874443374_76
| |-- alert
| |-- cdump
| |-- incident
| |-- incpkg
| |-- lck
| |-- metadata
| |-- stage
| |-- sweep
| `-- trace
`-- rac1
|-- admin
|-- agent
| |-- crsd
| | |-- oraagent_grid
| | |-- oraagent_oracle
| | `-- orarootagent_root
| `-- ohasd
| |-- oraagent_grid
| |-- oracssdagent_root
| |-- oracssdmonitor_root
| `-- orarootagent_root
|-- client
|-- crsd
|-- cssd
|-- ctssd
|-- diskmon
|-- evmd
|-- gipcd
|-- gnsd
|-- gpnpd
|-- mdnsd
|-- ohasd
|-- racg
| |-- racgeut
| |-- racgevtf
| `-- racgmain
`-- srvm
42 directories
rmdbs 层的日志结构:
oracle@rac1:/opt/rac/oracle/diag/rdbms/rac>tree -d rac1
rac1
|-- alert
|-- cdump
|-- hm
|-- incident
|-- incpkg
|-- ir
|-- lck
|-- metadata
|-- stage
|-- sweep
`-- trace
11 directories
其中“rac1”是主机名。
3.日志目录功能说明
1)crs日志存放在“$grid_home/log//crsd”目录,系统会对该日志每10m进行归档一次;
2)css日志存放在“$grid_home/log//cssd”目录,系统会对该日志每20m进行归档一次;
3)evm日志存放在“$grid_home/log//evmd”目录;
4)“$grid_home/log/”和“$oracle_home/log/”目录中的racg目录中记录了racg可执行文件对应的日志;
5)“$grid_home/log//client”和“$oracle_home/log//client”目录记录了与srvctl、ocrdump、ocrconfig以及ocrcheck命令对应的日志信息。
4.oracle集群的alert日志
oracle rac环境中的alert日志文件与oracle单实例的alert日志一样。该文件位于“在 $oracle_base/rdbms//trace”目录下,命名规则为“alert_.log”
该警告日志记录了有关oracle集群rdbms 层面的重要警告信息。
oracle@rac1:/opt/rac/oracle/diag/rdbms/rac/rac1/trace>more alert_rac1.log
starting up:
oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production
with the partitioning, real application clusters, olap, data mining
and real application testing options.
using parameter settings in client-side pfile /opt/rac/oracle/admin/rac/pfile/init.ora on machine rac1
system parameters with non-default values:
processes = 150
nls_language = "simplified chinese"
nls_territory = "china"
memory_target = 1584m
control_files = "+data2/rac/controlfile/current.260.781821965"
db_block_size = 8192
compatible = "11.2.0.0.0"
log_archive_dest_1 = "location=+data2"
log_archive_format = "yangdb_%t_%s_%r.dbf"
db_create_file_dest = "+data2"
undo_tablespace = "undotbs1"
instance_number = 1
remote_login_passwordfile= "exclusive"
db_domain = ""
dispatchers = "(protocol=tcp) (service=racxdb)"
remote_listener = "scan:1521"
audit_file_dest = "/opt/rac/oracle/admin/rac/adump"
audit_trail = "db"
db_name = "rac"
open_cursors = 300
diagnostic_dest = "/opt/rac/oracle"
cluster communication is configured to use the following interface(s) for this instance
10.10.10.10
cluster interconnect ipc version:oracle udp/ip (generic)
ipc vendor 1 proto 2
sat apr 28 20:50:38 2012
pmon started with pid=2, os id=16042
sat apr 28 20:50:38 2012
vktm started with pid=3, os id=16044 at elevated priority
vktm running at (10)millisec precision with dbrm quantum (100)ms
sat apr 28 20:50:39 2012
gen0 started with pid=4, os id=16048
sat apr 28 20:50:39 2012
diag started with pid=5, os id=16050
sat apr 28 20:50:39 2012
dbrm started with pid=6, os id=16052
5.小结
熟悉oracle集群环境下日志文件的位置和功能有助于快速定位故障的位置,善用之。
ora-29780: unable to connect gpnp daemon [clsgpnp_err]
安装完成 11gr2 grid 之后,使用asmca创建磁盘组的时候遇到如下报错:
started getting following error
ora-29780: unable to connect to gpnp daemon [clsgpnp_err]
google 一把 和环境变量有关:(crs/grid 是运行正常的).
grid@rac1 /oragrid/dbs> env | grep ora
grid_home=/opt/11.2.0/grid <====== 从老的bash_profle 中继承的!
oracle_sid=+asm1
oracle_base=/opt/rac/grid
oracle_home=/opt/rac/11.2.0/grid
$grid_home变量必须和$oracle_home 保持一致,否则在使用asmca创建磁盘的时候 会认不到asm 磁盘!