您好,欢迎访问一九零五行业门户网

RHEL5开启和关闭Oracle实例以及自启动

rhel5开启和关闭oracle数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。返回结果中发现有$oracle_home_listne
rhel5开启和关闭oracle数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。
一、如何启动数据库实例
1.进入到sqlplus启动实例
[oracle@redhat ~]$ su - oracle                                 --“切换到oracle用户”
password:
[oracle@redhat ~]$ lsnrctl start                               --“打开监听”
[oracle@redhat ~]$ sqlplus /nolog                                --“进入到sqlplus”
sql*plus: release 10.2.0.1.0 - production on wed oct 14 19:06:45 2009
copyright (c) 1982, 2005, oracle. all rights reserved.
sql> conn /as sysdba                                              --“连接到sysdba”
connected to an idle instance.
sql> startup                                                     --“启动数据库实例
sql> shutdown immediate                                         --“关闭数据库实例”
[oracle@redhat ~]$ lsnrctl stop                                 --“关闭监听”
2.用dbstart和dbshut启动和关闭数据库实例
先启动监听 lsnrctl start
启动实例   dbstart
使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:
failed to auto-start oracle net listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
看起来貌似是监听没有起来,可是实际上,监听可以成功启动。
我们来看一下dbstart脚本,该脚本放在$oracle_home/bin下面。
搜索dbstart里面的tnslsnr:
grep tnslsnr dbstart
返回结果:
if [ -f $oracle_home_listner/bin/tnslsnr ] ; then
    echo failed to auto-start oracle net listene using $oracle_home_listner/bin/tnslsnr
返回结果中发现有$oracle_home_listner变量,有可能是该变量的路径不对,我们继续搜索oracle_home_listner
grep oracle_home_listner dbstart
返回结果:
# 3) set oracle_home_listner
oracle_home_listner=/ade/vikrkuma_new/oracle
if [ ! $oracle_home_listner ] ; then
echo oracle_home_listner is not set, unable to auto-start oracle net listener
log=$oracle_home_listner/listener.log
if [ -f $oracle_home_listner/bin/tnslsnr ] ; then
    $oracle_home_listner/bin/lsnrctl start >> $log 2>&1 &
    export ver10list=`$oracle_home_listner/bin/lsnrctl version | grep lsnrctl for | cut -d' ' -f5 | cut -d'.' -f1`
    echo failed to auto-start oracle net listene using $oracle_home_listner/bin/tnslsnr
        $logmsg restart oracle net listener using an alternate oracle_home_listner: lsnrctl start
我们发现oracle_home_listner=/ade/vikrkuma_new/oracle中,指定的路径不对,,需要对这一行重新编辑,使其路径制定到$oracle_home
用vi编辑dbstart,将oracle_home_listner=/ade/vikrkuma_new/oracle更改为
export oracle_home_listner=$oracle_home
然后保存退出,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。
此时的原因是在/etc/oratab的设置问题,我们cat一下,发现
zgz:/home/oracle/product/10g:n
最后设置的是n(我的环境中只有一个实例,因此只有一行配置语句),我们需要把“n”修改为“y”。
以上的工作做好之后,dbstart就可以正常使用了:
[oracle@redhat bin]$ lsnrctl start                                  --“启动监听”
[oracle@redhat bin]$ dbstart                                   --“启动数据库实例”
[oracle@redhat bin]$ dbshut                                    --“关闭数据库实例”
[oracle@redhat bin]$ lsnrctl stop                              --“关闭监听”
二、如何使数据库实例和linux系统一起启动
在/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:
su - oracle -c lsnrctl start
其它类似信息

推荐信息