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
- Get link
- X
- Other Apps
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.
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
- Get link
- X
- Other Apps
Popular posts from this blog
Check if UTL_FILE and FND_FILE are working fine
Yesterday, while troubleshooting a vexing ORA-29280 error, I came across 2 useful PL/SQL anonymous blocks that can be used to test FND_FILE and UTL_FILE to find out whether they are indeed working fine. UTL_FILE set serveroutput on DECLARE file_location VARCHAR2(256) := '<first entry on utl_file_dir>'; file_name VARCHAR2(256) := 'utlfile1.lst'; file_text VARCHAR2(256) := 'THIS IS A TEST'; file_id UTL_FILE.file_type; BEGIN file_id := UTL_FILE.fopen(file_Location, file_name, 'W'); UTL_FILE.put_line(file_id, file_text); UTL_FILE.fclose(file_id); EXCEPTION WHEN UTL_FILE.INVALID_PATH THEN dbms_output.put_line('Invalid path ' || SQLERRM); WHEN OTHERS THEN dbms_output.put_line('Others '|| SQLCODE || ' ' || SQLERRM); END; / References: Metalink (MOS) Note ID: 261693.1 FND_FILE set serveroutput on exec FND_FILE.PUT_LINE(FND_FILE.LOG, 'THIS IS A TEST'); HTH....
Modify retention period of workflow queues
Yesterday, there was a requirement to increase the retention period of WF_DEFERRED and WF_BPEL_Q so that the developers could troubleshoot issues involving business events. This can be done this way: 1. Check the retention period of existing workqueues. SQL> SELECT owner, name, retention FROM all_queues WHERE name LIKE 'WF%'; OWNER NAME RETENTION --------------- --------------------------------------------- ------------------------------ APPS WF_BPEL_Q 0 APPLSYS WF_INBOUND_QUEUE ...
Clone database home (clone.pl) deprecated in Oracle 19c
Back to blogging, at last. Well, this time it's about clone.pl. Background about clone.pl The easiest way to install a patched and up-to-date Oracle home is to physically copy it from a source server (that is already patched and up-to-date) and use clone.pl on the target server so that the binaries are linked to the target server's OS binaries (like gcc, libstdc++ etc.,), registered with the Oracle Inventory etc. The alternative to clone.pl is to: Install Oracle binaries using GUI or command line Apply the latest patchset (PSU/CPU patches) As you can see now, clone.pl is really useful in order to cut down time to build a database in a new server. More about clone.pl here and here (12c), here (18c). However, in Oracle 19c, Oracle has officially said - " Starting from oracle database 19c ,the clone.pl script is deprecated and can be removed in a future release. Hence, Oracle recommends that you use the software-only installation option, available in the database installe...
Comments