This documentation is for WSO2 API Manager 1.7.0 View documentation for the latest release.
Page Comparison - Setting up with Oracle (v.4 vs v.5) - API Manager 1.7.0 - WSO2 Documentation

All docs This doc

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Follow the instructions below to set up the Oracle database.

...

The following sections describe how to replace the default H2 database with Oracle:

Table of Contents
style
maxLevel3
minLevel3

1. Edit the default database configuration defined in

Include Page
border: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

Image Removed

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

Code Block
$ ./<ORACLE_HOME>/config/scripts/sqlplus.sh sysadm/password as sysdba

Image Removed

2.1. Connect to instance with username and password.

Code Block
$ connect

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;

For example,

Image Removed

4. Exit from the SQL*Plus session by typing the "quit" command.

Code Block
SQL> quit

Image Removed

Setup Configuration File

shared:Setting up Oracle (V1)
shared:Setting up Oracle (V1)

Changing the product-specific/identity databases

The topics above show how to change the WSO2_CARBON_DB, which is used to store registry and user manager information. If you changed the product-specific database (WSO2AM_DB) that comes by default or set up a separate database for identity related data, the instructions are the same. In summary:

  1. Add the datasource to the master-datasources.xml file

...

Image Removed

Info

Replace these settings with your own custom values:

Code Block
languagehtml/xml
<datasource>
     <name>WSO2_CARBON_DB</name>
     <description>The datasource used for registry and user manager</description>
     <jndiConfig>
           <name>jdbc/WSO2CarbonDB</name>
     </jndiConfig>
     <definition type="RDBMS">
           <configuration>
               <url>jdbc:oracle:thin:@SERVER_NAME:PORT/DB_NAME</url>
               <username>regadmin</userName>
               <password>regadmin</password>
               <driverClassName>oracle.jdbc.driver.OracleDriver</driverClassName>
               <maxActive>80</maxActive>
               <maxWait>60000</maxWait>
               <minIdle>5</minIdle>
               <testOnBorrow>true</testOnBorrow>
               <validationQuery>SELECT 1 FROM DUAL</validationQuery>
               <validationInterval>30000</validationInterval>
           </configuration>
     </definition>
</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 JDBC Driver

Copy the Oracle JDBC libraries to <APIM_HOME>/repository/components/lib. For example, <ORACLE_HOME>/jdbc/lib/ojdbc14.jar.

Info

Remove old database driver from <APIM_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.

Using Scripts

Database tables can be created manually by logging in to the created database and running the following scripts in SQL*Plus:

Code Block
SQL> @<APIM_HOME>/dbscripts/oracle.sql

Start the Carbon instance.

Code Block
$ ./<APIM_HOME>/bin/wso2server.sh

Using start-up Parameters

  • For Windows users:
Code Block
<APIM_HOME>/bin/wso2server.bat -Dsetup

To create the database tables when starting the product for the first time.

  • For Linux Users

...

  1. . The datasource for the product-specific database is already there in the file by the name WSO2AM_DB. Change its elements with your custom values.

  2. Create the database tables using the following scripts:   

    For the product-specific database

    Use the scripts in <PRODUCT_HOME>/dbscripts/apimgt folder

    For the identity database

    Use the scripts in <PRODUCT_HOME>/dbscripts/identity folder