AIX重启时,Oracle与Tomcat的自动关闭/启动


1>

默认安装好后Oracle的启动脚本dbstart会报一个错误监听,这点和linux下安装结果一样,修改如下:

su - oracle
vi `which dbstart`
找到ORACLE_HOME_LISTNER,修改为如下的样子
ORACLE_HOME_LISTNER=$ORACLE_HOME

在启动LISTENER的脚本处加入:
    $ORACLE_HOME_LISTNER/bin/lsnrctl start LISTENER2 >> $LOG 2>&1 &
    $ORACLE_HOME_LISTNER/bin/lsnrctl start LISTENER_NDSC >> $LOG 2>&1 &

同时修改LOGMSG="logger -puser.alert -s "为LOGMSG="logger -puser.alert "
记录syslog用

2>

oracle:/>ls -l /etc/oratab
-rw-rw-r--    1 oracle   system          758 Nov 20 18:04 /etc/oratab
修改/etc/oratab,将“N”改为“Y”,使之支持开机启动。如下:
patybs:/app/oracle/product/10.2.0/db_1:Y
ndsclone:/app/oracle/product/10.2.0/db_1:Y

3>

创建启动脚本,并赋予相关权限(log in as root)
# id
uid=0(root) gid=0(system) groups=2(bin),3(sys),7(security),8(cron),10(audit),11(lp)

touch /etc/rc.oracle
chmod 700 /etc/rc.oracle
vi /etc/rc.oracle
加入:
#!/usr/bin/ksh
echo "-------------------------------------------------" >> /var/log/dbora
date +" %T %a %D : Start Oracle Instance ... " >> /var/log/dbora
su - oracle -c dbstart >> /var/log/dbora
date +" %T %a %D : Oracle Start Finished." >> /var/log/dbora
date +" %T %a %D : Start Tomcat ... " >> /var/log/dbora
su - tomcat -c startup.sh >> /var/log/dbora
date +" %T %a %D : Tomcat Start Finished." >> /var/log/dbora
echo "-------------------------------------------------" >> /var/log/dbora
exit 0

4>

添加到/etc/inittab最下面,实现自启动。并且创建启动日志。
# pwd
/etc
# ls -l inittab
-rw-r--r--    1 root     system         3015 Feb 19 11:08 inittab

vi /etc/inittab
oracle:2:wait:/etc/rc.oracle > /var/log/oracle.log 2>&1
: oracle:2:respawn:/etc/rc.oracle > /var/log/oracle.log 2>&1(不要使用这个)
格式:
Identifier:RunLevel:Action:Command

# mkitab "oracle:2:wait:/etc/rc.oracle > /var/log/oracle.log 2>&1"
# lsitab oracle
oracle:2:wait:/etc/rc.oracle > /var/log/oracle.log 2>&1

5>

创建关闭脚本/etc/rc.shutdown

vi /etc/rc.shutdown
#!/usr/bin/ksh
echo "-------------------------------------------------" >> /var/log/dbora
date +" %T %a %D : Stop Tomcat ... " >> /var/log/dbora
su - tomcat -c shutdown.sh >> /var/log/dbora
date +" %T %a %D : Tomcat Stop Finished." >> /var/log/dbora
date +" %T %a %D : Stop Oracle Lsnr ... " >> /var/log/dbora
su - oracle -c "lsnrctl stop listener2" >> /var/log/dbora
su - oracle -c "lsnrctl stop listener_ndsc" >> /var/log/dbora
date +" %T %a %D : Oracle Lsnr Stop Finished." >> /var/log/dbora
date +" %T %a %D : Stop Oracle Instance ... " >> /var/log/dbora
su - oracle -c dbshut >> /var/log/dbora
date +" %T %a %D : Oracle Instance Stop Finished." >> /var/log/dbora
echo "-------------------------------------------------" >> /var/log/dbora
sync
exit 0

给/etc/rc.shutdown执行权限

系统管理员可以在 /etc/rc.shutdown shell 脚本中放置本地定制的关闭过程。如果该脚本存在,则在关闭开始时就运行。如果脚本运行但是失败(返回非零返回码),则关机停止。
oracle的dbstart会启动所有数据库,以及默认listener
oracle的dbshut会关闭所有数据库,但不关闭listener

# pwd
/etc
# ls -l rc.oracle rc.shutdown
-rwx------    1 root     system          500 Feb 26 19:37 rc.oracle
-rwx------    1 root     system          750 Feb 26 19:46 rc.shutdown

相关内容