一个oracle 10g双节点RAC,长时间处于关闭状态,近五年RAC没启动,客户突然要求启动数据库,要查询数据;那就启动吧!系统为:hp-ux
11.31、oracle 10.2
#/sbin/init.d/init.crs start
/sbin/init.d/init.cssd[903]:
/var/opt/oracle/scls_scr/mp-racdb1/root/cssrun: Cannot create the specified file.
Startup will be queued to init within 30
seconds.
1)不能创建指定文件,什么原因呢?
a.文件系统问题吗?
b.空间问题吗?
先测试文件系统,touch一个文件,如/var/a.log,没问题;删除刚才touch的文件;再看看/var空间吧,确实是100%,赶快找出一些无用日志文件删除掉,腾出空间;赶快重新启动一下crs,仍然报错,而且同样的错误;说明上面的操作没有解决问题,那就查查这个要创建的文件,原来是缺失目录/var/opt/oracle/scls_scr/mp-racdb1,这才发现可能是hostname被修改过,打电话与客户确认可以修改hostname;
#set_parms hostname //修改主机名字
#set_parms date_time //修改主机时间
修改完后,重启服务器生效!但是crs仍然没有开机自启动,手动启动:
#/sbin/init.d/init.crs start
Startup will be queued to init within 30
seconds.
2)查询相关进程启动情况
#ps -ef|egrep 'crsd|cssd|evmd'
#ps –ef |grep d.bin
没进程!
3)检查ocr、voting disk
#$CRS_HOME/bin/ocrcheck
#$CRS_HOME/bin/crsctl query css votedisk
正常!
4)查看相关日志:
A.$CRS_HOME/log/{node_name}/*,crsd,cssd等日志,无反应;
B. $CRS_HOME/log//racg/无日志
C./tmp/.oracle/crsctl*, /var/tmp/.oracle
#cat /tmp/crsctl.2093
Failed 3 to bind listening endpoint:
(ADDRESS=(PROTOCOL=tcp)(HOST=racdb1-priv))
从上面日志看,与网卡与ip设置有关:
1)检查网卡与IP设置
命令如下:
#lanscan
--查看网卡状态
#netstat -in --查看网卡对应ip配置
#netstat -nr --查看路由设置
$ oifcfg getif --oracle用户,检查RAC的网络设置
lan1
10.4.1.0 global public
lan0
10.0.0.0 global cluster_interconnect
经过检查,发现2个问题,一个是lan0的网卡没有设置ip,二是没有设置路由和网关;解决问题,通过配置文件(/etc/rc.config.d/netconf)设置IP和路由;
vi /etc/rc.config.d/netconf
HOSTNAME="racdb1"
##lan1设置
INTERFACE_NAME[1]="lan1"
IP_ADDRESS[1]="10.4.1.10"
SUBNET_MASK[1]="255.255.255.0"
BROADCAST_ADDRESS[1]=""
INTERFACE_STATE[1]="up"
DHCP_ENABLE[1]="0"
INTERFACE_MODULES[1]=""
##lan2设置
INTERFACE_NAME[0]="lan0"
IP_ADDRESS[0]="10.0.0.10"
SUBNET_MASK[0]="255.255.255.0"
BROADCAST_ADDRESS[0]=""
INTERFACE_STATE[0]="up"
DHCP_ENABLE[0]="0"
INTERFACE_MODULES[0]=""
##路由与网关设置
ROUTE_DESTINATION[0]="default"
ROUTE_MASK[0]=""
ROUTE_GATEWAY[0]="10.4.1.1"
ROUTE_COUNT[0]="1"
ROUTE_ARGS[0]=""
如果只配置lan0,而没有指定网关则会出现如下问题:
$crs_stat |grep lsnr
NAME=ora.racdb1.LISTENER_RACDB1.lsnr
NAME=ora.racdb2.LISTENER_TTDB2.lsnr
$crs_start
ora.racdb1.LISTENER_RACDB1.lsnr
Attempting to start `ora.racdb1.vip` on
member `racdb1`
Start of `ora.racdb1.vip` on member `racdb1`
failed.
CRS-1006: No more members to consider
CRS-0215: Could not start resource 'ora.racdb1.LISTENER_RACDB1.lsnr'.
$srvctl config nodeapps -n racdb1 -a -g -s
-l
VIP exists.: /racdb1-vip/10.4.1.11/255.255.255.0/lan1
GSD exists.
ONS daemon exists.
Listener exists.
#关于配置生效
方法一:reboot系统
方法二:/sbin/init.d/net
stop/start #没有尝试,担心net stop命令后不能远程登录
方法三:直接/sbin/init.d/net
start
完成后:
#lanscan
Hardware Station Crd Hdw Net-Interface NM
MAC HP-DLPI DLPI
Path
Address In# State
NamePPA ID Type
Support Mjr#
0/4/2/0
0x001A4B083100 1 UP lan1 snap1 1
ETHER Yes 119
0/2/1/0
0x0018FE2DA6D1 0 UP lan0 snap0 2
ETHER Yes 119
0/4/2/1
0x001A4B083101 2 UP lan2 snap2 3
ETHER Yes 119
0/6/1/0
0x0018FE2DA369 3 UP lan3 snap3 4
ETHER Yes 119
#netstat
-in
Name
Mtu Network Address Ipkts Ierrs Opkts l
lo0
32808 127.0.0.0
127.0.0.1 83248 0
83249
lan1
1500 10.4.1.0
10.4.1.10 93650 0 93070
lan0
1500 10.0.0.0
10.0.0.10 94 0 94
#netstat
-nr
Routing tables
Destination Gateway Flags Refs Interface Pmtu
127.0.0.1 127.0.0.1 UH
0 lo0 32808
10.0.0.10 10.0.0.10 UH
0 lan0 32808
10.4.1.10 10.4.1.10 UH
0 lan1 32808
10.0.0.0 10.0.0.10 U
2 lan0 1500
10.4.1.0 10.4.1.10 U
2 lan1 1500
127.0.0.0 127.0.0.1 U
0 lo0 32808
2)Crs正常
#/sbin/init.d/init.crs stop
#/sbin/init.d/init.crs start