How to Implement Full Stack Disaster Recovery in OCI: Best Practices

How to Implement Full Stack Disaster Recovery in OCI: Best Practices

In this blog, I will cover some of the best practices for implementing the OCI Full Stack DR for your business system.

  1. IAM Policies: Full Stack DR interacts with a variety of OCI services such as Compute, Oracle Database, Block Storage, File Storage, and Load Balancers. It's crucial to ensure the user managing the Full Stack DR is equipped with the appropriate IAM policies. Carefully setting up the necessary IAM policies and dynamic groups for the Full Stack DR administrator or user is a step that must be considered. For further guidance, please refer to this blog:

  2. User-defined plan group execution command: Full Stack DR enables users to tailor their disaster recovery plans according to specific needs through the use of User-defined plan groups. It is imperative that users ensure all prerequisites for executing user-defined scripts are met. For additional information and guidance, please consult this tutorial:

  3. Always create various DR plan types: Full Stack DR enables the creation of various Disaster Recovery (DR) plans, including Switchover (planned), Failover (Unplanned), Start Drill, and Stop Drill. It is advisable to create and customize all these plan types within both the primary and standby DR protection groups. It's important to note that the Stop Drill plan can only be created after the completion of the Start Drill plan.

  4. Create disaster recovery (DR) plans for both DR protection groups: Full Stack DR lets you set up DR plans in the Standby DR protection group, meaning you can only run DR plans from your Standby region. Imagine "APP-IAD" and "APP-PHX" protection groups are set as Primary and Standby, respectively. You can switch from "APP-IAD" to "APP-PHX" using the switchover plan in the "APP-PHX" group. After switching, the roles of the DR protection groups change; "APP-PHX" becomes the Primary, and "APP-IAD" takes on the Standby role. If you need to switch back, you have to create DR plans in "APP-IAD". It's crucial to plan this from the start, so you have your DR plans ready in both "APP-IAD" and "APP-PHX" for whichever region you need to switch to. This is also true for other DR plan types like Failover and DR Drills.

  5. Automating DR plan creation: Just a heads up, if you find yourself needing to add or remove members, or change certain properties of members, our current setup will automatically delete existing DR plans. But don't worry, we'll give you a heads-up warning when you're about to make changes to the protection group.

    Member addition or removal warning

    The Good news is, we're on it! We're working on making this process smoother, so in the future, any changes you make will simply refresh the plans instead of deleting them. For now, we recommend using OCI CLI scripts to quickly recreate your plan until this update is ready. Check out this tutorial for a step-by-step guide:

  6. Run regular prechecks: Whenever you set up a DR plan with Full Stack DR, we automatically generate built-in prechecks for you. We strongly advise running these pre-checks before you kick off your DR plan. But wait, there's more! You can also craft your own script to trigger these prechecks and even schedule them through cronjob or your favorite automation tools. This way, you'll always have your prechecks report ready and be one step ahead!


In summary, the journey to implementing Full Stack Disaster Recovery in OCI is paved with detailed planning, strategic execution, and regular maintenance. By adhering to best practices such as configuring IAM policies, customizing DR plans, and automating processes where possible, businesses can ensure a robust defense against potential disasters. Regular prechecks and updates to DR plans as your infrastructure evolves are crucial steps in maintaining the effectiveness of your disaster recovery strategy. Stay tuned for more in-depth discussions on each of these facets to further fortify your OCI Full Stack DR approach.