fatih@oracle $ cat backup_repos.sh #!/bin/ksh ORACLE_HOME=/dwh0/app/oracle/product/11.1.0.1 PATH=/dwh0/app/oracle/product/11.1.0.1/bin:/usr/ccs/bin:/usr/proc/lib:/usr/bin:/usr/lib:/usr/ucblib:/opt/bin:/bin:/opt/SUNWspro/bin:/usr/ucb ORACLE_PATH=/dwh0/app/oracle/product/11.1.0.1/bin ORACLE_SID=owb11 TNS_ADMIN=/dwh0/app/oracle/product/11.1.0.1/network/admin LD_LIBRARY_PATH=/dwh0/app/oracle/product/11.1.0.1/lib ORACLE_BASE=/u01/app/oracle/product ORACLE_TERM=vt100 export ORACLE_HOME export PATH export ORACLE_PATH export ORACLE_SID export TNS_ADMIN export LD_LIBRARY_PATH export ORACLE_BASE export ORACLE_TERM cd /dwh0/app/oracle/product/11.1.0.1/owb/bin/unix/ /dwh0/app/oracle/product/11.1.0.1/owb/bin/unix/OMBPlus.sh /ods01/backup/backup_repos.tcl /ods01/backup/files/repos_backup-`date +%Y%m%d_%H%M%S`.mdl /ods01/backup/files/exportLog-`date +%Y%m%d_%H%M%S`.log fatih@oracle $ cat backup_repos.tcl source "/ods01/backup/omb_library.tcl" ################################################################################## ##GLOBAL VARIABLE DECLARATION SECTION############################################# ################################## # SOURCE (DEVELOPMENT) REPOSITORY set SRC_REPOWNER_USER OWB_REP_OWNER set SRC_REPOWNER_PASS XYZ set SRC_IP 10.10.10.10 set SRC_PORT 1111 set SRC_SERVICENAME SRVC_NM set SRC_WORKSPACE WS set PROJECT_NAME PRJ_NM global VERBOSE_LOG set VERBOSE_LOG "0" set EXPORT_FILE [lindex $argv 0] set EXPORT_LOG [lindex $argv 1] ##CONNECTION TO SOURCE log_msg LOG "connecting to source" 1 set print [ exec_omb OMBCONNECT $SRC_REPOWNER_USER/$SRC_REPOWNER_PASS@$SRC_IP:$SRC_PORT:$SRC_SERVICENAME USE WORKSPACE '$SRC_WORKSPACE' ] if [omb_error $print] { log_msg ERROR [format "%s\n%s" "Unable to connect to source" "$print" ] return } ##EXPORT ALL log_msg LOG "exporting project from source" 1 set print [ exec_omb OMBEXPORT MDL_FILE '$EXPORT_FILE' FROM PROJECT '$PROJECT_NAME' INCLUDE_GRANTS INCLUDE_CMI_DEFINITIONS INCLUDE_USER_DEFINITIONS SUPPORTED_LANGUAGES ('*') OUTPUT LOG '$EXPORT_LOG' ] if [omb_error $print] { log_msg ERROR "Unable to export from source" log_msg ERROR "$print" return } ##DISCONNECT FROM SOURCE log_msg LOG "disconnect from source" 1 set print [ exec_omb OMBDISCONNECT] log_msg LOG "Project exported successfully." 1 fatih@oracle $ cat omb_library.tcl proc log_msg {LOGTYPE LOGMSG {FORCELOG "0"}} { global VERBOSE_LOG if { $VERBOSE_LOG == "1" || $LOGTYPE == "ERROR"} { \ puts "$LOGTYPE:-> $LOGMSG" } else { \ if { $FORCELOG == "1" || $LOGTYPE == "ERROR"} { \ puts "$LOGTYPE:-> $LOGMSG" \ } } } proc exec_omb { args } { log_msg OMBCMD "$args" # the point of this is simply to return errorMsg or return string, whichever is applicable, # to simplify error checking using omb_error{} if [catch { set retstr [eval $args] } errmsg] { \ return $errmsg } \ else { return $retstr } \ } proc omb_error { retstr } { # OMB and Oracle errors may have caused a failure. if [string match OMB0* $retstr] { \ return 1 } \ elseif [string match *ORA-* $retstr] { \ return 1 } \ else { \ return 0 } \ }