5.开机自动启动Oracle

来源:互联网 发布:新疆4g网络停用真相 编辑:程序博客网 时间:2024/05/17 12:46




-------------设置开机自动启动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