1 About the Repository Creation Utility

Many of the Oracle Fusion Middleware components require the existence of schemas in a database before configuration. These schemas are created and loaded in your database by using the Repository Creation Utility (RCU).

The following topics introduce you to the concepts and features that you should be familiar with before you use RCU:

Verifying RCU System and Database Requirements

Use the certification and system requirements documents to find important information about supported platforms for RCU, certified databases, and database configuration information.

Read this information carefully before you obtain and run RCU.

RCU Supported Platforms

Use the system requirements document to review the supported platforms on which you can run RCU.

To know the platforms on which you can run RCU, see Oracle Fusion Middleware System Requirements and Specifications document.

Finding a Certified Database

If you do not have a database where you can install schemas, you must install and configure a certified database.

For a list of certified databases that can be used with RCU, see System Requirements and Supported Platforms for Oracle Fusion Middleware 12c certification document for your release, located on the Oracle Fusion Middleware Supported System Configurations page.

Database Requirements for RCU

Ensure to review the general and component-specific database requirements that must be met before you run RCU.

Before you begin using RCU, review the Repository Creation Utility Requirements section in the Oracle Fusion Middleware System Requirements and Specifications document.

Not all schemas are supported on all databases. Make sure you have read the information in this section carefully so that you configure a certified database that supports the schemas that you need for your Fusion Middleware components.

Additional Requirements for IBM DB2 Databases

If you are creating component schemas on an IBM DB2 database, there are additional requirements to consider.

In addition to the typical space and configuration database requirements, IBM DB2 databases also have the following special requirements:

  • On IBM DB2 databases running on Linux operating systems, there is a limitation with regards to the length of the schema names.

  • Create one database operating system user for each schema that is created in an IBM DB2 database.

    For example, if you plan to create a schema named DEV_STB using RCU, then the operating system user must be named dev_stb (all lowercase letters).

    You can create the operating system user by running the following command as root (this example creates the operating system user dev_stb and assigns the provided password to the user):

    /usr/sbin/useradd dev_stb -p password -d /scratch/dev_stb

    You can then set the password of the user (for example, dev_stb) by running the following commands as root:

    passwd -u dev_stb
    passwd dev_stb

    Refer to your system documentation for more information.

  • Create operating system level users in IBM DB2 for required schemas before you run the RCU.

    For example:

    Audit Services – <prefix>_iau, <prefix>_iau_a (Audit Services Append), and <prefix>_iau_v (Audit Services Viewer).

    Service Table — <prefix>_stb

    WebLogic Services - <prefix>_wls

  • On IBM DB2/AIX, before you run the RCU or Upgrade Assistant Tool, you must ensure that the auxiliary schemas are available for the following components:

    WebLogic Services – <prefix>_wlsr

Preparing for Schema Creation

Before you create your schemas, ensure that you understand the concepts regarding schema creation and organization.

About System Load and Product Load

Schema creation in RCU is performed in multiple phases; each phase requires a different level of access to your database.

  • System Load Phase

    During the system load phase, RCU creates the necessary tablespaces and schemas. If it is not already present, RCU also creates the schema_version_registry. One entry for each component is created in schema_version_registry, and the entry will have the appropriate access and status set to LOADED in the schema_version_registry table.

    User with SYS or SYSDBA privileges must perform these actions; authentication credentials must be provided on the Database Connection Details screen when running RCU.

    If you do not have the necessary privileges, you can select the Prepare Scripts for System Load on the Create Repository screen. This option generates a SQL script that contains the same SQL statements and blocks that would have been called if RCU were to execute the actions for the selected components. After the script is generated, a user with the necessary SYS or SYSDBA privileges can execute the script to complete the system load phase.

    After the system load phase is complete, any user with the privileges described in Granting Permissions to Users for Querying System Load Objects can then run RCU again to complete the schema creation by performing the product load phase.


    If you need to generate the script for system load, you can only create schemas on Oracle and Oracle EBR databases; the system load script is not supported on any other database.

    If you are performing the system load with full SYS or SYSDBA privileges, then you can create the schemas on any certified database.

  • Product Load Phase

    During the product load phase, RCU creates procedures, functions, tables, indexes, and other objects within schemas and runs any action that does not require DBA access. Any non-DBA user or the REGISTRYOWNER user can be used for this step.

    Before performing the product load phase, the user must be granted the following:

    grant REGISTRYACCESS to user;
    grant STBROLE to user;

    After the product load phase is complete, status is changed to VALID, if there is no post -product load for that component.

  • Optional Post-Product Load Phase

    This step is only needed for components that generate the script_postDataLoad.sql script that requires DBA privileges during the system load phase. After the product load phase is complete, someone with SYS or SYSDBA privileges should execute the script_postDataLoad.sql script.

    This step is required for the following components:

    • Audit Services (IAU)

    • Oracle Enterprise Scheduler (ESS)


The Repository Creation Utility fails to load schemas for SOAINFRA when you run schemas on an Oracle hardened database. See SOAINFRA Schema Creation Fails on a Hardened Database.

Granting Permissions to Users for Querying System Load Objects

If you want to give a user with limited privileges the ability to query the system load objects, you must grant the user certain permissions before they can query the system load.


This user will be used for connecting to the system for queries, but the generated scripts from the system load phase must be run by someone with DBA privileges.

grant select_catalog_role to user;
grant select any dictionary to user;
grant create session to user;
grant select on schema_version_registry to user;


You may encounter a Table or view does not exist error message when you execute the last command; this can be ignored.

After you perform the system load, grant the following permission to the same user in order for them to perform data load:

grant REGISTRYACCESS to user;
grant STBROLE to user;

About Custom Prefixes

Use custom prefixes to organize and group schemas in your database.


For important information regarding custom prefixes in IBM DB2 databases, see Additional Requirements for IBM DB2 Databases.

The prefix is prepended to and separated from the schema name with an underscore (_) character, as shown below:



  • Can only contain alpha-numeric characters; no spaces or other special characters.

  • Must begin with a letter.

  • Must not be longer than 12 characters.


    The total length of the prefixed schema name (your custom prefix plus the component schema name) must not be longer than 30 characters.

The default prefix used by RCU is DEV; if DEV has already been used, then RCU defaults to DEV1, then DEV2, and so on. Prefixes are used to create and organize logical groups of schemas. For example, you may want to create a test version of the Metadata Services (schema name MDS) called TEST_MDS; then, when you are ready for your production version, you can create a second version of the schema called PROD_MDS. Both TEST_MDS and PROD_MDS may reside on the same or separate databases.

You are only allowed to use a prefix once per schema within a single database. For example, if you have a version of the Metadata Services schema called DEV_MDS, then you cannot use the DEV prefix again to create another version of the Metadata Services schema (for example, DEV_MDS2).

If you want to create another version of the schema using the same prefix, you must first drop the existing schema and then create the schema again.

The mapping between the prefixes and schemas is maintained in schema_version_registry.

About the Service Table Schema

The Service Table schema is a special schema that is automatically created once per prefix. The service table stores basic schema configuration information (for example, schema prefixes and passwords) that can then be accessed and used by other Oracle Fusion Middleware components during domain creation.

For example, the configuration wizard has screens which you can configure to use the data that is stored in the service table when RCU was run. After you provide the service table schema credentials, the data from the service table is used to populate the fields on the screen, thus saving you the need to manually populate that data yourself.

Once created, service tables are used to wire Oracle Fusion Middleware components together. For more information about wiring various components together, see Wiring Components to Work Together in Administering Oracle Fusion Middleware.

Planning Your Schema Creation

Before you run RCU, make sure that you understand how schemas can be grouped together and distributed depending on your specific environment.

For more information, the following examples are provided:

Organizing Schemas on a Single Database for a Single Domain

This example shows a set of schemas in a single database being used by a single WebLogic domain.

This is the simple scenario in which all schemas using the DEV prefix are grouped together and used by a single WebLogic domain.

Figure 1-1 Schemas on a Single Database for a Single Domain

Description of Figure 1-1 follows
Description of "Figure 1-1 Schemas on a Single Database for a Single Domain"
Organizing Schemas on Multiple Databases for a Single Domain

This example shows a single set of schemas that are distributed on multiple databases being used by a single WebLogic domain.

Figure 1-2 Schemas on Multiple Databases for a Single Domain

Description of Figure 1-2 follows
Description of "Figure 1-2 Schemas on Multiple Databases for a Single Domain"

You can use the same schema prefix (in this case, DEV) can be used to group these related schemas together, even across multiple databases.

Organizing Schemas on a Single Database for Multiple Domains

This example shows how schemas on a single database should be grouped for multiple domains.

Figure 1-3 Schemas on a Single Database for Multiple Domains

Description of Figure 1-3 follows
Description of "Figure 1-3 Schemas on a Single Database for Multiple Domains"

In this example, the prefixes are grouped together by using DEV1 for one set of schemas (used by WebLogic Domain 1), and DEV2 for the second set (used by WebLogic Domain 2).

It is not possible to share a single set of schemas across multiple domains; each domain must have its own set of schemas.

Organizing Schemas on Multiple Databases for Multiple Domains

This example shows how to organize schemas on multiple databases for use with multiple WebLogic domains.

Figure 1-4 Schemas on Multiple Databases for Multiple Domains

Description of Figure 1-4 follows
Description of "Figure 1-4 Schemas on Multiple Databases for Multiple Domains"

In this scenario, it is possible to have separate domains on the same host that use schemas with the same name and prefix (DEV), since the schemas are located on different databases.

Integrating Components Using Declarative XML

RCU provides extensibility with XML DTDs. Using these DTDs, component owners can integrate their components and prerequisites with RCU by providing a configuration file that adheres to the provided DTD.

For more information about integrating various components, see Extending Repository Creation Utility to Configure Custom Application Repositories.

Using RCU with Java Access Bridge (Windows Only)

Java Access Bridge enables assistive technologies, such as JAWS screen reader, to read Java applications that run on the Windows platform.

Assistive technologies can read Java-based interfaces, such as Oracle Universal Installer and Oracle Enterprise Manager.

For more information, see the following topics:

Install Java Access Bridge

Follow these steps to download and install Java Access Bridge.

  1. Download Java Access Bridge from the following URL:
  2. For complete information and procedure about Java Access Bridge installation, see Java Access Bridge Installation procedure.

Configure RCU to Use Java Access Bridge

To configure RCU to use Java Access Bridge after you complete the installation, set the system variable ORACLE_OEM_CLASSPATH to point to the installed Java Access Bridge files.

  1. Display System in the Control Panel.
  2. Select the Advanced tab.
  3. Click New button in the System Variable list. The New System Variable dialog appears.
  4. In the Variable Name field, enter ORACLE_OEM_CLASSPATH.
  5. In the Variable Value field, enter the full path for theaccess-bridge.jar and jaccess-1_4.jar.

    Use a semicolon to separate the two paths. Do not use quotes or character spaces.

  6. Click OK.