Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Follow the instructions below to set up the Oracle database.

Notice
Note
title
Info

For Oracle RAC, see Setting up with Oracle RAC.

...

Table of Contents
maxLevel3
minLevel3

...

styleborder:1
locationtop
typeflat
separatorpipe

...

Setup Database and User

1. Create a new database. This can be done by either using the Oracle database configuration assistant (dbca) or manually. Do necessary changes in the Oracle tnsnames.ora and listner.ora files in order to define databases addresses for establishing connections to the newly created database. After configuring them, startup the Oracle instance.

Code Block

$ sudo /etc/init.d/oracle-xe restart

...

2. Connect to Oracle using SQL*Plus as sysdba.

Code Block

$ ./${ORACLE_HOME}/config/scripts/sqlplus.sh sysadm/password as sysdba

...

2.1. Connect to instance with username and password.

Code Block

$ connect

Image Removed

3. As SYS DBA, create a database user and grant privileges to the user as shown below:

Code Block

Create user USER_NAME identified by PASSWORD account unlock;
grant connect to USER_NAME;
grant create session, dba to USER_NAME;
commit;

...

Setup Configuration File

1. Open Edit the default database configuration defined in the  master-datasources.xml  file located at  $GREG_HOME/repository/conf/datasources  directory of the deployed registry instance as below. xml in a text editor.

Image Removed

2. Edit $GREG_HOME/repository/conf/registry.xml and give the following:

...

Both the database configurations in  registry.xml  and  user-mgt.xml  refer this data source.

Info

Replace these settings with your own custom values:

Code Block
        <datasource>
            <name>WSO2_CARBON_DB</name>
            <description>The datasource used for registry and user manager</description>
            <jndiConfig>
                <name>jdbc/WSO2CarbonDB</name>
            </jndiConfig>
            <dbConfig<definition nametype="oracle-db">
	RDBMS">
                <configuration>
                    <url>jdbc:oracle:thin:@SERVER_NAME:PORT/DB_NAME</url>
	
                    <userName>USER_NAME<<username>regadmin</userName>
	
                    <password>PASSWORD<<password>regadmin</password>
	
                    <driverName>oracle<driverClassName>oracle.jdbc.driver.OracleDriver</driverName>driverClassName>
                    <maxActive>80</maxActive>
                    <maxWait>60000</maxWait>
                    <minIdle>5</minIdle>
    </dbConfig> 

Image Removed

3. Open $GREG_HOME/repository/conf/user-mgt.xml in a text editor.

Image Removed

4. Edit $GREG_HOME/repository/conf/user-mgt.xml and give the following:

Code Block
<Configuration>         ...      <testOnBorrow>true</testOnBorrow>
  <Property name="url">jdbc:oracle:thin:@SERVER_NAME:PORT/DB_NAME</Property>         <Property name="userName">USER_NAME</Property>       <validationQuery>select 1 <Property name="password">PASSWORD</Property>from dual</validationQuery>
         <Property name="driverName">oracle.jdbc.driver.OracleDriver</Property>         <Property name="maxActive">50</Property> <validationInterval>30000</validationInterval>
               <Property name="maxWait">60000</Property> </configuration>
           <Property name="minIdle">5</Property> </definition>
        </Configuration>

...

datasource>
The database configuration options
  • url - The URL of the database.
  • username - The name of the database user.
  • password - The password of the database user.
  • driverClassName  - The class name of the database driver.
  • maxActive - The maximum number of active connections that can be allocated from this pool at the same time or negative for no limit.
  • maxWait - The maximum number of milliseconds that the pool will wait (when there are no available connections) for a connection to be returned before throwing an exception or <= 0 to wait indefinitely.
  • minIdle - The minimum number of active connections that can remain idle in the pool without extra ones being created or 0 to create none.
Info
titleTip

Default port for Oracle is 1521.

...

Copy the Oracle JDBC libraries to $GREG_HOME/repository/components/lib. For example, - $ORACLE_HOME/jdbc/lib/ojdbc14.jar.Image Removed

Info

Note:  Remove old database driver from $GREG_HOME/repository/components/dropins ,when you upgrade the database driver.

Info

When using the ojdbc6.jar with WSO2 servers there is a possibility of throwing an timezone region not found error. To overcome this issue it is necessary to set the java property as export JAVA_OPTS="-Duser.timezone='+05:30'". The value of this property should be the GMT difference of the country.  

if it is necessary to set this property permanently, then it should be defined inside the wso2server.sh as a new JAVA_OPT property.

 

...

Create Database Tables

Database tables can be created either manually by running scripts or automatically by using start-up parameters.

...

Code Block
SQL> @${GREG_HOME}/dbscripts/oracle.sql

...

Start the WSO2 Governance Registry.

Code Block
$ ./${GREG_HOME}/bin/wso2server.sh

Image Removed

Using start-up Parameters

...

Code Block
$ ./${GREG_HOME}/bin/wso2server.sh -Dsetup

Image RemovedImage Added

Excerpt
hiddentrue

Instructions on how to set up Governance Registry with Oracle database.