免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2670 | 回复: 9
打印 上一主题 下一主题

[集群与高可用] 那位朋友有做过legato aam for linux oracle双机的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-21 21:31 |只看该作者 |倒序浏览
那位朋友有做过legato  aam for linux oracle双机的
我现在的环境是aam 5.3 ,linux AS 4.0 64bit,做双机保护oracle,由于linux平台上,aam没有oracle module,只能通过脚本的方式来实现oracle状态的监控和起停,不知道那位朋友有测试的脚本,可以共享一下,谢谢。主要是oracle状态监控脚本。
如果有完整的文档更好哈。谢谢。
另,我查了一下兼容列表,AAM只能支持 linux AS 4.0 32 bit,并没有说支持64bit,不知道有没有做成功的。

[ 本帖最后由 ab 于 2008-5-21 22:25 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-05-21 22:12 |只看该作者
忘了,监控其中一个ora进程就行了,例如mon之类的,试试

论坛徽章:
0
3 [报告]
发表于 2008-05-21 22:25 |只看该作者

回复 #2 wolfheader 的帖子

能给个脚本示例不

论坛徽章:
0
4 [报告]
发表于 2008-05-21 22:27 |只看该作者
我好几年没弄过了,就是还有这点印象

论坛徽章:
0
5 [报告]
发表于 2008-05-22 09:29 |只看该作者
perl,shell,写一个monitor,用awk截取oracle进程的状态,正常则exit (0)异常则exit(1)

论坛徽章:
0
6 [报告]
发表于 2008-05-22 23:22 |只看该作者
ps -ef | grep xxx | grep -v grep

exit $?

论坛徽章:
0
7 [报告]
发表于 2008-05-23 10:45 |只看该作者
################################################################################
# Reponse test for Oracle Listener
#
# Description:  Response test for Oracle Listener
#
# Dependendcies:
#      ORACLE_SID env var
#      ORACLE_HOME env var
################################################################################
$ORACLE_HOME = $ENV{ORACLE_HOME};
$ORACLE_SID = $ENV{ORACLE_SID};
$tnsping = "$ORACLE_HOME/bin/tnsping";

# ensure that the Oracle Env vars are set.  If not, post an event message
# but pass the test.
if (! $ORACLE_HOME)
{
     $mesg = "Env var ORACLE_HOME not set.  Check the listener's process config.";
     &PostError($mesg);
     exit 0;
}
if (! $ORACLE_SID)
{
     $mesg = "Env var ORACLE_SID not set.  Check the listener's process config.";
     &PostError($mesg);
     exit 0;
}

# check to see that tnsping exists.  If not, go NO RESPONSE.
if (! (-e $tnsping))
{
     $mesg = "$tnsping not found.";
     &PostError($mesg);
     exit 1;
}

# Run the tnsping test.  If the listener isn't running the test will cause the
# LCE listener process to transition to the NO RESPONSE state.
$command = "$tnsping $ORACLE_SID";
system($command);
$ret = $? / 256;
if ($ret != 0)
{
     $mesg = "$tnsping returned an error: $ret";
     &PostError($mesg);
     exit($ret);
}

exit(0);

################################################################################
#
#  SUBROUTINE: PostError()
#
################################################################################

sub PostError
{
     local($errMesg) = @_;

     push(@INC, "$ENV{FT_DIR}/bin");
     require "ft.pl";

     &ft'PostEvent($FT'SEV_ERROR,"Listener Response Test Error: $errMesg");

     return;
}


################################################################################
# Reponse test for Oracle Listener
#
# Description:  Response test for Oracle Listener
#
# Dependendcies:
#      ORACLE_SID env var
#      ORACLE_HOME env var
################################################################################
$ORACLE_HOME = $ENV{ORACLE_HOME};
$ORACLE_SID = $ENV{ORACLE_SID};
$tnsping = "$ORACLE_HOME/bin/tnsping";

# ensure that the Oracle Env vars are set.  If not, post an event message
# but pass the test.
if (! $ORACLE_HOME)
{
     $mesg = "Env var ORACLE_HOME not set.  Check the listener's process config.";
     &PostError($mesg);
     exit 0;
}
if (! $ORACLE_SID)
{
     $mesg = "Env var ORACLE_SID not set.  Check the listener's process config.";
     &PostError($mesg);
     exit 0;
}

# check to see that tnsping exists.  If not, go NO RESPONSE.
if (! (-e $tnsping))
{
     $mesg = "$tnsping not found.";
     &PostError($mesg);
     exit 1;
}

# Run the tnsping test.  If the listener isn't running the test will cause the
# LCE listener process to transition to the NO RESPONSE state.
$command = "$tnsping $ORACLE_SID";
system($command);
$ret = $? / 256;
if ($ret != 0)
{
     $mesg = "$tnsping returned an error: $ret";
     &PostError($mesg);
     exit($ret);
}

exit(0);

###################################################


标准的

论坛徽章:
0
8 [报告]
发表于 2008-05-23 21:52 |只看该作者

回复 #7 stornewer 的帖子

我明天测试一下这个脚本(我的脚本能力很烂的),另外,如果oracle是建在raw上的,如果我在一台主机上添加了一个raw设备数据文件,那么肯定在这台主机的/dev/XXvg/下就会有一个raw设备文件,可是另一台主机的相同目录是没有这个文件的,当数据库切换到另一主机是,数据库肯定就会有问题,怎么解决这个问题呢?能做vg的导入导出吗。
我看了一个文档说当一台主机添加一个raw设备文件后,在另一台主机上运行只需lvscan就可以看到第一台主机添加的raw文件,不知道是不是这样,我还没有测试过。

论坛徽章:
0
9 [报告]
发表于 2008-05-23 22:05 |只看该作者
这个软件已经走进历史博物馆了,我在市场上很久没有看到它的声音了

论坛徽章:
0
10 [报告]
发表于 2008-05-24 09:03 |只看该作者
原帖由 cnpmc 于 2008-5-23 22:05 发表
这个软件已经走进历史博物馆了,我在市场上很久没有看到它的声音了


对,因为名字换了,你听不到是正常的

compaq你也很久没听过了吧,但是compaq的设备现在还是爆多
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP