搜档网
当前位置:搜档网 › AIX下自动启动Oracle数据库与监听器

AIX下自动启动Oracle数据库与监听器

1.在/home/oracle目录下,建立startdb文件,文件内容如下:echo "begin to start oracle"

lsnrctl start

sqlplus /nolog <

connect /as sysdba

startup

exit

exit

echo "oracle have started"

给startdb执行权限

2.在/etc下建立文件rc.startdb,脚本如下:

su - oracle "-c /oracle/startdb" #启动oracle

给文件执行权限

3 把启动信息放到/etc/inittab中,使用如下命令:

mkitab “startdb:2:wait:/etc/rc.startdb”

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

添加到/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

/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

相关主题