Friday, March 16, 2012

OMB OWB TCL Sorting table partitions

When migrating from OWB10.1 to 11gR2 the  partition order (sometimes) gets scrambeld and the table will not validate.  This scripts sets the partitions back in (alphabetical) order .     

[script]
###########################################################
#                                                         #
# Sort Table Partitions                                   #
#                                                          #
# Note: When migrating from OWB10.1 to 11gR2 the          #
#       partition order gets scrambeld and the table      #
#       will not validate                                 #
#       This scripts sets the partitions back in          #
#       alphabetical order                                #
# (C) Ciber Nederland John Minkjan    OMB101.blogspot.com      #
#        V001    Init Version                              #
#        V002    Validated against OWB11gR2                #
#                                                         #
###########################################################

set ProjectList [list ********]
foreach Project $ProjectList {
    OMBCC '/$Project'
    set OracleModuleList [OMBLIST ORACLE_MODULES]
        foreach OracleModule $OracleModuleList {
        puts $OracleModule
        OMBCC '/$Project/$OracleModule';
        set TableList [OMBLIST TABLES];
        foreach Table $TableList {
            set PartitionList [OMBRETRIEVE TABLE '$Table' GET PARTITIONS];
            if { $PartitionList != ""} {
                puts "-- $Table "
                set PartitionListS [lsort $PartitionList]
                if { $PartitionList != $PartitionListS} {
                    set partno 1
                    foreach Partition $PartitionListS {
                        OMBALTER TABLE '$Table' MODIFY PARTITION '$Partition' MOVE TO POSITION $partno
                        puts "$OracleModule - $Table - $Partition  - $partno"
                        set partno [expr $partno + 1 ]
                    }
                    OMBCOMMIT;
                }
            }
        }
    }
}
[\script]

Thursday, March 1, 2012

OMB OWB TCL Mapping set maximum number of errors

By default the maximum number of errors in a mapping is 50..... Here is a script to change it to 0:
############################################################
#                                                          #
# Change Maximum Number Of Errors                          #
#                                                          #
# (C) Ciber Nederland John Minkjan                         #
#                     http:\\OMB101.blogspot.com           # 
#        V001    Init Version                              #
#        V002    Validated against OWB11gR2                #
# orignal idea: Borkur Steingrimsson                       #
#                                                          #
############################################################
#Disconnect if connected
catch {
    OMBDISCONNECT;
    };
   
OMBCONNECT OWB_OWN/******@***********:1521:DWH_A2
set OMBPROMPT ON

set projectList [OMBLIST PROJECTS]
foreach projectName $projectList {
    OMBCC '$projectName'
    puts "Project: $projectName"
    set moduleList [OMBLIST ORACLE_MODULES]
    foreach moduleName $moduleList {
        puts "Process: $moduleName"
        OMBCC '$moduleName'
        set mappingList [OMBLIST MAPPINGS]
        foreach mappingName $mappingList {
            puts "Altering: $moduleName/$mappingName"
            OMBALTER MAPPING '$mappingName' SET PROPERTIES (MAXIMUM_NUMBER_OF_ERRORS) VALUES ('0')
        };
    OMBCC '..'
    };
    OMBCC '..'
};
(Kudos to Borkur: http://www.rittmanmead.com/2007/07/a-little-bit-of-omb-goes-a-long-way/)

Till Next Time