UNIX机器设置自动开关数据库的方法 - IT生活资讯网 - 专注IT精品资讯 关注IT生活 提供丰富有价值的IT教程 - TechFeel.Com

摩族智能手机社区 动力互联科技提供带宽支持

中国IDC圈

手机频道智能手机 电子书 铃声 主题 游戏  IDC主机托管域名 空间 邮局 托管

 
您的位置:首页 > 数据库 > Oracle >

UNIX机器设置自动开关数据库的方法

整理:互联网 来源:互联网我要收藏】 进入论坛 发布时间:2007-08-18 14:26:41

UNIX系统的机器在开机后和关机前都要运行一些特定的服务, 如启动和关闭sendmail,crond等。 tgaTechFeel
tgaTechFeel
同样我们可以设置UNIX机器在开机后和关机前启动和关闭ORACLE数据库的服务。tgaTechFeel
tgaTechFeel
首先我们要确认oracle用户能否用系统自带的Shell程序dbstart, dbshut正常启动和关闭数据库。tgaTechFeel
tgaTechFeel
dbstart, dbshut的存放目录在$ORACLE_HOME/bintgaTechFeel
tgaTechFeel
dbstart, dbshut会读Sun Solaris目录下/var/opt/oracle/oratab, 或者linux目录下/etc/oratab 文件。tgaTechFeel
tgaTechFeel
先确认这里参数已正确设置:tgaTechFeel
tgaTechFeel
#你要启动的数据库sid:ORACLE_HOME:Y tgaTechFeel
tgaTechFeel
例如:tgaTechFeel
test:/oracle/product/8.1.7:YtgaTechFeel
tgaTechFeel
如果有两个在用的数据库,这里oratab里可以是两行。tgaTechFeel
tgaTechFeel
例如:tgaTechFeel
test:/oracle/product/8.1.7:YtgaTechFeel
test2:/oracle/product/8.1.7:YtgaTechFeel
tgaTechFeel
执行dbstart, dbshut如果有问题可以查查原因:是环境变量没有设置好, 还是本身的dbstart或dbshut有错误。tgaTechFeel
tgaTechFeel
我用过的Oracle8.1.6.*版本的dbstart就不能启动数据库。tgaTechFeel
tgaTechFeel
按dbshut的格式重新写一个dbstart, 把里面shutdown的字符替换成startup, 可以解决这个问题。tgaTechFeel
tgaTechFeel
然后在Sun Solaris目录/etc/init.d下, 或者linux目录/etc/rc.d/init.d下.  tgaTechFeel
tgaTechFeel
写一个类似下面的shell文件oracle ( 你要有root权限 )tgaTechFeel
tgaTechFeel
-----------------------------------------------------------------------------------tgaTechFeel
#!/bin/shtgaTechFeel
tgaTechFeel
OPT_=$1tgaTechFeel
tgaTechFeel
case "$OPT_" intgaTechFeel
    start)tgaTechFeel
        /bin/echo "$0 : (start)"tgaTechFeel
        #tgaTechFeel
        # Your service startup command goes here.tgaTechFeel
        #tgaTechFeel
        su - oracle -c "/oracle/product/8.1.7/bin/lsnrctl start"tgaTechFeel
        su - oracle -c "/oracle/product/8.1.7/bin/dbstart"tgaTechFeel
tgaTechFeel
        # NOTE: Must exit with zero unless error is severe.tgaTechFeel
        chmod 1777 /tmptgaTechFeel
        chown sys:sys /tmptgaTechFeel
        exit 0tgaTechFeel
        ;;tgaTechFeel
    stop)tgaTechFeel
        /bin/echo "$0 : (stop)"tgaTechFeel
        #tgaTechFeel
        # Your service shutdown command goes here.tgaTechFeel
        #tgaTechFeel
        su - oracle -c "/oracle/product/8.1.7/bin/lsnrctl stop"tgaTechFeel
        su - oracle -c "/oracle/product/8.1.7/bin/dbshut"tgaTechFeel
tgaTechFeel
        # NOTE: Must exit with zero unless error is severe.tgaTechFeel
        exit 0tgaTechFeel
        ;;tgaTechFeel
    *)  /bin/echo ''

关键字: UNIX

评论】【 】【打印】【关闭

※ 相关信息
发表评论
用户名: 密码:
验证码: 匿名发表
TechFeel.Com 旗下网站:  摩族智能手机网 | 中国教程在线 | 动力互联科技
网站留言关于我们 | 广告服务| 合作媒体 | 联系我们 | 免责声明网站地图
Copyright © 2005 - 2007 All Rights Reserved
冀ICP备 05024357