在DG的运维过程中,备库可能因为缺少日志,而爆出下面的错误。
Tue Sep 20 17:25:00 2016 Fetching gap sequence in thread 1, gap sequence 211443-211443 Error 1034 received logging on to the standby FAL[client, USER]: Error 1034 connecting to NXP for fetching gap sequence
遇到这样的错误的时候,就需要从主库将缺少的归档日志传到备库,以便于备库日志应用进程执行。
但是遇到的问题是:备库的归档目录中可能有很多文件,无法判断到底哪些编号缺少而打断了SEQUENCE的连续性。
这时候,可以通过编写脚本去做这方面的检查。
下面是我为了解决这个问题而写的脚本:
aix:oranxp 47> cat check_arch_sequence.sh #!/usr/bin/env sh # Check Oracle DG archive sequence #start_num=$1 #end_num=$2 start_num=`ls -l /oracle/NXP/oraarch/NXParch/ | cut -d '_' -f3 | head -n 3 | tail -n 1` end_num=`ls -l /oracle/NXP/oraarch/NXParch/ | cut -d '_' -f3 | tail -n 1` echo "------------------------" echo "DG archive: sequence check" echo "------------------------" echo "Begin SEQUENCE# $start_num" echo "End SEQUENCE# $end_num" echo "===========" loop_item=$start_num while(($loop_item<$end_num)) do exsist_str=`ls -l /oracle/NXP/oraarch/NXParch/ | cut -d '_' -f3 | grep $loop_item` if [ "$exsist_str" -ne "$loop_item" ] then echo "Need be Add ## $loop_item" fi let loop_item=loop_item+1 done aix:oranxp 48>
而它的执行效果是这样的:
aix:oranxp 46> sh check_arch_sequence.sh ------------------------ DG archive: sequence check ------------------------ Begin SEQUENCE# 211410 End SEQUENCE# 213219 =========== Need be Add ## 211443 Need be Add ## 211478 Need be Add ## 211484 Need be Add ## 211494 Need be Add ## 211503 Need be Add ## 211504 Need be Add ## 211511 Need be Add ## 211512 Need be Add ## 211522 Need be Add ## 211523 Need be Add ## 211539 Need be Add ## 211540 Need be Add ## 211568 Need be Add ## 211608 Need be Add ## 211685 Need be Add ## 211686 Need be Add ## 211687 Need be Add ## 211688 Need be Add ## 211689 Need be Add ## 211708 Need be Add ## 211731 Need be Add ## 211732 Need be Add ## 211786 Need be Add ## 211787 Need be Add ## 211832 Need be Add ## 211840 Need be Add ## 211841 Need be Add ## 211842 Need be Add ## 211843 Need be Add ## 211872 Need be Add ## 211874 Need be Add ## 211891 Need be Add ## 211893 Need be Add ## 211922 Need be Add ## 211923 Need be Add ## 212057 Need be Add ## 212058 Need be Add ## 212059 Need be Add ## 212060 Need be Add ## 212061 Need be Add ## 212249 Need be Add ## 212251 Need be Add ## 212318 Need be Add ## 212362 Need be Add ## 212363 Need be Add ## 212451 Need be Add ## 212481 Need be Add ## 212511 Need be Add ## 212539 Need be Add ## 212540 Need be Add ## 212545 Need be Add ## 212546 Need be Add ## 212564 Need be Add ## 212720 Need be Add ## 212721 Need be Add ## 212727 Need be Add ## 212728 Need be Add ## 212731 Need be Add ## 212732 Need be Add ## 212738 Need be Add ## 212739 Need be Add ## 212751 Need be Add ## 212752 Need be Add ## 212779 Need be Add ## 212780 Need be Add ## 212808 Need be Add ## 212841 Need be Add ## 212842 Need be Add ## 212872 Need be Add ## 212883 Need be Add ## 212887 Need be Add ## 212904 Need be Add ## 212913 Need be Add ## 212914 Need be Add ## 212945 Need be Add ## 212946 Need be Add ## 212973 Need be Add ## 213039 Need be Add ## 213040 Need be Add ## 213043 Need be Add ## 213044 Need be Add ## 213072 Need be Add ## 213084 Need be Add ## 213085 Need be Add ## 213130 Need be Add ## 213131 Need be Add ## 213142 Need be Add ## 213143 Need be Add ## 213144 Need be Add ## 213175 Need be Add ## 213176 Need be Add ## 213177 Need be Add ## 213205 Need be Add ## 213206 aix:oranxp 47>
————————————————
Done。
2016年9月20日17:30:53