CentOS 6.3 启动停止Oracle
在CentOS6.3下安装完OracleDatabase11gRelease11.2.0.1.0-64bitProduction,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数。
首先先介绍一般而言如何启动oracle。
一、在Linux下启动Oracle
登录到CentOS,切换到oracle用户权限
#su–oracle
接着输入:
$sqlplus"/assysdba"
原本的画面会变为
SQL>
接着请输入
SQL>startup
就可以正常的启动数据库了。
另外停止数据库的指令如下:
SQL>shutdownimmediate
二、检查OracleDB监听器是否正常
回到终端机模式,输入:
$lsnrctlstatus
检查看看监听器是否有启动
如果没有启动,可以输入:
$lsnrctlstart
启动监听器
三、启动emctl
另外也可以发现http://localhost.localdomain:1158/em目前是没有反应的,这边要另外启动,启动的指令如下:
$emctlstartdbconsole
这个指令运行时间较长。
手动启动Oracle数据库完毕,下面创建系统自行启动Oracle的脚本。
四、Oracle启动&停止脚本
1.修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle自带的dbstart和dbshut才能够发挥作用。
#vi/etc/oratab
orcl:/opt/oracle/102:Y
#Entriesareoftheform:
#$ORACLE_SID:$ORACLE_HOME:<N|Y>:
2.在/etc/init.d/下创建文件oracle,内容如下:
#!/bin/sh
#chkconfig:358010
#description:Oracleautostart-stopscript.
#
#SetORA_HOMEtobeequivalenttothe$ORACLE_HOME
#fromwhichyouwishtoexecutedbstartanddbshut;
#
#SetORA_OWNERtotheuseridoftheownerofthe
#OracledatabaseinORA_HOME.
ORA_HOME=/opt/oracle/102
ORA_OWNER=oracle
if[!-f$ORA_HOME/bin/dbstart]
then
echo"Oraclestartup:cannotstart"
exit
fi
case"$1"in
'start')
#StarttheOracledatabases:
echo"StartingOracleDatabases..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StartingOracleDatabasesaspartofsystemup.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/dbstart">>/var/log/oracle
echo"Done"
#StarttheListener:
echo"StartingOracleListeners..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StartingOracleListenersaspartofsystemup.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/lsnrctlstart">>/var/log/oracle
echo"Done."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:Finished.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
touch/var/lock/subsys/oracle
;;
'stop')
#StoptheOracleListener:
echo"StopingOracleListeners..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StopingOracleListeneraspartofsystemdown.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/lsnrctlstop">>/var/log/oracle
echo"Done."
rm-f/var/lock/subsys/oracle
#StoptheOracleDatabase:
echo"StopingOracleDatabases..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StopingOracleDatabasesaspartofsystemdown.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/dbshut">>/var/log/oracle
echo"Done."
echo""
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:Finished.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
;;
'restart')
$0stop
$0start
;;
esac
3.改变文件权限
#chmod755/etc/init.d/oracle
4.添加服务
#chkconfig--level35oracleon
5.需要在关机或重启机器之前停止数据库,做一下操作
#ln-s/etc/init.d/oracle/etc/rc0.d/K01oracle//关机
#ln-s/etc/init.d/oracle/etc/rc6.d/K01oracle//重启
6.使用方法
#serviceoraclestart//启动oracle
#serviceoraclestop//关闭oracle
#serviceoraclerestart//重启oracle
7.测试
a.开机自启动
b.serviceoraclestop
c.serviceoraclestart
d.serviceoraclerestart
至此,Oracle服务启动&停止脚本与开机自启动设置完毕。