Friday, 4 November 2016

Creating a Master Repository in Oracle Data Integrator – The runtime exception oracle.odi.setup.RepositorySetupException: Error while updating Schema Version Registry Entry for ODI



Well, in this blog, I would be talking about how to create a master repository in ODI. Please note that this is not a how-to create a master repository guide. I am just showing the way I did the configuration for ODI and it was way more fun since I encountered errors/exceptions and nothing makes configurations more interesting than having to deal with errors and exceptions.
The below snapshot shows the ODI Studio after startup. 

Go to File->New to start the process of creation of a Master repository. The popup window that shows up is as shown in the below snapshot. It lists all the options that can be created in ODI like master repository, new login and so all.   


Click on the “Create a New Master Repository” and hit the OK button in the above snapshot to start the process. 

The first thing that master repository needs is the database connection details. This is shown in the below snapshot. 

I set the Technology to be Oracle, choose the associated drivers and JDBC URL.
Observe that two user names are expected. One is a normal user and the other is a DBA user. Since my user is already a DBA, I set the credentials to be same as odi_user in the above snapshot and hit the “Test Connection” button.
On testing the connection, I get a Database validation issue. This is shown in the below snapshot.    



Since it is an Information dialog and not an error, I click on OK and hit the Next button.
The next snapshot shows the ODI setup asking me to define the authentication mode for the ODI Master repository. I key in the password and hit on the next button. 

The next snapshot shows the configuration utility asking me the password storage mechanism for ODI. I choose the default which is “Internal Password Storage” and click on the Finish button.   



The master repository creation utility starts up and immediately fails giving me an error ODI-23049: Error detected during Repository installation. This is shown in the below snapshot. 


The exception stack trace in a text editor is as shown in the below snapshot.   
The exception stack trace asks me to check if the user odi_user has DBA permissions. Which is odd, since I had granted the user privileges to be a DBA with admin option. Anyways, I know that SYSTEM is a DBA so I update the details for the master repository creation once again with SYSTEM user id. This is shown in the below snapshot. 

I now walk through the same steps for the master repository creation as shown above.   


On clicking the Finish button in the above snapshot, the master repository creation wizard kick starts as shown in the next snapshot. 


After some wait, the master repository creation is successful as shown in the below Information dialog.

5 comments:

  1. Nice post...seems like odi_user were not had dba privileges .. Good resolution .. please keep us posted with new post for ODI ..it's really help us to revise and enhance our knowledge..thanks

    Many thanks.

    ReplyDelete
  2. I had the same problem even using the SYS or SYSTEM user.
    In my case the reason was the absence of the "SYSTEM" view. "SCHEMA_VERSION_REGISTRY"
    I found the answer on the link: https://www.juvo.be/blog/obiee-upgrade-schemaversionregistry-table

    After creating connected with the SYSTEM user, my problem has been solved.

    Here is the script:

    - Create the table if it does not exist

    create table "SYSTEM". "SCHEMA_VERSION_REGISTRY $"
    (
    "COMP_ID" varchar2 (30byte) not null enable,
    "COMP_NAME" varchar2 (255byte)
    "MRC_NAME" varchar2 (30byte) not null enable,
    "MR_NAME" varchar2 (30byte)
    "MR_TYPE" varchar2 (30byte),
    "OWNER" varchar2 (30byte),
    "VERSION" varchar2 (30byte),
    "STATUS" varchar2 (11byte),
    "CUSTOM1" number,
    "CUSTOM2" varchar2 (30byte),
    "UPGRADED" char (1byte) default 'N'
    "START_TIME" timestamp (6),
    "MODIFIED" timestamp (6)
    )

    TABLESPACE "SYSTEM";


    - Creating the view (as I did)

    create or replace force view "SYSTEM". "SCHEMA_VERSION_REGISTRY"

    (

    "COMP_ID",
    "COMP_NAME",
    "MRC_NAME",
    "MR_NAME"
    "MR_TYPE",
    "OWNER",
    "VERSION",
    "STATUS",
    "UPGRADED",
    "START_TIME",
    "MODIFIED"
    )
    at
    select comp_id,
    comp_name,
    mrc_name,
    mr_name,
    mr_type,
    owner
    version,
    status,
    upgraded,
    start_time,
    modified
    from SYSTEM.SCHEMA_VERSION_REGISTRY $
    order by comp_id;

    Emerson Formisano

    ReplyDelete
  3. THANKS.. IT IS WORKING ......................tHANK YOU SOM MUCH

    ReplyDelete