免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ★jasson★
打印 上一主题 下一主题

HACMP5.1装好oralce后的问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-04-13 11:53 |只看该作者

HACMP5.1装好oralce后的问题

RSTSG
麻烦你,怎么带immediate参数?
是直接写dbshut immediate还是shutdown immediate,还是修改dbshut,添加参数??

论坛徽章:
0
12 [报告]
发表于 2005-04-13 12:12 |只看该作者

HACMP5.1装好oralce后的问题

修改dbshut好了,不过我一般都不是先用教本kill掉连接再关数据库

论坛徽章:
0
13 [报告]
发表于 2005-04-13 13:39 |只看该作者

HACMP5.1装好oralce后的问题

原帖由 "RSTSG" 发表:
问题就在脚本上。。。

你用su - oracle -c dbshut来停止数据库。。。

但是dbshut里面的shutdown是没有参数的。也就是说一旦有一个客户端还连接在你的oracle上,你的oracle就停不下来。

建议解决方案:
1。..........




我也认为是这个原因,但补充一点,我也曾遇到过用shutdown imediate也停不了的session,这样HACMP的接管造成超时.如果强制用shutdown abort这样有部分未写入硬盘的数据会掉的,风险太大.因此,还要按具体的实际情况来自已写HACMP启停应用数据库的脚本.

论坛徽章:
0
14 [报告]
发表于 2005-04-13 15:14 |只看该作者

HACMP5.1装好oralce后的问题

trap 'exit' 1 2 3
case $ORACLE_TRACE in
    T) set -x ;;
esac
   
# Set path if path not set (if called from /etc/rc)
case $PATH in
    "" PATH=/bin:/usr/bin:/etc
        export PATH ;;
esac
# Save LD_LIBRARY_PATH
SAVE_LLP=$LD_LIBRARY_PATH

#
# Loop for every entry in oratab file and and try to shut down
# that ORACLE
#

cat $ORATAB | while read LINE
do
    case $LINE in
        \#*) ;;        #comment-line in oratab
        *)
#       Proceed only if third field is 'Y'.
        if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
            ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`
            if [ "$ORACLE_SID" = '*' ] ; then
                ORACLE_SID=""
            fi
#           Called programs use same database ID
            export ORACLE_SID
            ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -`
#           Called scripts use same home directory
            export ORACLE_HOME
#           Put $ORACLE_HOME/bin into PATH and export.
            PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/etc ; export PATH
#           add for bug 652997
            LD_LIBRARY_PATH=${SAVE_LLP}{ORACLE_HOME}/lib ; export LD_LIBRARY_PATH
            PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora

#            See if it is a V6 or V7 database
            VERSION=undef
            if [ -f $ORACLE_HOME/bin/sqldba ] ; then
                SQLDBA=sqldba
                VERSION=`$ORACLE_HOME/bin/sqldba command=exit | awk '
                    /SQL\*DBA: (Release|Version)/ {split($3, V, "." ;
                    print V[1]}'`
                case $VERSION in
                    "6" ;;
                    *) VERSION="internal" ;;
                esac
            else
                if [ -f $ORACLE_HOME/bin/svrmgrl ] ; then
                    SQLDBA=svrmgrl
                    VERSION="internal"
                else
                    SQLDBA="sqlplus /nolog"
                fi
            fi
      case $VERSION in
                  "6"  sqldba command=shutdown ;;
                  "internal"  $SQLDBA <<EOF
connect internal
shutdown
EOF
                    ;;
                  *)  $SQLDBA <<EOF
connect / as sysdba
shutdown
EOF
                    ;;
              esac

            if test $? -eq 0 ; then
                echo "Database \"${ORACLE_SID}\" shut down."
            else
                echo "Database \"${ORACLE_SID}\" not shut down."
            fi
        fi
        ;;
    esac
done

在上面的脚本中,在shutdown后面加immediate,就这样吗

论坛徽章:
0
15 [报告]
发表于 2005-04-13 19:56 |只看该作者

HACMP5.1装好oralce后的问题

是的,在每一个shutdown后面都加上immediate。

实际上前面的部分是在确定你使用的oracle版本,以确定用什么命令停止数据库。

我倒是对zlg88说的“因此,还要按具体的实际情况来自已写HACMP启停应用数据库的脚本.“比较感兴趣,,想知道具体的自己的启停脚本是怎么个写法!?

呵呵,如果zlg88感兴趣,大家不妨讨论讨论啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP