AWS using Ansible? Yes, it's possible!

  Although, I've used Ansible extensively for a lot of automation and orchestration tasks, using Ansible for AWS was indeed, a new territory for me.  This turned out to be a blessing, since along with using Ansible for AWS tasks, I also learnt how to use WSL (Windows Subsystem for Linux) on a Windows machine. Though WSL's been around for some time, I still hadn't come around to using it since I was mostly using my Macbook pro. Not anymore, though!  Anyway, I have listed below the steps to: Install WSL on Windows 11 23H2 patch Install AWS CLI on Ubuntu 22.04 (Exact version - 22.04.3 LTS) Install Ansible and the amazon.aws collection Use AWS CLI to get the list of  VPCs in the region - us-east-1 (or a region of your choice) Create a python file/script to get the list of VPCs in the region - us-east-1 (or a region of your choice) Create an Ansible playbook to get the list of VPCs in the region - us-east-1 (or a region of your choice.   You may download the comple...

Build a Reporting Database using standby and flashback


It's been a long time since I posted something. So, here's something worthwhile. Thanks to my colleague Kevin who devised this method!

Requirement


A reporting database to be refreshed daily from the UAT instance. The reporting database should be available during the daytime and the refresh can happen during the night.


Solution


1. Initially, build the reporting database as a standby database.


2. Once the Managed Recovery process (MRP) is initiated and the standby is in sync with the primary database, cancel the MRP.


SQL> alter database recover managed standby database cancel;

3. Enable flashback in the standby database. Note that the DB should be in mount state for this.


SQL> startup mount force;




SQL> alter database flashback on;

4. create guaranteed restore point.



SQL> drop restore point before_open;



SQL> create restore point before_open guarantee flashback database;

5. Activate the standby database.


SQL> alter database activate standby database;

SQL> startup force;

6. In the evening/night, flashback the database to the guaranteed restore point i.e., standby database and resync it with the primary.


SQL> startup mount force;



SQL> flashback database to before_open;



SQL> alter database convert to physical standby;



SQL> startup mount force;



SQL> alter database recover managed standby database disconnect from session;

7. The next day monring, verify that the recovery has indeed completed, by using the following sql:



SQL> set pages 1000



SQL> SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received",
APPL.SEQUENCE# "Last Sequence Applied",
(ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference"
FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN
(SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE
ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;



SQL> select max(sequence#) from v$archived_log; -- execute on both primary and standby.

8. Repeat the Steps 4 & 5 - to open the reporting database to the users.


9. In the evening/night, repeat Step 6. - to resync the reporting database.


References


1. Introduction to Restore points/flashback databases.

2. Introduction to data guard.

3. Business Continuity for Oracle Applications Release 11i, Database Releases 9i and 10g - Note: 216212.1


Comments

Popular posts from this blog

Check if UTL_FILE and FND_FILE are working fine

Modify retention period of workflow queues

Clone database home (clone.pl) deprecated in Oracle 19c