-------------设置开机自动启动Oracle关机自动关闭Oracle-----------
oracle用户下
1、确认启动文件和关闭文件的存在
[oracle@oracle253 bin]$ pwd
/u01/oracle/product/10.2.0/db_1/bin
[oracle@oracle253 bin]$ ll dbstart --启动文件,startup命令调用的文件
-rwxr-xr-x 1 oracle oinstall 10415 2000-01-01 dbstart
[oracle@oracle253 bin]$ ll dbshut --关闭文件,shutdown 命令调用的文件
-rwxr-xr-x 1 oracle oinstall 4654 2000-01-01 dbshut
[oracle@oracle253 bin]$ ll lsnrctl
-rwxr-x--x 1 oracle oinstall 100339 07-10 14:55 lsnrctl --监听器的启动和关闭文件
2、修改文件:/etc/oratab
[oracle@oracle253 bin]$ vi /etc/oratab
将N改为Y
3、测试启动文件和关闭文件的正确性
[oracle@oracle253 bin]$ ./dbshut
[oracle@oracle253 bin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 11 11:16:31 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance. --测试正确
[oracle@oracle253 bin]$ ./dbstart
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
Processing Database instance "ORCL": log file /u01/oracle/product/10.2.0/db_1/startup.log
[oracle@oracle253 bin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 11 11:17:03 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected. --测试正确
4、root下到linux的启动区域添加脚本
[root@oracle253 ~]# cd /etc/rc.d/init.d
[root@oracle253 init.d]# touch start_shut
[root@oracle253 init.d]# ll start_shut
-rwxr-xr-x 1 root root 774 2012-11-06 start_shut
编辑这个文件
#!/bin/sh
OPT_=$1
case "$OPT_" in
start)
/bin/echo "$0 : (start)"
#
# your service startup command goes here
#
su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/lsnrctl start"
su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/dbstart"
chmod 777 /tmp
chown sys:sys /tmp
exit 0
;;
stop)
/bin/echo "$ : (stop)"
#
# your service shutdown command goes here
#
su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/lsnrctl stop"
su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/dbshut"
exit 0
;;
*) /bin/echo ''
/bin/echo "Usage: $0[start|stop]"
/bin/echo "Invalid argument==>\"${OPT_}\""
/bin/echo ''
exit 0
;;
esac
5、将这个文件的权限修改为775
[root@oracle253 init.d]# chmod 775 start_shut
6、将这个shell脚本添加到启动和关闭区域
[root@oracle253 rc3.d]# pwd
/etc/rc3.d --一定要注意linux当前的启动级别是哪个级别
[root@oracle253 rc3.d]# ln -s /etc/rc.d/init.d/start_shut S99start_shut
[root@oracle253 rc3.d]# ll S99start_shut
lrwxrwxrwx 1 root root 27 2011-12-20 S99start_shut -> /etc/rc.d/init.d/start_shut
--启动的位置
[root@oracle253 rc0.d]# pwd
/etc/rc0.d
[root@oracle253 rc0.d]# ln -s /etc/rc.d/init.d/start_shut K01start_shut
[root@oracle253 rc0.d]# ll K01start_shut
lrwxrwxrwx 1 root root 27 2011-12-20 K01start_shut -> /etc/rc.d/init.d/start_shut
--关闭的位置
6、测试是否生效:init 6