• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 11g DataGuard自动启动服务

mysql 搞代码 4年前 (2022-01-09) 20次浏览 已收录 0个评论

Oracle 11g DataGuard自动启动服务 只为了做的更好Just to do better script name:oracledg #!/bin/bash #chkconfig: 2345 98

Oracle 11g DataGuard自动启动服务

只为了做的更好
Just to do better

script name:oracledg

#!/bin/bash
#chkconfig: 2345 98 01
#description: Oracle database dataguard server
#Starts the oracle database dataguard server
#If more than four archive no application will be under the mout synchronization
#make SHEEL :MUXINQNG
case $1 in

‘start’)
if [ ! -f /var/lock/subsys/oracle ]; then
prog=”listener”
echo -n $”Starting $prog: “
su – oracle -c “lsnrctl start” >> /var/log/oracle.log
RETVAL=$?
[ $RETVAL -eq 0 ] && echo “success” || echo “failed”

prog=”oracle dataguard”
echo -n $”Starting $prog: “
su – oracle -c “sqlplus /nolog” <> /var/log/oracle.log
connect / as sysdba
startup mount
! sleep 30
select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;
select thread#,min(sequence#) no_applied_min,max(sequence#) no_applied_max,count(1) no_applied_all from v\$archived_log where applied=’NO’ and STANDBY_DEST=’NO’ and deleted’YES’ group by thread# order by thread#;
declare wyyn number;
begin
select count(1) into wyyn from v\$archived_log where applied=’NO’ and standby_dest=’NO’;
if wyyn < 5 then
EXECUTE IMMEDIATE ‘alter database open’;

EXECUTE IMMEDIATE ‘alter database recover managed standby database using current logfile disconnect’;
else

EXECUTE IMMEDIATE ‘alter database recover managed standby database using current logfile disconnect’;
end if;
end;
/
select name,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;
select applied,count(1) from v\$archived_log where applied=’NO’ group by applied;
exit
EOF

RETVAL=$?
[ $RETVAL -eq 0 ] && echo “success” || echo “failed”
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/oracle || RETVAL=1
fi
;;
‘stop’)
prog=”listener”
echo -n $”Stopping $prog: “
su – oracle -c “lsnrctl stop” >> /var/log/oracle.log
RETVAL=$?
[ $RETVAL -eq 0 ] && echo “success” || echo “failed”
echo
prog=”oracle dataguard”
echo -n $”Stopping $prog: “
su – oracle -c “sqlplus /nolog” <> /var/log/oracle.log
connect / as sysdba
alter database recover managed standby database cancel;
shutdown immediate
exit
EOF
RETVAL=$?
[ $RETVAL -eq 0 ] && echo “success” || echo “failed”
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/oracle
;;
‘restart’)

prog=”oracle dataguard”
echo -n $”Stopping $prog: “
$0 stop

prog=”oracle dataguard”
echo -n $”Starting $prog: “
$0 start
;;
‘status’)

su – oracle -c “lsnrctl status”
su – oracle -c “sqlplus /nolog” << EOF
connect / as sysdba
select nam

本文来源gaodai.ma#com搞##代!^码网(

e,open_mode,PROTECTION_MODE,DATABASE_ROLE from v\$database;
select process,status from v\$managed_standby;
exit
EOF
;;
*)
echo $”Usage: $0 {start|stop|restart|status}”
;;
esac

本文永久更新链接地址


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 11g DataGuard自动启动服务

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址