An active/active configuration consists of at least two servers, each running a different database instance. The databases must be on different shared disks.
$ORACLE_HOME can be on non-shared or on shared disks depending upon the configuration requirements. For example, multiple database instances on any of the servers using a common $ORACLE_HOME require $ORACLE_HOME to be on non-shared disks. If the $ORACLE_HOME directories are on shared disk, they must be on separate shared disks.
This section provides two active/active configuration examples, shown in Figure 3 and Figure 4:
- Databases on shared resources and a common $ORACLE_HOME on non-shared resources.
- Databases on shared resources and the appropriate $ORACLE_HOME instance on the same shared resource.
Note: Multiple database instances on one server using multiple instances of $ORACLE_HOME on non-shared resources are not illustrated.
Figure 3. Active/Active Configuration, Example 1
Configuration Notes:
- The server has its own $ORACLE_HOME directory on a non-shared disk. Each server has the same version of the Oracle application.
- The $ORACLE_HOME path is the same on both servers.
- The databases, databaseA and databaseB, are on shared disks.
- The oratab file exists in /etc/ on both servers, containing entries for both Oracle instances.
- Initially, Server 1 runs databaseA and Server 2 runs databaseB. In a switchover situation, one system can run both databases.
- See Creating Oracle Database Hierarchy After Installing Oracle Binaries on Local Storage for further information.
Creating the first resource hierarchy on Server 1:
Server: |
Server1 |
ORACLE_SID for Database: |
databaseA |
Username for Database: |
system |
Password for Username: |
********** |
ORACLE_HOME for Database: |
/home1/oracle |
Database Tag: |
databaseA-on-server1 |
Extending the first resource hierarchy to Server 2:
Template Server: |
Server1 |
Tag to Extend: |
databaseA-on-server1 |
Target Server: |
Server2 |
Target Priority: |
10 |
Database Tag: |
databaseA-on-server1 |
Creating a second resource hierarchy on Server 2:
Server: |
Server2 |
ORACLE_SID for Database: |
databaseB |
Username for Database: |
system |
Password for Username: |
********** |
ORACLE_HOME for Database: |
/home1/oracle |
Database Tag: |
databaseB-on-server2 |
Extending the second resource hierarchy to Server 1::
Template Server: |
Server2 |
Tag to Extend: |
databaseB-on-server2 |
Target Server: |
Server1 |
Target Priority: |
10 |
Database Tag: |
databaseB-on-server2 |
Figure 4. Active/Active Configuration, Example 2
Configuration Notes:
- Both servers use an $ORACLE_HOME directory on different shared disks.
- The Oracle application is the same on both servers. The $ORACLE_HOME is different for each instance defined on the server.
- The databases, databaseA and databaseB, are on shared disks.
- The oratab file exists in /etc/, containing entries for both Oracle instances.
- A unique login is required for each Oracle instance. The id and gid for each login should be the same on Server 1 and Server 2.
- Initially, Server 1 runs databaseA and Server 2 runs databaseB. In a switchover situation, one system can run both databases.
Creating the first resource hierarchy on Server 1:
Server: |
Server1 |
ORACLE_SID for Database: |
databaseA |
Username for Database |
system |
Password for Username |
********** |
ORACLE_HOME for Database: |
/shr1/oracle |
Database Tag: |
databaseA-on-server1 |
Extending the first resource hierarchy to Server 2:
Template Server: |
Server1 |
Tag to Extend |
databaseA-on-server1 |
Target Server |
Server2 |
Target Priority: |
10 |
Database Tag: |
databaseA-on-server1 |
Creating a second resource hierarchy on Server 2:
Server: |
Server2 |
ORACLE_SID for Database: |
databaseB |
Username for Database |
system |
Password for Username |
********** |
ORACLE_HOME for Database: |
/shr2/oracle |
Database Tag: |
databaseB-on-server2 |
Extending the second resource hierarchy to Server 1:
Template Server: |
Server2 |
Tag to Extend |
databaseB-on-server2 |
Target Server |
Server1 |
Target Priority: |
10 |
Database Tag: |
databaseB-on-server2 |
Post your comment on this topic.