For VOB replica "\AXIS": Actual oplog IDs for row "foax_axis_AXIS_3" (@ fors19aa): oid:a660e345.b4dc4bbf.afd1.4f:2e:af:d0:33:74=555770 (foax_axis_AXIS_3) oid:7d7aedf3.575b4c9a.aa8d.cb:be:05:68:e1:ab=6694451 (sisl_AXIS) oid:3acebdef.56e143af.84d3.8f:5e:b3:a4:4a:31=25744475 (smsax_AXIS) oid:3f1b3b0b.519042b4.93a9.ae:64:52:ad:11:26=5 (smsax_axis_3) For VOB replica "\PROJECTS": Actual oplog IDs for row "fo_mas_PROJECTS" (@ fors19aa): oid:d4e9cd09.dcad4cce.8559.72:19:f4:ee:f8:11=1804833 (fo_mas_PROJECTS) oid:ed0b2a97.1d5a4cd4.8b48.86:07:fb:09:68:52=14998 (heitec_mas_PROJECTS_3) oid:eefd6347.471443ea.814a.d0:da:e8:d4:fd:c7=25557 (keco_PROJECTS_2) oid:039b84e2.4f8d4449.9676.ce:37:80:55:4e:ac=7527 (sisl_PROJECTS_2) oid:660856b5.68604e0c.81a8.94:6e:f9:ac:54:ef=832 (vplus_mas_PROJECTS_2) For VOB replica "\Newcor": Actual oplog IDs for row "newcor_forchheim" (@ fors19ya.ww005.siemens.net): oid:73e6ca76.f3eb41c9.a34a.ba:13:ba:f2:d7:e1=386 (newcor_forchheim) oid:6d1fa895.96d94d5a.8f58.d5:7a:a3:06:a4:5f=28524 (newcor_hoffman_estate) oid:a8d006a2.2f5644bc.bfe4.83:e2:ad:fc:d8:fc=3099634 (newcor_india) #### For VOB replica "\AXIS": Actual oplog IDs for row "smsax_AXIS" (@ hesba08a): oid:a660e345.b4dc4bbf.afd1.4f:2e:af:d0:33:74=555775 (foax_axis_AXIS_3) oid:7d7aedf3.575b4c9a.aa8d.cb:be:05:68:e1:ab=6694474 (sisl_AXIS) oid:3acebdef.56e143af.84d3.8f:5e:b3:a4:4a:31=25773996 (smsax_AXIS) oid:3f1b3b0b.519042b4.93a9.ae:64:52:ad:11:26=5 (smsax_axis_3) For VOB replica "\PROJECTS": Actual oplog IDs for row "smsax_projects_2" (@ hesba08a): oid:d4e9cd09.dcad4cce.8559.72:19:f4:ee:f8:11=1805193 (fo_mas_PROJECTS) oid:ed0b2a97.1d5a4cd4.8b48.86:07:fb:09:68:52=15004 (heitec_mas_PROJECTS_3) oid:eefd6347.471443ea.814a.d0:da:e8:d4:fd:c7=25569 (keco_PROJECTS_2) oid:039b84e2.4f8d4449.9676.ce:37:80:55:4e:ac=7553 (sisl_PROJECTS_2) oid:660856b5.68604e0c.81a8.94:6e:f9:ac:54:ef=833 (vplus_mas_PROJECTS_2) For VOB replica "\Newcor": Actual oplog IDs for row "newcor_hoffman_estate" (@ hesba07a.ww005.siemens.net): oid:73e6ca76.f3eb41c9.a34a.ba:13:ba:f2:d7:e1=388 (newcor_forchheim) oid:6d1fa895.96d94d5a.8f58.d5:7a:a3:06:a4:5f=28541 (newcor_hoffman_estate) oid:a8d006a2.2f5644bc.bfe4.83:e2:ad:fc:d8:fc=3099770 (newcor_india) #### for(my $i = 0; $i < scalar(@epochList); $i++) { my $line = $epochList[$i]; chomp($line); next if((!$line) || ($line =~ /^;/) || ($line =~ /deleted/)); print $line . "\n" if($debugLevel >= 5); ### if line contains the VOB Tag, read in the following info until next VOB Tag is reached ### VOB Tag is hash key in this case if($line =~ /^\s*For VOB replica \"(.*)\"\s*/i) { #### create a hash for VOB info, with VOB Tag as key $tmpVOBTag = $1; $vobInfoHashRef = $epochFileHash{$1} ||= {}; print "level 1" . "$_\n"; print "epoch file hash ---" . $epochFileHash{$tmpVOBTag} . "\n"; next; } # Get the replica name. if($line =~ /^\s*Actual oplog IDs for row \"(.*)\"\s*/i) { # Store the key to the hash as replica_name $tmpReplicaName = $1; my $replicaInfoHashRef = ${$epochFileHash{$tmpVOBTag}}{$1} ||= {}; print "level 2" . "$_\n"; print "epoch file hash ---" . ${$epochFileHash{$tmpVOBTag}}{$tmpReplicaName} . "\n"; next; } # Get oplogs rows ##### similar info found previously, but only once ##### create an array #### ${$epochFileHash{$tmpVOBTag}}{$tmpReplicaName} if(ref(${$epochFileHash{$tmpVOBTag}}{$tmpReplicaName}) ne "ARRAY") { my $tmpReplicaInfoVal = ""; print"value is not an array" . "\n" if($debugLevel >= 5); $tmpReplicaInfoVal = ${$epochFileHash{$tmpVOBTag}}{$tmpReplicaName}; $vobInfoHashRef->{$replicaInfoHashRef} = (()); push(@{$vobInfoHashRef->{$replicaInfoHashRef}}, $tmpReplicaInfoVal); } ##### already inserted as array, just push new info into array print "value is an array" . "\n" if($debugLevel >= 5); push(@{$vobInfoHashRef->{$replicaInfoHashRef}}, $line); } ##-------------------------------------------------------------------------- ### dump out the whole hash onto the screen, debugging purposes only if($debugLevel >= 0) { print "-" x 50 . "\n"; foreach my $key(keys %epochFileHash) { print "$key-->"; if(ref($epochFileHash{$key}) ne "HASH") { print "$epochFileHash{$key}" . "\n"; } else { # print keys %{ $epochFileHash{$key} }; foreach my $compInfo(keys %{ $epochFileHash{$key} }) { print "$compInfo==>"; if(ref($epochFileHash{$key}->{$compInfo}) ne "ARRAY") { print "$compInfo-->$epochFileHash{$key}->{$compInfo}" . "\n"; } else { print scalar(@{$epochFileHash{$key}->{$compInfo}}); foreach my $compInfoVal(@{$epochFileHash{$key}->{$compInfo}}) { print "$compInfoVal" . "\n"; } } } } print "-" x 30 . "\n"; } }