Problem using OMB*Plus

Hello,
I'm getting this error when trying to connect to design repository via OMB*Plus:
"OMB01118: Could not connect to repository! PRS-00306: Internal Error: Could not undo reservation for client .
Please contact Oracle Support with the stack trace and details on how to reproduce it."
Here's the interesting part:\
1) I CAN connect to the same repos. from OWB client AND
2) I can connect to this repository from a different box using OMB*PLus.
Further, OMB*PLus itself on the box in question is not screwed up, as I can connect to repos. on other boxes!
What could the problem be?
Thanks in advance,
Alex.

I went further with investigating my scripting problem:
OMBCONNECT OWBRT92USER/[email protected]:1521:EDW USE REPOSITORY 'OWBRT92' USE MULTIPLE_USER_MODE
OMB01118: Could not connect to repository! Database connection error!
So I tried to alter pieces of my connect statement:
OMBCONNECT OWBRT92USER/[email protected]:1521:wrong USE REPOSITORY 'OWBRT92' USE MULTIPLE_USER_MODE
API0420: Error message: Io exception: Connection refused(DESCRIPTION=(TMP=)(VSNN
UM=153092608)(ERR=12514)(ERROR_STACK=(ERROR=(CODE=12514)(EMFI=4))))
API0424: Please check if the the Oracle Service Name is correct.
Obviously, connect string to database is OK !
OMBCONNECT OWBRT92USER/[email protected]:1521:EDW USE REPOSITORY 'OWBRT92' USE MULTIPLE_USER_MODE
API0420: Error message: ORA-01017: invalid username/password; logon denied
And obviously, repository user is well identified !
Since I tried using either 'SINGLE_USER_MODE', 'MULTIPLE_USER_MODE' and nothing and it brings the very laconic same OMB01118 message, I guess it has to deal with "use repository clause
I tried to alter it to see what happens:
OMBCONNECT OWBRT92USER/[email protected]:1521:EDW USE REPOSITORY 'WRONG' USE MULTIPLE_USER_MODE
...but it brings the very same OMB01118 message.
Now I tried to connect to development repository:
OMBCONNECT OWBDEV92/[email protected]:1521:EDW USE REPOSITORY 'OWBDEV92' USE MULTIPLE_USER_MODE
Connected.
Well, cool, 'means I can connect to devt. repository but I want to deploy to runtime and if I usE:
OMBDEPLOY SPECIFICATION FROM C:\TEMP\deploytest.xml
it yields:
OMB05608: Connection to Runtime Platform has not been made.
Well, what can I do ?
Documentation B12187_02_Warehouse Builder Scripting Reference.pdf (chap. 2-12, page 48) mentions a OMBCONNECT_RUNTIME command that does not exist and the example is a strict copy of OMBCONNECT (even the example does not use OMBCONNECT_RUNTIME)
OMB+> OWMBCONNECT_RUNTIME
invalid command name "OWMBCONNECT_RUNTIME"
I'm really stuck.
Does anyone else connect to a runtime repository to deploy from a xml file ?
Thanks

Similar Messages

  • How to stop a scheduled job using OMB*Plus ?

    Hello everyone,
    I use a OMB*Plus script to deploy a project in various environments. This includes scheduled jobs.
    In this context, I need to stop the schedules of the previous versions to avoid a script crash.
    I found the OMBSTOP command thad could do, but I need to retrieve the job ID of the schedule I want to stop. And I don't know how to get the Job ID.
    I could get it from a previous launch and save it somewhere, but it wouldn't work if the schedule was manually stopped and restarted. Maybe is there a command that lists the running / scheduled jobs and their IDs? I didn't find it.
    Thanks in advance for your help.
    Cedric.

    Frankly, I cannot see where this is available via pure OMB+, however you could back-door it if if you can figure out how to get these values from the public views (I would guess from the "Scheduling Views" section at http://download-east.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm).
    Then you could use my SQL library from OMB+ to get these values and stop the schedules before deploying. you can save this file as omb_sql_library.tcl and then just "source /path/to/omb_sql_library.tcl in your own script to make the functions available in your script.
    {code}
    package require java
    # PVCS Version Information
    #/* $Workfile: omb_sql_library.tcl $ $Revision: 1.0 $ */
    #/* $Author: $
    #/* $Date: 03 Apr 2008 13:43:34 $ */
    proc oracleConnect { serverName databaseName portNumber username password } {
    # import required classes
    java::import java.sql.Connection
    java::import java.sql.DriverManager
    java::import java.sql.ResultSet
    java::import java.sql.SQLWarning
    java::import java.sql.Statement
    java::import java.sql.CallableStatement
    java::import java.sql.ResultSetMetaData
    java::import java.sql.DatabaseMetaData
    java::import java.sql.Types
    java::import oracle.jdbc.OracleDatabaseMetaData
    # load database driver .
    java::call Class forName oracle.jdbc.OracleDriver
    # set the connection url.
    append url jdbc:oracle:thin
    append url :
    append url $username
    append url /
    append url $password
    append url "@"
    append url $serverName
    append url :
    append url $portNumber
    append url :
    append url $databaseName
    set oraConnection [ java::call DriverManager getConnection $url ]
    set oraDatabaseMetaData [ $oraConnection getMetaData ]
    set oraDatabaseVersion [ $oraDatabaseMetaData getDatabaseProductVersion ]
    puts "Connected to: $url"
    puts "$oraDatabaseVersion"
    return $oraConnection
    proc oracleDisconnect { oraConnect } {
    $oraConnect close
    proc oraJDBCType { oraType } {
    #translation of JDBC types as defined in XOPEN interface
    set rv "NUMBER"
    switch $oraType {
    "0" {set rv "NULL"}
    "1" {set rv "CHAR"}
    "2" {set rv "NUMBER"}
    "3" {set rv "DECIMAL"}
    "4" {set rv "INTEGER"}
    "5" {set rv "SMALLINT"}
    "6" {set rv "FLOAT"}
    "7" {set rv "REAL"}
    "8" {set rv "DOUBLE"}
    "12" {set rv "VARCHAR"}
    "16" {set rv "BOOLEAN"}
    "91" {set rv "DATE"}
    "92" {set rv "TIME"}
    "93" {set rv "TIMESTAMP"}
    default {set rv "OBJECT"}
    return $rv
    proc oracleQuery { oraConnect oraQuery } {
    set oraStatement [ $oraConnect createStatement ]
    set oraResults [ $oraStatement executeQuery $oraQuery ]
    # The following metadata dump is not required, but will be a helpfull sort of thing
    # if ever want to really build an abstraction layer
    set oraResultsMetaData [ $oraResults getMetaData ]
    set columnCount [ $oraResultsMetaData getColumnCount ]
    set i 1
    #puts "ResultSet Metadata:"
    while { $i <= $columnCount} {
    set fname [ $oraResultsMetaData getColumnName $i]
    set ftype [oraJDBCType [ $oraResultsMetaData getColumnType $i]]
    #puts "Output Field $i Name: $fname Type: $ftype"
    incr i
    # end of metadata dump
    return $oraResults
    # SAMPLE CODE to run a quick query and dump the results. #
    #set oraConn [ oracleConnect myserver orcl 1555 scott tiger ]
    #set oraRs [ oracleQuery $oraConn "select name, count(*) numlines from user_source group by name" ]
    #for each row in the result set
    #while {[$oraRs next]} {
    #grab the field values
    # set procName [$oraRs getString name]
    # set procCount [$oraRs getInt numlines]
    # puts "Program unit $procName comprises $procCount lines"
    #$oraRs close
    #oracleDisconnect $oraConn
    {code}
    So you would want to connect to the control center, query for scheduled jobs, stop them, and then continue on with your deployment. I assume that you also need to pause and check that an scheduled job in mid-run has time to exit before moving ahead. You could do a sleep loop querying against system tables looking for active sessions running mappings and waiting until they are all done or something if you really want to bulletproof the process.
    Hope this helps,
    Mike

  • Inserting sql scripts in OWB 10g using OMB PLUS

    Hey burleson, thanks for the reply..
    Infact i am new to OWB and my question can be very silly to you.
    Infact i have 1 source table in OWB named 'SALGRADE' which contains data and i have 1 target table named 'TARGET_SALGRADE' which has the same structure as the source table.
    The script i have run and tested is as such :
    INSERT INTO TARGET_SALGRADE
    (GRADE,
    LOSAL,
    HISAL)
    SELECT
    GRADE,
    LOSAL,
    HISAL
    FROM SCOTT.SALGRADE;
    I have tested it in sqlplus and the update has been done.
    Can you please tell me how do i proceed in OMB PLUS and how do i write the script there??
    Regards,
    Amrish

    You can run SQL scripts using the SQLPLus activity in a process flow.
    But the traditional mechanism to move data in OWB is using mappings. The post below might be interesting if you know SQL to understand how mappings are constructed;
    http://blogs.oracle.com/warehousebuilder/2007/08/sql_and_owb_accelerated_map_co.html
    Cheers
    David

  • How to properly create a calendar using OMB*Plus, to schedule a workflow ?

    Hello all,
    I want to schedule a workflow when deploying via OMB*Plus.
    It looks like I have a syntax error, but this happens even with the example given on
    [the OMBCREATE CALENDAR documentation|http://download-uk.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/omb_4create_1.htm#sthref1427]
    My code is:
    OMBCREATE CALENDAR 'SCH_DELTA_test2' ADD SCHEDULE \
    SET PROPERTIES (REPEAT_EXPRESSION)\
    VALUES ('FREQ=WEEKLY;INTERVAL=1;BYDAY=TUE WED THU FRID SAT;BYHOUR=12;BYMINUTE=0;BYSECOND=0') ]
    If I copy-paste an example from the doc, the last line becomes :
    VALUES ('FREQ=MINUTELY;INTERVAL=20') ]
    The result is:
    OMB00001: Encountered \' at line: 1, column: 95. Was expecting one of: <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <QUOTED_STRING> ...
    The position line: 1, column: 95 is the opening quote of the last line, just before FREQ=
    I can't find any way to get this working. If anyone see something wrong or missing, please advise. Thanks in advance.
    Cedric.

    Hello Oleg,
    I followed your advice, but OMB*Plus doesn't like it, as it seems :
    the code:
    OMBCREATE CALENDAR 'CAl_SCH_DELTA' ADD SCHEDULE 'SCH_DELTA' SET PROPERTIES (REPEAT_EXPRESSION) VALUES ('FREQ=MINUTELY;INTERVAL=20')
    the error:
    OMB00001: Encountered SCH_DELTA at line: 1, column: 49. Was expecting one of: <E
    OF>
    "SET" ...
    Regards
    Cedric.

  • How to reconcile procedure or function in a mapping using OMB Plus?

    HI,
    Could any one please explain, how to reconcile a procedure or function used in a mapping?
    Thank you,
    Regards,
    Gowtham Sen.

    Hi,
    You can only reconcile Inbound (from Procedure to the mapping) :
    OMBRECONCILE PROCEDURE \
    '/[Project_name]/[Module_name]/[Procedure_name]
    TO MAPPING '[Mapping_name]' \
    OPERATOR '[for example name of a Post-Mapping Process in the mapping]' \
    USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_ID')
    Hope that will help.
    Best Regards
    Samy

  • How to bind mapping input parameter in process flow using OMB Plus

    Hi
    I have created a process flow with a mapping.
    This mapping has a input parameter, that I want to bind to a variable using OMBPlus
    OMBALTER PROCESS_FLOW '$process' MODIFY PARAMETER 'P_EOD_DATE_IN' SET PROPERTIES (BINDING) VALUES ('V_EOD_DATE') does not work as P_EOD_DATE is NOT a process parameter
    neither does
    OMBALTER PROCESS_FLOW '$process' MODIFY PARAMETER '$mapname/P_EOD_DATE_IN' SET PROPERTIES (BINDING) VALUES ('V_EOD_DATE') as the reference '$mapname/P_EOD_DATE_IN' is not valid.
    Any suggestions ?
    Best Regards
    Klaus

    Hi Klaus,
    look here {thread:id=640397}
    Regards,
    oleg

  • List of operators in OWB mapping using OMB Plus

    Hi,
    I got a situation where I need to find out the list of operators names and its type that I used in a mapping. I tried to search but could not find it. Can any body help me regarding this.
    Thanks in advance
    Yeswanth

    Try this and similarly you can get all operator.
    OMBRETRIEVE MAPPING 'MAP_NAME' GET TABLE OPERATORS
    OMBRETRIEVE MAPPING 'MAP_NAME' GET VIEW OPERATORS
    OMBRETRIEVE MAPPING 'MAP_NAME' GET TRANSFORMATION OPERATORS
    OMBRETRIEVE MAPPING 'MAP_NAME' GET TABLE_FUNCTION OPERATORS
    Cheers
    Nawneet
    Edited by: Nawneet_Aswal on Aug 30, 2010 8:43 AM

  • Formatting problem using SQL*Plus Worksheet

    Hi!
    I would like to format values in a column. It is stored in the database as 'C' or 'F' or 'I'
    and I would like to see 'Corporate', 'Foundation' and 'Individuals' in my report.
    What is the command to "mask" these values into the values I would like to see?
    Thanks!

    Thanks, it works fine, just one more thing: the column formatting doesn't work any more...
    column dt format a15 heading 'Donor Type'
    column pn heading 'Program'
    column amount format 9999999999 heading 'Contributions|This Quarter'
    SELECT decode(dt,'C','Corporate','F','Foundation','I','Individual','Unknown'), pn, amount from a10;
    So it displays 'decode(dt' instead of 'Donor Type'
    It seems that the first line has no effect on the decoded column...

  • OMB Plus

    1)when I am going to import external table in schema(the cshema is source not target I am not able to import it.We can import the table in any target schema .But the problem arises when I am going to import the external table in source schema using ombplus.Please help me to let me know the ombplus command to import external table into the source schema.because normally the import command in ombplus work if u r importing table in target schema
    2)Is it possible to deploy maps using ombplus by removing its hint.Hint removal should be in ombplus not manual.

    Hi Andreas,
    I don't directly have an example for your specific questions, but take a look here:
    http://www.oracle.com/technology/products/warehouse/sdk/Scripting%20Pages/Scripting_home.htm
    This gives you at least something to start and get the basic stuff done using OMB Plus. Also google on tcl reference...
    Jean-Pierre

  • OMB plus Creating Locations Modules And Importing the Metadata?

    Hi All,
    First of all I would like to thank you all of you in advance for all your time and concern. I have serious of questions and I will ask them in 3 different portions as they are slightly different.
    How can I implement the steps below using OMB plus? If you could provided sample script and notation it will be highly appreciated.
    -- Creating an Oracle Location for a Schema and Registering it
    -- Creating an Module and relating it to the location that was created.
    -- Importing the metadata for all the objects in this Schema in to this module.
    For example,
    You have a schema called ORACLE_SRC. I need to create the location and module for this schema and tie them each other. Then I need to import all the metadata for all the objects in this ORACLE_SRC schema. During this import all the preserve statements should be unchecked. And I need to accomplish all these using OMB plus and TCL scripting.
    -- Creating an Non Oracle (SQL server 2005) Location for a database and Registering it
    -- Creating an Module and relating it to the location that was created.
    -- Importing the metadata for all the objects in this Schema in to this module.
    For example,
    You have a schema called SQLSERVER_SRC. I need to create the location and module for this schema and tie them each other. Then I need to import all the metadata for all the objects in this SQLSERVER_SRC schema. During this import all the preserve statements should be unchecked. And I need to accomplish all these using OMB plus and TCL scripting.
    -- Creating an Flat File Location for a folder structure and Registering it
    -- Creating an Module and relating it to the location that was created.
    For example,
    You have a schema called FLATFILE_SRC. I need to create the location and module for this schema and tie them each other.
    Thanks again for all your help and concern!
    Kind Regards,
    Mike

    In addition to the performance issue above I have faced an extremely more important problem. When I have used the same logic for importing Materialized views I am getting an error at the last step of the script. It is exactly the same case also for EXTERNAL_TABLE objects. TABLE and VIEW objects are fine. OMBIMPORT command throw the error message below.
    PUB04201: Encountered an internal fatal error during processing of oracle module XXX_DMY_DWPROD_TST: unsupported obj type.
    I would like to mention that MATERIALIZED_VIEW is the object name I took from OWB scripting Reference guide. I have tried couple other naming conventions too but it didn't work.
    Strange thing is If I were to change MATERIALIZED_VIEW to TABLE it works but the materialized view gets imported into 'Tables' folder under the module.
    Please help?
         #IMPORT FOR MATERIALIZED VIEWS STARTS
    #pull the names of the object inthe schema
         set MVIEWLIST {}
         set sqlStr "select distinct Mview_Name from all_mviews where owner = upper('$DbNm') order by Mview_Name"
         #execute the query
         set oraRs [oracleQuery $oraConn $sqlStr]
         #Loop through the list of objects
         while {[$oraRs next]} {
              set mvwName [$oraRs getString Mview_Name]
              lappend MVIEWLIST $mvwName
         #and close the query
         $oraRs close
         set listCntr 0
         set listTotal [llength $MVIEWLIST]
         set mviewName [lindex $MVIEWLIST $listCntr]
         #First object
         OMBALTER IMPORT_ACTION_PLAN 'IMPORT_ALL' ADD ACTION 'MAT_VIEWS' SET REF SOURCE MATERIALIZED_VIEW '$mviewName' SET REF TARGET ORACLE_MODULE '$ModNm'
         OMBCOMMIT
         puts "$mviewName is being imported"
         incr listCntr
         while {$listCntr<$listTotal} {     
              #Rest of the objects
              set mviewName [lindex $MVIEWLIST $listCntr]
              incr listCntr
              OMBALTER IMPORT_ACTION_PLAN 'IMPORT_ALL' MODIFY ACTION 'MAT_VIEWS' SET REF SOURCE MATERIALIZED_VIEW '$mviewName' SET REF TARGET ORACLE_MODULE '$ModNm'
              OMBCOMMIT
              puts "$mviewName is being imported"
         set listCntr 0
         set listTotal 0     
         #IMPORT FOR MATERIALIZED VIEWS ENDS
              OMBIMPORT FROM METADATA_LOCATION FOR IMPORT_ACTION_PLAN 'IMPORT_ALL'
              OMBDROP IMPORT_ACTION_PLAN 'IMPORT_ALL'

  • Quotes in OMB plus

    Hi all,
    I'm using OMB plus to add an expresion operator to an mapping .
    I have a problem setting the expression property of an output attribute of this operator because the value of the expression has quotes in it.
    I used the following command
    OMBALTER MAPPING 'SWITCH_OUT' \
    ADD EXPRESSION OPERATOR 'LAST_LOAD_DATE' \
    ADD ATTRIBUTE 'MAPPING_NAME' OF GROUP 'INGRP1' OF OPERATOR 'LAST_LOAD_DATE' \
    ADD ATTRIBUTE 'LOAD_DATE' OF GROUP 'OUTGRP1' OF OPERATOR 'LAST_LOAD_DATE' \
    SET PROPERTIES (EXPRESSION) VALUES ('PCK_MANAGEMENT.GET_DATE(INGRP1.MAPPING_NAME,'LAST_LOAD_DATE')')
    Can anybody help me?

    you should be able to solve this by using an escape-character so in your case you use the '-sign twice and get VALUES 'PCK_MANAGEMENT.GET_DATE(INGRP1.MAPPING_NAME,''LAST_LOAD_DATE'')')

  • Deployment of mappings other than OMB Plus

    I have a question regarding deployment of mappings via OMB Plus. The deployment staff is facing problem in using OMB Plus. I want to ask is there anyother way to deploy mappings other than deploying them via OMB plus. I tried to generate the pl/sql of the mapping and run this sql script in the same schema of other enivornment, but it gave me following error.
    ORA-01403: no data found
    ORA-06512: at "REPOSITORY_SCHEMA.WB_RT_MAPAUDIT_UTIL", line 1027
    ORA-06512: at "STAGING_SCHEMA.MAPPING_01", line 2664
    ORA-06512: at line 4
    I believe that by deploying it from OMB Plus, some audit entries are logged in Repository schema which can not be done by executing the package script simply in sqlplus.
    Can anyone suggest me any other way for deployment of mappings ?

    IMHO, the answer is no. The problem is OWB runtime needs in repository information about installed runnable objects,
    but there is no any public information about structure of OWB repository or public API for deploying except OMBPlus and OWB Client.
    Look at this threads
    Problem Running Process Flow When Database Objects Deployed Outside of OWB
    Deploying without Deploy
    As you can see from second link Jwvandij (Jaap) user explored method of deployment with direct modification of OWB repository for old OWB release.
    Regards,
    Oleg

  • OMB Plus to set CDC properties of Oracle Module

    Hi,
    Does anybody know if it is possible to set the CDC properties of an Oracle Module using OMB Plus?
    I was thinking in the lines of
    OMBALTER ORACLE_MODULE 'MY_CDC_MODULE' SET PROPERTIES (CDC_CODE_TEMPLATE) VALUES ('PUBLIC_PROJECT/BUILT_IN_CT/JCT_10G_CONSISTENT_MINER')
    but this does not work, and I can't see any appropriate properties in the documentation.
    In addition to setting the CDC template I would like to be able to choose the tables to include in CDC using a script as well. Any help would be appreciated
    Roald
    Edited by: roheie on Oct 12, 2010 12:17 AM

    Hi Oleg,
    I think I may need to clarify my question. I am no trying to alter a template mapping, I am trying to alter the properties of the Oracle Module that is the source for the CDC template mappings
    What I am trying to do in the script is the same operation as you do in the Design Center when you expand Databases->Oracle and then double click your 'CDC_SOURCE_SYSTEM' (example name) module to get to the properties wizard. In there you can set 'Metadata Location', 'Data Location', 'CDC Code Template', and 'CDC tables'. The first two of these I am already setting in my script, what I am asking is how I can set the last two of these properties
    Regards,
    Roald

  • Export mappings through OMB plus

    Hi All,
    We have developed 125 mappings across 10 modules. I wanted all mappings .Mdl files separately (E.g : we have mapping names are abc and xyz… we need to mdl file abc.mdl and xyz.mdl).
    If I export mappings in Design Center mapping wise it will take alot of to complete/get individual scripts (.mdl)
    I heard for time consuming and security wise we should use OMB plus.
    Any one helps me to export mappings individually through OMB.
    Is there any way to pass mapping name should export the mapping with log file?
    Thanks and Regards
    Venkat

    OK, here is a script that you will be able to adapt get you to where you want to go. Bear in mind that it uses a config file to hold some variables, and library file which I shall also attach.
    This script isn't exaclty what you are asking, but it's pretty close. The reason I made this script was to be able to create a clone of an existing project through OMB+ becuase in our corporate dev environment I couldn't lock down the repository in exclusive mode to do this in a simple copy/paste. The script uses a bit of a work-around because the MDL files include full path names, meaning if you export from project A it will want to import into project A. So if I want to import them into project B I take the existing project A, rename it to the desired new name (B), do the export (on a per-unit basis as you want), then rename the existing project back to what it was (A), create the new empty project (B) and import the objects now that the naming structures will match. (whew - did you catch all that?)
    Anyway, here is the script. It uses standard TCL for a lot of the file stuff (glob etc), and for cycling through the modules and objects using the TCL foreach statement. Don't worry about the functions you don't recognize like exec_omb. They are in the library (coming up next), which just has to be colocated with the script for the script to reference at runtime:
    # PVCS Version Information
    #/* $Workfile:   create_deployment_mdl.tcl  $ $Revision:   2.1  $ */
    #/* $Author:   michael.broughton  $
    #/* $Date:   27 Nov 2008 10:00:04  $ */
    # To run this script, start OMB Plus.
    # Run this script providing the command (on Windows): source <path>/copy_owb_project.tcl
    # e.g. source c:/owb/script/copy_owb_project.tcl
    #  Get Current Directory and time
    set dtstmp     [ clock format [clock seconds] -format {%Y%m%d_%H%M}]
    set scrpt      [ file split [file root [info script]]]
    set scriptDir  [ file dirname [info script]]
    set scriptName [ lindex $scrpt [expr [llength $scrpt]-1]]
    set cnfg_lib "$scriptDir/ombplus_config.tcl"
    set owb_lib  "$scriptDir/omb_library.tcl"
    #  Import Lbraries
    #      Assumes that owb_config and omb_library are in the same directory as this
    #      script.
    #get config file
    source $cnfg_lib
    #get standard library
    source $owb_lib
    #  Set Logfile
    #    This will overwrite anything set in the config file.
    set    SPOOLFILE  ""
    append SPOOLFILE $scriptDir "/log_"  $scriptName "_" $dtstmp ".txt"
    # PROCEDURES SECTION
    proc owb_export_object {PROJECT_NAME MODULE_NAME MDL_PATH LOG_PATH TYPE TYPELIST} {
       set print [OMBCC '$MODULE_NAME']
       set objList [OMBLIST $TYPELIST]
       foreach objName $objList {
            set objExportStatus [OMBEXPORT MDL_FILE '$MDL_PATH/$objName.mdl' PROJECT '$PROJECT_NAME'\
                                   COMPONENTS ($TYPE '$MODULE_NAME/$objName')\
                                   OUTPUT LOG '$LOG_PATH/$objName.log']
            puts "$objExportStatus"
       set print [OMBCC '..']
       puts "$print"
    # MAIN SCRIPT SECTION
    log_msg LOG  "This script is used to copy a minor version project into a major version project and to create a full project mdl file suitable for deployment. "
    log_msg LOG  "WARNING: This will overwrite any existing metadata in the major version project. If you have metadata you wish to save, stop now and go take care of that first! "
    puts -nonewline "Do you want to continue?(Y/N) "
    set EXITEARLY [gets stdin]
    if [string match N $EXITEARLY] {
       log_msg LOG  "Exiting...."
       return 0
    } elseif [string match n $EXITEARLY] {
       log_msg LOG  "Exiting...."
       return 0
    } else {
       log_msg LOG  "Continuing...."
    puts -nonewline "Which project do you want to create a deployment file for? "
    set CUR_PROJECT_NAME [gets stdin]
    puts -nonewline "Under which final project name? "
    set NEW_PROJECT_NAME [gets stdin]
    puts -nonewline "Local temp directory to use for MDL generation: "
    set MDL_PATH [gets stdin]
    set LOG_PATH "$MDL_PATH/logs"
    #set up the temp directory structure
    if [catch { set retstr [file mkdir $MDL_PATH] } errmsg] {
        puts "Cannot create directory $MDL_PATH. due to error: $errmsg"
        puts "Exiting...."
        exit
    } else {      
       #make the subdirectories
       file mkdir $LOG_PATH
       file mkdir $MDL_PATH/mappings
       file mkdir $MDL_PATH/transforms
       file mkdir $MDL_PATH/tables
       file mkdir $MDL_PATH/views
       file mkdir $MDL_PATH/sequences
    #  Connect to repos
    set print [exec_omb OMBCONNECT $OWB_DEG_USER/$OWB_DEG_PASS@$OWB_DEG_HOST:$OWB_DEG_PORT:$OWB_DEG_SRVC USE REPOSITORY '$OWB_DEG_REPOS']
    if [omb_error $print] {
        exit_failure "Unable to connect to repository."
    } else {
        log_msg LOG "Connected to Repository"   
    #    Test given project names
    set print [exec_omb OMBCC '$CUR_PROJECT_NAME']
    if [omb_error $print] {
       exit_failure "Project $CUR_PROJECT_NAME does not exist. Nothing to copy...."
    exec_omb OMBCC '..'
    set print [exec_omb OMBCC '$NEW_PROJECT_NAME']
    if [omb_error $print] {
       log_msg LOG "Confirmed project $NEW_PROJECT_NAME does not exist..."
    } else {  
       log_msg LOG "Target project $NEW_PROJECT_NAME already exists. Dropping...."
       exec_omb OMBCC '..'
       set print [exec_omb OMBDROP PROJECT '$NEW_PROJECT_NAME']
       if [omb_error $print] {
           exit_failure "Unable to drop project $NEW_PROJECT_NAME. Exiting...."
       OMBSAVE
    #    Begin export.
    log_msg LOG "Temporarily renaming current project to new project name"
    set print [exec_omb OMBALTER PROJECT '$CUR_PROJECT_NAME' RENAME TO '$NEW_PROJECT_NAME']
    if [omb_error $print] {
       exit_failure "This account does not have alter privileges on this project"
    OMBSAVE
    OMBCC '$NEW_PROJECT_NAME'
    set moduleList [OMBLIST ORACLE_MODULES]
    foreach moduleName $moduleList {
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/mappings $LOG_PATH MAPPING MAPPINGS
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/transforms $LOG_PATH PROCEDURE PROCEDURES
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/transforms $LOG_PATH FUNCTION FUNCTIONS
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/tables $LOG_PATH TABLE TABLES
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/views $LOG_PATH VIEW VIEWS
       owb_export_object $NEW_PROJECT_NAME $moduleName $MDL_PATH/sequences $LOG_PATH SEQUENCE SEQUENCES
    puts "BACKUP PROCESS has been Completed."
    OMBCC '..'
    log_msg LOG "Renaming back to original project name"
    set print [exec_omb OMBALTER PROJECT '$NEW_PROJECT_NAME' RENAME TO '$CUR_PROJECT_NAME']
    log_msg LOG "Creating new project..."
    set print [exec_omb OMBCREATE PROJECT '$NEW_PROJECT_NAME']
    if [omb_error $print] {
       exit_failure "Unable to create project '$NEW_PROJECT_NAME'"
    } else {
       log_msg LOG "Created Project '$NEW_PROJECT_NAME'"
       exec_omb OMBSAVE
       exec_omb OMBCC '$NEW_PROJECT_NAME'
    log_msg LOG "Creating modules..."
    foreach moduleName $moduleList {
        set print [exec_omb OMBCREATE ORACLE_MODULE '$moduleName']
    OMBSAVE
    log_msg LOG "Importing Tables..."
    set mdl_maps [glob $MDL_PATH/tables/*mdl]
    foreach mdl_map $mdl_maps {
         puts "importing TABLE module $mdl_map from MDL file"
         set print [OMBIMPORT MDL_FILE '$mdl_map' USE CREATE_MODE MATCH_BY NAMES]
         puts "$print"
    OMBSAVE
    log_msg LOG "Importing Sequences..."
    set mdl_maps [glob $MDL_PATH/sequences/*mdl]
    foreach mdl_map $mdl_maps {
         puts "importing SEQUENCE module $mdl_map from MDL file"
         set print [OMBIMPORT MDL_FILE '$mdl_map' USE CREATE_MODE MATCH_BY NAMES]
         puts "$print"
    OMBSAVE
    log_msg LOG "Importing Views..."
    set mdl_maps [glob $MDL_PATH/views/*mdl]
    foreach mdl_map $mdl_maps {
         puts "importing VIEW module $mdl_map from MDL file"
         set print [OMBIMPORT MDL_FILE '$mdl_map' USE CREATE_MODE MATCH_BY NAMES]
         puts "$print"
    OMBSAVE
    log_msg LOG "Importing PlSql..."
    set mdl_maps [glob $MDL_PATH/transforms/*mdl]
    foreach mdl_map $mdl_maps {
         puts "importing PLSql module $mdl_map from MDL file"
         set print [OMBIMPORT MDL_FILE '$mdl_map' USE CREATE_MODE MATCH_BY NAMES]
         puts "$print"
    OMBSAVE
    log_msg LOG "Importing Mappings..."
    # import mappings from directory of MDL files
    set mdl_maps [glob $MDL_PATH/mappings/*mdl]
    foreach mdl_map $mdl_maps {
         puts "importing MAPPING module $mdl_map from MDL file"
         set print [OMBIMPORT MDL_FILE '$mdl_map' USE CREATE_MODE MATCH_BY NAMES]
         puts "$print"
    OMBSAVE
    log_msg LOG "Completed Import..."
    log_msg LOG "Exporting complete project file...."
    set objExportStatus [OMBEXPORT MDL_FILE '$MDL_PATH/$NEW_PROJECT_NAME.mdl' PROJECT '$NEW_PROJECT_NAME' OUTPUT LOG '$LOG_PATH/$NEW_PROJECT_NAME.log']
    puts "$objExportStatus"
    log_msg LOG "Cleaning up temp directory..."
    file delete -force $MDL_PATH/mappings
    file delete -force $MDL_PATH/transforms
    file delete -force $MDL_PATH/tables
    file delete -force $MDL_PATH/views
    file delete -force $MDL_PATH/sequences
    file delete -force $LOG_PATH
    OMBDISCONNECT And here is my standard helper library:
    # PVCS Version Information
    #/* $Workfile:   omb_library.tcl  $ $Revision:   2.9  $ */
    #/* $Author:   michael.broughton  $
    #/* $Date:   10 Mar 2009 11:04:50  $ */
    # Default logging function.
    #  Accepts inputs: LOGMSG - a text string to output
    proc log_msg {LOGTYPE LOGMSG} {
       #logs to screen and file
       global SPOOLFILE
       if {![info exists SPOOLFILE]} {
           puts "LOGFILE UNDEFINED! :-> $LOGTYPE:-> $LOGMSG"
       } else {
           set fout [open "$SPOOLFILE" a+]     
           puts $fout "$LOGTYPE:-> $LOGMSG"
           puts "$LOGTYPE:-> $LOGMSG"
           close $fout
    proc log_msg_file_only {LOGTYPE LOGMSG} {
        #logs to file only
        global SPOOLFILE
        if {![info exists SPOOLFILE]} {
           puts "LOGFILE UNDEFINED! :-> $LOGTYPE:-> $LOGMSG"
        } else {
           set fout [open "$SPOOLFILE" a+]     
           puts $fout "$LOGTYPE:-> $LOGMSG"
           close $fout
    proc exit_failure { msg } {
       log_msg ERROR "$msg"
       log_msg ERROR "Rolling Back....."
       exec_omb OMBROLLBACK
       log_msg ERROR "Exiting....."
       # return and also bail from calling function
       return -code 2
    proc exec_omb { args } {
       log_msg_file_only 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] {
          log_msg OMB_ERROR "$errmsg"
          log_msg "" ""
          return $errmsg
       } else {
          log_msg OMB_SUCCESS "$retstr"
          log_msg "" ""
          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
       } elseif [string match java.* $retstr] {
          return 1
       } elseif [string match Error* $retstr] {
          return 1
       } else {
          return 0
    proc ers_omb_connect { OWB_USER OWB_PASS OWB_HOST OWB_PORT OWB_SRVC OWB_REPOS } {
       # Commit anything from previous work, otherwise OMBDISCONNECT will fail out.
       catch { set retstr [ OMBSAVE ] } errmsg
       log_msg LOG "Checking current connection status...."
       #Ensure that we are not already connected.
       if [catch { set discstr [ OMBDISCONNECT ] } errmsg ] {
          set discstr $errmsg
       # Test if message is "OMB01001: Not connected to repository." or "Disconnected."
       # any other message is a showstopper!
       if [string match Disconn* $discstr ]  {
          log_msg LOG "Success Disconnecting from previous repository...."
       } else {
          # We expect an OMB01001 error for trying to disconnect when not connected
          if [string match OMB01001* $discstr ] {
              log_msg LOG "Disconnect unneccessary. Not currently connected...."
          } else {
              log_msg ERROR "Error Disconnecting from previous repository....Exiting process."
              exit_failure "$discstr"
       set print [exec_omb OMBCONNECT $OWB_USER/$OWB_PASS@$OWB_HOST:$OWB_PORT:$OWB_SRVC USE REPOSITORY '$OWB_REPOS']
       if [string match *Connected* $print] {
          return $print
       } else {
          return "OMB0-Unknown Error connecting. Validate connection settings and try again"
    proc ers_omb_drop_mapping { MAPNAME } {
        set mplst [OMBLIST MAPPINGS]
        if {[string match *$MAPNAME* $mplst]} {
           log_msg LOG "Mapping $MAPNAME Exists."
           log_msg LOG "Un-Deploying: $MAPNAME"
           set print [ exec_omb OMBCREATE TRANSIENT DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ADD ACTION 'MAPPING_DEPLOY' SET PROPERTIES (OPERATION) VALUES ('DROP') SET REFERENCE MAPPING '$MAPNAME' ]
           if [omb_error $print] {
               exit_failure "Unable to create Deployment plan for '$MAPNAME'"
           set print [ exec_omb OMBDEPLOY DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN' ]
           if [omb_error $print] {
               exit_failure "Error on execute of Deployment plan for '$MAPNAME'"
           exec_omb OMBDROP DEPLOYMENT_ACTION_PLAN 'DEPLOY_PLAN'
           exec_omb OMBSAVE
           set print [exec_omb OMBDROP MAPPING '$MAPNAME']
           if [omb_error $print] {
               exit_failure "Failed attempt to drop existing version of this mapping. Exiting."
    proc ers_omb_refresh_object { OBJTYPE OBJNAME } {
       # prompts for refresh of object if exists, except for sequence which do not structurally change.
       # VALID FOR SEQUENCES, TABLES, AND VIEWS ONLY
        global ORA_MODULE_NAME
        set l_objtype [string tolower $OBJTYPE]
        set OBJTYPES $OBJTYPE
        append OBJTYPES "S"
        set tblst [OMBLIST $OBJTYPES]
        if {[string match *$OBJNAME* $tblst]} {
             log_msg LOG "$l_objtype $OBJNAME already exists."
             if [string match SEQUENCE $OBJTYPE] {
                 # Sequences don't need refreshing!
                log_msg LOG "No need to refresh sequence..."
                return
             puts -nonewline "Do you want to re-import the $l_objtype?(Y/N) "
             set EXITEARLY [gets stdin]
             log_msg_file_only LOG "Do you want to re-import the $l_objtype?(Y/N) $EXITEARLY"
             if {[string match Y $EXITEARLY] || [string match y $EXITEARLY]} {
                log_msg LOG  "Re-importing $OBJNAME...."
                exec_omb OMBDROP $OBJTYPE '$OBJNAME'
                exec_omb OMBSAVE
                exec_omb OMBCC '..'
                set print [exec_omb OMBCREATE TRANSIENT IMPORT_ACTION_PLAN 'IMPORT_PLAN' ADD ACTION 'IMPORT_ACTION' SET REF SOURCE $OBJTYPE '$OBJNAME' SET REF TARGET ORACLE_MODULE '$ORA_MODULE_NAME']
                if [omb_error $print] {
                    exit_failure "Failed attempt to create import plan this  $l_objtype. Exiting."
                set print [exec_omb OMBIMPORT FROM METADATA_LOCATION FOR IMPORT_ACTION_PLAN 'IMPORT_PLAN']
                exec_omb OMBDROP IMPORT_ACTION_PLAN 'IMPORT_PLAN'
                if [omb_error $print] {
                    exit_failure "Failed attempt to import this  $l_objtype. Exiting."
                } elseif [string match *Failure* $print] {
                    #A failure to create second-class objects will not be caught with omb_error()
                    log_msg ERROR "An error prevented proper import. I recommend re-trying import through the GUI, and "
                    log_msg ERROR "then re-running this script but answering 'N' to re-import for this  $l_objtype."
                    exit_failure "Failed attempt to import this  $l_objtype. Exiting."
                if [string match TABLE $OBJECTTYPE] {
                 if [string match I_APLCTN_DTL_DSB_ELGBL_CHLDRN $OBJNAME] {
                    set SHDWNAME I_APLCTN_DSB_ELGBL_CHLDRN
                 } elseif [string match F_RPTD_ENTLMNT_MNTHLY_SNPSHT $OBJNAME] {
                    set SHDWNAME F_RPTD_ENTLMNT_SNPSHT
                 } elseif [string match U_PROG_BNFT_PRVSN_ADMS_MAP $OBJNAME] {
                    set SHDWNAME U_PROG_BNFT_PRVSN_ADM_MAP
                 } elseif [string match U_PROG_BNFT_PRVSN_LGCY_MAP $OBJNAME] {
                    set SHDWNAME U_PROG_BNFT_PRVSN_LGC_MAP
                 } elseif [string match U_BNFCRY_CMBND_DBL_ENTLMNT $OBJNAME] {
                    set SHDWNAME U_BNFCRY_CMBND_DB_ENTLMNT
                 } else {
                    set SHDWNAME $OBJNAME
                    if [catch { set retstr [ OMBALTER TABLE '$OBJNAME' SET PROPERTIES (SHADOW_TABLE_NAME) VALUES ( 'ERR\$_$SHDWNAME')] } errmsg] {
                       log_msg ERROR "Unable to set shadow table name for table $OBJNAME"
                       log_msg ERROR "$errmsg"
                exec_omb OMBCC '$ORA_MODULE_NAME'
             } else {
               log_msg LOG  "Skipping  $l_objtype re-import...."
        } else {
             log_msg LOG " $l_objtype $OBJNAME Does not exist."
             log_msg LOG  "Importing $OBJNAME...."
             exec_omb OMBCC '..'
             set print [exec_omb OMBCREATE TRANSIENT IMPORT_ACTION_PLAN 'IMPORT_PLAN' ADD ACTION 'IMPORT_ACTION' SET REF SOURCE $OBJTYPE '$OBJNAME' SET REF TARGET ORACLE_MODULE '$ORA_MODULE_NAME']
             if [omb_error $print] {
                 exit_failure "Failed attempt to create import plan this  $l_objtype. Exiting."
             set print [exec_omb OMBIMPORT FROM METADATA_LOCATION FOR IMPORT_ACTION_PLAN 'IMPORT_PLAN']
             exec_omb OMBDROP IMPORT_ACTION_PLAN 'IMPORT_PLAN'
             if [omb_error $print] {
                 exit_failure "Failed attempt to import this  $l_objtype. Exiting."
             } elseif [string match *Failure* $print] {
                 #A failure to create second-class objects will not be caught with omb_error()
                 log_msg ERROR "An error prevented proper import. I recommend re-trying import through the GUI, and "
                 log_msg ERROR "then re-running this script but answering 'N' to re-import for this  $l_objtype."
                 exit_failure "Failed attempt to import this  $l_objtype. Exiting."
             exec_omb OMBCC '$ORA_MODULE_NAME'
    }    And the config file:
    # PVCS Version Information
    #/* $Workfile:   ombplus_config.tcl  $ $Revision:   2.0  $ */
    #/* $Author:   gerry.hunt  $
    #/* $Date:   28 Nov 2008 08:37:12  $ */
    # This version of the Config file differs from the standard owb_config.tcl
    # used by the deployment script. It requires TWO repository configurations
    # (Corporate Design Repository and Deployment location runtime repository)
    # and does not require some of the logging / file location info used by the
    # install script.
    # GLOBAL VARIABLE DECLARATION SECTION
    #CORPORATE DESIGN REPOSITORY  CONNECTION INFORMATION
    # Login info for the design repository owner
    set OWB_DEG_USER    michael_broughton
    set OWB_DEG_PASS    my_password
    set OWB_DEG_HOST    123.4.5.6
    set OWB_DEG_PORT    1628
    set OWB_DEG_SRVC     ORCL
    set OWB_DEG_REPOS   owb_mgr
    # RUNTIME CONTROL CENTER AND LOCATION DECLARATION SECTION
    set CONTROL_CENTER_NAME        ERS_CTL_DEVR1000_1T
    set CONTROL_CENTER_SCHEMA      owb_mgr
    set CONTROL_CENTER_PASS        owb_mgr_PWD
    #Connection info to ers_etl_app deployment schema
    set DATA_LOCATION_NAME         ERS_DEVR1000_1T
    set DATA_LOCATION_VERS         10.2
    set DATA_LOCATION_USER         ERS_ETL_APP1T
    set DATA_LOCATION_PASS         ERS_ETL_APP1T
    set DATA_LOCATION_HOST         host001
    set DATA_LOCATION_PORT         1554
    set DATA_LOCATION_SRVC         orcl
    # PROJECT,MUDULE AND DIRECTORY DECLARATION SECTION
    set PROJECT_NAME       ERS_DM_R7_0C6_02
    set ORA_MODULE_NAME    ERS_ETL_APPDang... that's a lot of stuff. But it should get you well on your way to what you need.
    Cheers,
    Mike

  • Just upgraded Tiger to Leopard.  Clarisworks not supported.   I can successfully convert CW4.0 doc's to AW6.0 doc's using MacLink Plus Deluxe but the problem is I than cannot print them or convert to PDF, either.

    Just upgraded Tiger to Leopard.  Clarisworks not supported.   I can successfully convert CW4.0 doc's to AW6.0 doc's using MacLink Plus Deluxe and then work on them but the problem is that I cannot print them.  Neither can I convert to PDF.

    If I was trying to get someone else to do my work,
    I wouldn't be posting this saying what I have said
    would I? I'm not unwilling to do the work myself.From what was stated in your OP, it seemed that you
    were.I'm sorry if it seemed that way. I don't want something for nothing. I've spent MANY hours, which I don't have, trying to work this out. I have hit a point where I don't think my expertise is going to solve the problem. That's why I've turned to some experts who might say something along the lines of, "Hey, I know what that is...you're compiling against... and on the Unix box, it's compiling against..." I was NOT looking for something like, "See the code below that fixes your problem."
    The only problem is that I don't have direct access
    to the sun unix machines I'm running the app on,
    so I can't run a profiler on it. Ah, okay. So the only knowledge you have of how it
    performs on those machines is from your instructor
    running it and then telling you how long it took?No. I can SSH into the servers and run the program from a command line. But I wouldn't be able to install any profiler programs.
    You could ask your prof to run it with -Xprof or
    -Xhprof or whatever. Or you could put in a bunch of
    timing statements to get a rough idea of which parts
    are making it take that extra 39 minute or whatever.is -Xprof a java command line option? If so, I will look into doing that. Maybe it's available on the machines at school. Thanks for that input.

Maybe you are looking for