Oracle 单实例数据库开机自启/关机自停

说明:本文为Oracle 11gOracle 单实例开机自启/关机自停指导手册
用途:本文只是提供一种方法和思路,更多更高级的使用方法还期待你不断的探索哦
标签:数据库开机自启、Oracle开机自启、数据库关机自停、Oracle关机自停
温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化

【大纲】
--本文用途
--解决方法


★ 本文目的
////////////////////////////////////////////////////////////////////
有时安装完Oracle后无法实现数据库和监听的开机自启和关机自停功能,这种情况下可以使用该方法实现数据库的开机自启和关机自停


★ 解决方法
////////////////////////////////////////////////////////////////////
◆ Windows
✔ 开启自启
※ 数据库:Win+R → services.msc → OracleService{SID} → 右键属性 → 修改启动类型为(自动/自动延时)
※ 监听  :Win+R → services.msc → OracleOraDb11g_home1TNSListener → 右键属性 → 修改启动类型为(自动/自动延时)
✔ 关闭自启
※ 数据库:Win+R → services.msc → OracleService{SID} → 右键属性 → 修改启动类型为(手动/禁用)
※ 监听  :Win+R → services.msc → OracleOraDb11g_home1TNSListener → 右键属性 → 修改启动类型为(手动/禁用)


◆ Unix/Linux(方法A)
✔ 打开开机自启/关闭开机自启
※ 温馨提示A:在Unix/Linux中,dbstart会同时启动监听和数据库,dbshut会同时关闭监听和数据库
※ 温馨提示B:在Unix/Linux中,dbstart/dbshut启停数据库实例前会读取oratab文件,所以可以使用该命令管理多个数据库/多个实例
① 首先使用oracle用户修改/etc/oratab文件末尾的自启动条件末尾的标识符“N”或“Y”(将需要开机自启的数据库的标示改为“Y”,不需要开机自启的改为“N”即可)
    案例:(本例中只将数据库实例A和B设为开机自启)
    su - oracle
    vi /etc/oratab
    (以下为截选内容)
    a:/u01/app/oracle/product/11.2.0/db_1:Y
    b:/u01/app/oracle/product/11.2.0/db_1:Y
    c:/u01/app/oracle/product/11.2.0/db_1:N

② 然后使用root用户修改/etc/rc.d/rc.local文件,在末尾添加命令,让系统自启时执行该命令调用dbstart来打开“数据库”和“监听”
    su - root
    vi /etc/rc.d/rc.local
    (以下为截选内容)(可以使用环境变量,也可以使用绝对路径,作者推荐绝对路径方式)
    #su - oracle -c $ORACLE_HOME/bin/dbstart  $ORACLE_HOME
    su - oracle -c /u01/app/oracle/product/11.2.0/db_1/bin/dbstart  /u01/app/oracle/product/11.2.0/db_1


◆ Unix/Linux(方法B)
✔ 打开开机自启/关闭开机自启/打开关机自停
① 新建/编辑oratab文件
    使用oracle用户修改/etc/oratab文件末尾的自启动条件末尾的标识符“N”或“Y”(将需要开机自启的数据库的标示改为“Y”,不需要开机自启的改为“N”即可)
    案例:(本例中只将数据库实例A和B设为开机自启)
    su - oracle
    vi /etc/oratab
    (以下为截选内容)
    a:/u01/app/oracle/product/11.2.0/db_1:Y
    b:/u01/app/oracle/product/11.2.0/db_1:Y
    c:/u01/app/oracle/product/11.2.0/db_1:N

② 新建一个脚本文件“zzt_db_auto”
温馨提示:只粘贴脚本标识符中间的部分到“zzt_db_auto”,然后修改ORA_HOME和ORA_OWNER为当前环境即可

 vi /etc/init.d/zzt_db_auto

#! /bin/sh 
# description: Oracle auto start-stop script.
# Modify the following two parameters according to the actual situation
ORA_HOME=/u01/app/oracle/product/11.2.0/db_1
ORA_OWNER=oracle
# begin
case "$1" in
'start')
	# Start the Oracle databases:
	# The following command assumes that the oracle login
	# will not prompt the user for any values
	# Remove "&" if you don't want startup as a background process.
	su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" &
	touch /var/lock/subsys/zzt_db_auto
	;;
'stop')
	# Stop the Oracle databases:
	# The following command assumes that the oracle login
	# will not prompt the user for any values
	su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" &
	rm -f /var/lock/subsys/zzt_db_auto
	;;
esac
# end

③ 修改文件属性
su - root
chgrp dba /etc/init.d/zzt_db_auto
chmod 750 /etc/init.d/zzt_db_auto

④ 创建开机自启/关机自停软链接
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc0.d/K01_zzt_db_auto
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc3.d/S99_zzt_db_auto
# ln -s /etc/init.d/zzt_db_auto /etc/rc.d/rc5.d/S99_zzt_db_auto


※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

over

猜你喜欢

转载自blog.csdn.net/zzt_2009/article/details/106315107