Amazon AWS EC2 --> Amazon AWS EC2

1. Introduction

The section of the user guide explains installing Dbvisit Standby MP on AWS EC2 instances. In this guide, we focus on both primary and standby on the AWS. The setup will be a single instance primary database and a single instance standby database on Linux Platform. The data files are stored on a standard filesystem. This is just an example, and it does not limit the possibility of storing the data files on an ASM, using the Windows operating system, or using any supported Oracle platforms that are available on AWS.

2. Initial Setup and Configuration

2.1 Provisioning servers

We will be provisioning two servers, both with the same Linux version and release. We are using community AMIs with Linux 7.9. Click on “Launch Instance with AMI” to move to next step

AWS_Linux1.png

Below image shows the Instance type choses (t2.medium) and also the key pair to login. We are using the existing key pair to connect to these machines (SydneySC), but a new key can be created by clicking on “Create new key pair”

 

AWS_Linux2.png

The next important step is to configure network and firewall which we will see details in the next section.

 

 

Adding additional storage for Oracle installation and database files. In this example we have added just one EBS volume with 75Gig. The Root volume is already added as part of the AMI but you can choose to increase the size.

 

2.2 Network and Firewall

The details of the VPC created is shown below.

 

 

Security group for Inbound and Outbound rules. ( 1 ) for Nats Port for agentmanager (5533) communication and also for PostgreSQL cluster ( 2 ) Webserver port for GUI ( 3 ) Dbvnet communication port range , the main port required for this is 7890. ( 4 ) The port for ssh and also for RDP incase of windows. A specific IAM profile is also created that has required permissions and policies assigned to it.

 

Once this is completed and added. Click on “Launch Instance” to start the instance. There are also options to have reserved public IP to ensure that the IPAddresses do not change after every server restart. These can be used for machines that are created for permanent production use. For this use case we have not enabled them as these machines are used only for temporary purposes. The machine name has also been set to desired one using the tags.

 

Once the server has been launched. Repeat the same to do for the second server with a different name but use the same VPC, security group and also IAM profile. Now we have two servers. Below is the details of one of them.

Login to the servers using SSH.

3. Installation and Configuration (Oracle and Standby MP)

We now have two servers that can ping each other and connect to them using ssh and also security groups configured to establish connection using the ports 7890,5533 and 4433.

The next steps that were completed are.

3.1 Oracle Installation

We have not shown Oracle installation here since its out of scope. The installation can be performed the same way as any on-premise installation. Please refer to the Oracle documentation installation guide based on the version you would like to install.

Installing Oracle on both primary and standby. Create a new database on the primary server.

ec2-user@localhost[/home/ec2-user]: sudo su - oracle Last login: Fri Apr 26 14:40:39 NZST 2024 on pts/0 The Oracle base has been set to /u01/app/oracle oracle@localhost[/home/oracle]: cat /etc/oratab SRC:/u01/app/oracle/product/19.3/dbhome_1:N oracle@localhost[/home/oracle]: ps -ef |grep pmon oracle 7667 1 0 14:42 ? 00:00:00 ora_pmon_SRC oracle 8936 8860 0 14:58 pts/0 00:00:00 grep --color=auto pmon SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- SRC READ WRITE

3.2 Dbvisit Installation

Create dbvisit directory on both primary and standby server for installing Dbvisit under /usr directory.

root@localhost[/root]: cd /usr root@localhost[/usr]: mkdir dbvisit root@localhost[/usr]: chown oracle:oinstall dbvisit/

Primary Server Name: rima.dbv-aws.envbuilder.cubicle-labs.com

Standby Server Name: ono.dbv-aws.envbuilder.cubicle-labs.com

Control Center Server: ono.dbv-aws.envbuilder.cubicle-labs.com

The agentmanager installation on the primary server:

oracle@localhost[/home/oracle]: gunzip standby-v11.7.0.tar.gz oracle@localhost[/home/oracle]: ls -lrt total 195360 -rw-r--r-- 1 oracle oinstall 200048640 Apr 26 16:06 standby-v11.7.0.tar oracle@localhost[/home/oracle]: tar -xvf standby-v11.7.0.tar install-agent-v11.7.0 install-control-v11.7.0 oracle@localhost[/home/oracle]: ./install-agent-v11.7.0 +----------------------------------------------------------------------+ | ____ _ _ _ __ __ ____ | | / ___|| |_ __ _ _ __ __| | |__ _ _| \/ | _ \ | | \___ \| __/ _' | '_ \ / _' | '_ \| | | | |\/| | |_) | | | ___) | || (_| | | | | (_| | |_) | |_| | | | | __/ | | |____/ \__\__,_|_| |_|\__,_|_.__/ \__, |_| |_|_| | | Copyright 2024 |___/ By Dbvisit | +----------------------------------------------------------------------+ Welcome to Dbvisit StandbyMP setup version v11.7.0. ? Please carefully read the end-user license agreement at https://dbvisit.com/eula. Do you agree to the terms of this agreement? Yes ? Which directory should the software be installed into? /usr/dbvisit - - - You are now configuring the Dbvisit StandbyMP Agent - - - The Agent will listen on the following discovered addresses: - 127.0.0.1 - 10.0.1.90 ? Agent File Transfer Port: 7890 ? Fully Qualified Domain Name for this host: rima.dbv-aws.envbuilder.cubicle-labs.com ? Fully Qualified Domain Name for the Control Center: ono.dbv-aws.envbuilder.cubicle-labs.com ? Agent Communications Port: 5533 Each Dbvisit StandbyMP Agent and the Dbvisit StandbyMP Control Center must be configured with the same passphrase. This is how we know that they are all intended to be part of the same system. Please specify a strong passphrase - we suggest at least 12 characters, containing at least 2 numbers and 2 symbols. ? Passphrase: ******* ? Confirm Passphrase: ******* - - - Dbvisit StandbyMP Agent configuration finished - - - - - - Ready to perform installation - - - ? Do you wish to proceed with the setup using the supplied configuration options? Proceed with setup - - - Performing installation - - - Copying software files to '/usr/dbvisit'... Writing Agent configuration file '/usr/dbvisit/standbymp/conf/dbvagentmanager.ini'... - - - File creation complete - - - - - - Configuration Summary - - - Install Directory: /usr/dbvisit Fully Qualified Domain Name for this host: rima.dbv-aws.envbuilder.cubicle-labs.com Fully Qualified Domain Name for the Control Center: ono.dbv-aws.envbuilder.cubicle-labs.com Agent Communications Port: 5533 Agent File Transfer Port: 7890 - - - Installation Summary - - - The following actions have been performed: - Installed Dbvisit StandbyMP Agent software into: /usr/dbvisit/standbymp - Agent settings are available in the configuration file: /usr/dbvisit/standbymp/conf/dbvagentmanager.ini - Generated new security certificates in: /usr/dbvisit/standbymp/certificates - - - INSTALLATION SUCCESSFUL - - - To enable the installed Dbvisit StandbyMP components to run as system services, you will need to execute some commands as the "root" user in order to complete the setup. To install the system service(s), you can run, substituting the name of the user to run as if it is different from the current user: sudo /usr/dbvisit/standbymp/bin/dbvagentmanager service install --user oracle To start the system service(s), you can run: sudo /usr/dbvisit/standbymp/bin/dbvagentmanager service start root@localhost[/root]: /usr/dbvisit/standbymp/bin/dbvagentmanager service install --user oracle root@localhost[/root]: /usr/dbvisit/standbymp/bin/dbvagentmanager service start root@localhost[/root]: ps -ef |grep dbv oracle 13050 1 0 16:13 ? 00:00:00 /usr/dbvisit/standbymp/bin/dbvagentmanager service run root 13096 12951 0 16:13 pts/0 00:00:00 grep --color=auto dbv

Standby Installation: Both agentmanager and control center are installed on the standby server for this example.

3.3 Control Center

After installing agentmanager and control center. The web GUI can be accessed using the link https://<control center installed server name>:4433

In our case its https://ono.dbv-aws.envbuilder.cubicle-labs.com:4433/

 

After accepting to proceed to connect. You will be prompted with username and password. The default username/password is admin/admin.

 

4. Configuration Creation

The steps followed are same as in the Create Configuration Section of the user guide. Please refer here for detailed steps. Below is the image once the configuration is created.

5. Create DR Database

The DR database creation steps are similar to ones discussed here in the user guide. After DR database is created the automated standby update is enabled with default 300 sec and the observer is enabled to monitor the configuration.

 

6. Graceful Switchover

The process of zero data loss role reversal is called graceful switchover. The details are discussed here . Below is the image after the switchover process is completed. The new primary is now ono.dbv-aws.envbuilder.cubicle-labs.com and the standby is rima.dbv-aws.envbuilder.cubicle-labs.com . The automated standby update is enabled in the reverse direction and rima’s is getting synced at regular intervals with archivelogs from ono.

 

7. Activation

This option is useful when the primary is unavailable or cannot be accessed at the moment, the standby database is opened read-write mode with resetlogs. The details of this option are discussed here in the user guide.

 

 

All the options and functions that can be performed with onpremise to onpremise configuration, can be performed with cloud to cloud configurations as well. We have discussed only few options above, but it is possible to do all the below.

  1. Test Standby Activation

  2. Test Opening standby read-only

  3. Snapshots

  4. View detailed log gap report

  5. Backup & Send logs

  6. Apply logs

  7. Synchronization

  8. Start/Stop database

  9. Advanced Options