如何检测Oracle的可用性和表空间容量.docVIP

如何检测Oracle的可用性和表空间容量.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何检测Oracle的可用性和表空间容量

很多人也许并不了解,检测Oracle的可用性所需要的命令比简单的ping或者ps -ef | grep 等Oracle的命令要多得多。有观点认为它需要一个使用SQL*Net 来验证监听器已经开启并运行的测试访问Oracle——这是用户经常用到的访问。通过实际地登录到实际环境中,你可以确认这个实例环境可以接受登录的,如果你只是做了以上的检测的话,你如何才能知道是否登录没有被接受,只是因为需要等待文档日志? 除了Oracle的激活和可用性之外,我们还需要进行检测以确保它可以用,这样我们还可以检测表空间的容量。 检测的脚本: ◆假设所有的Oracle环境都已经搭建起来了  ◆假设所有的扩展都已经达到了最大的限度  ◆假设左右的表空间都缺乏运行的空闲空间   下面的脚本可以在你想要的任何时候通过crontab 来中断。另外,如果上面的例外情况出现了的话,您还可以就这个脚本写信或者电子邮件给支持人员获得帮助。   如果您有什么其他的测试,这个脚本可以让您轻松地进行修改以加以利用。我使用这个Monitororcl 脚本作为模板并且在末尾添加了功能。   按crontab来调用query_oracle_instances.sh 脚本: #!/bin/ksh . /u01/home/oracle/.profile /u01/app/oracle/admin/monitororcl cat /u01/app/oracle/admin/Get_Oracle_Instance_List exit Get_Oracle_Instance_List 脚本如下:  instance_name1 tnsname1 sys_password_for_this_instance instance_name2 tnsname2 sys_password_for_this_instance instance_name3 tnsname3 sys_password_for_this_instance 下面是MONITORORCL脚本: #!/bin/ksh #script : Rick Stehno # script will monitor to see if Oracle is up while [ $1 ! ] do ORACLE_INSTANCE $1 ORACLE_TNS $2 USR_ID sys USR_PASS $3 # echo Instance: [$ORACLE_INSTANCE] # echo TNS [$ORACLE_TNS] # echo PASS: [$USR_PASS] LOGFIL /u01/app/oracle/admin/monitordev1.out NOTIFY_LIST userid1@,userid2,userid3@ # # 检测关键的段没有达到最大限度 sqlplus -s $LOGFIL 2 /dev/null $USR_ID/$USR_PASS@$ORACLE_TNS set pages 0 select distinct YES from dba_segments where extents max_extents-5 and segment_name not like 1.%; EOF1 grep -i ^ORA- $LOGFIL /dev/null if [ $? -eq 0 ] then echo $0 failed: check $ORACLE_INSTANCE for problems | /bin/mailx - s $ ORACLE_INSTANCE : Script failed $NOTIFY_LIST exit 1 fi MAXEXTENTS_REACHED `awk print $1 $LOGFIL` if [ $MAXEXTENTS_REACHED YES ] then echo $0 failed: $ORACLE_INSTANCE max extents reached | /bin/mailx - s $ ORACLE_INSTANCE : max extents reached $NOTIFY_LIST exit 1 fi # # 检测是否能分配下一个段 sqlplus -s $LOGFIL 2 /dev/null $USR_ID/$USR_PASS@$ORACLE_TNS set pages 0 select distinct YES from dba_segments ds where next_extent select max bytes from dba_free_space where tablespace_name d

文档评论(0)

tiangou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档