Oracle Real Application Clusters (RAC) is an option for the Oracle Database for clustering and high availability in Oracle database environments. In Oracle RAC environment, some of the commands used in oracle.sql
is considered inefficient (refer to Setting Up Oracle ). Therefore WSO2 ESB has a separate SQL script oracle_rac.sql
for Oracle RAC. The Oracle RAC-friendly script is located in dbscripts
folder together with other .sql
scripts.
...
title | Tip |
---|
...
The following sections describe how to replace the default H2 databases with Oracle RAC:
Table of Contents maxLevel 3
|
|
Setup User
1. Set environment variables ORACLE_HOME, PATH, ORACLE_SID
with the corresponding values /oracle/app/oracle/product/11.2.0/dbhome_1, $PATH:$ORACLE_HOME/bin, orcl1
.
2. Connect to Oracle using SQL*Plus as sysdba.
3. 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,
4. Exit from the SQL*Plus session by typing the "quit" command.
Code Block |
---|
SQL> quit |
Setup Configuration File
1. Edit the default database configuration defined in the master-datasources.xml
file located at $CARBON_HOME/repository/conf/datasources
directory as follows. 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>
<definition type="RDBMS">
<configuration>
<url>jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode1) (PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=racnode2) (PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=service_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</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.
Copy JDBC Driver
Copy the Oracle JDBC libraries to $CARBON_HOME/repository/components/lib
. For example, - $ORACLE_HOME/jdbc/lib/ojdbc14.jar
.
Info |
---|
Note: Remove old database driver from $CARBON_HOME/repository/components/dropins ,when you upgrade the database driver. |
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> @${CARBON_HOME}/dbscripts/oracle.sql |
Start the WSO2 ESB.
Code Block |
---|
$ ./${CARBON_HOME}/bin/wso2server.sh |
Using Start-up Parameters
- For Windows users:
Code Block |
---|
$CARBON_HOME/bin/wso2server.bat -Dsetup |
To create the database tables when starting the WSO2 ESB for the first time.
- For Linux Users
Code Block |
---|
$ ./${CARBON_HOME}/bin/wso2server.sh -Dsetup |
...
hidden | true |
---|
...
Include Page | ||||
---|---|---|---|---|
|