Skip to content

Oracle migration to Azure r20250404 #244

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 42 additions & 1 deletion 03-Azure/01-03-Infrastructure/10_Oracle_on_Azure/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,42 @@
NOTES.md

NOTES.md
**/misc/*
.ssh/*
**/.ssh/*

# ignore terraform plan files
**/plan*.out
#-------- Terraform --------
# Local .terraform directories
**/.terraform/*

# .tfstate files
*.tfstate
*.tfstate.*
*.env
# Crash log files
crash.log

# Exclude all .tfvars files, which are likely to contain sensitive data, such as
# password, private keys, and other secrets. These should not be part of version control.
*.tfvars

# Ignore override files as they are usually used to override resources locally and so
# are not checked in
override.tf
override.tf.json
*_override.tf
*_override.tf.json

# Include override files you do wish to add to version control using negated pattern
# !example_override.tf

# Ignore CLI configuration files
.terraformrc
terraform.rc

#-------- Ansible --------
inventory

# Ignore Terraform lock files
*.lock.hcl
195 changes: 164 additions & 31 deletions 03-Azure/01-03-Infrastructure/10_Oracle_on_Azure/README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,182 @@
# Microhack - Intro To Oracle DB Migration to Azure
# **Microhack - Intro To Oracle DB Migration to Azure**

## Important Notice
- [**MicroHack introduction**](#MicroHack-introduction)
- [**MicroHack context**](#microhack-context)
- [**Objectives**](#objectives)
- [**MicroHack Challenges**](#microhack-challenges)
- [**Contributors**](#contributors)
# MicroHack introduction

This project is currently under development and is subject to change until the first official release, which is expected by the end of 2024. Please note that all content, including instructions and resources, may be updated or modified as the project progresses.
This MicroHack scenario will help you get hands-on experience migrating Oracle databases from on-premises to different Azure Services.

![image](Path to the high level architecture )

## Introduction
This lab is not a full explanation of .... as a technology, please consider the following articles required pre-reading to build foundational knowledge.

This intro level microhack (hackathon) will help you get hands-on experience migrating Oracle databases from on-premises to different Azure Services.
Optional (read this after completing this lab to take your learning even deeper!)

## Learning Objectives
In this microhack you will solve a common challenge for companies migrating to the cloud: migrating Oracle databases to Azure. The application using the database is a sample e-commerce [application](https://github.com/pzinsta/pizzeria) written in JavaScript. It will be configured to use Oracle Database Express Edition [Oracle XE].
Describe the scenario here...

The participants will learn how to:
# MicroHack context

1. Perform a pre-migration assessment of the databases looking at size, database engine type, database version, etc.
1. Use offline tools to copy the databases to Azure OSS databases
1. Use the Azure Database Migration Service to perform an online migration (if applicable)
1. Do cutover and validation to ensure the application is working properly with the new configuration
1. Use a private endpoint for Azure OSS databases instead of a public IP address for the database
1. Configure a read replica for the Azure OSS databases
In this microhack you will solve a common challenge for companies migrating to the cloud: migrating Oracle databases to Azure.

## Challenges
- Challenge 0: **[Pre-requisites - Setup Environment and Prerequisites!](Student/00-prereqs.md)**
- Prepare your environment to run the sample application
- Challenge 1: **[Discovery and assessment](Student/01-discovery.md)**
- Discover and assess the application's PostgreSQL/MySQL/Oracle databases
- Challenge 2: Oracle to IaaS migration
- Challenge 3: Oracle to PaaS migration
- Challenge 4: Oracle to Azure OCI migration
- Challenge 5: Oracle to Oracle Database on Azure migration
# Objectives

## Prerequisites
After completing this MicroHack you will:

- Perform a pre-migration assessment of the databases looking at size, database engine type, database version, etc.
- Use Tools to perform an online migration
- Do cutover and validation to ensure the application is working properly with the new configuration

# MicroHack challenges

## General prerequisites

This MicroHack has a few but important prerequisites

In order to use the MicroHack time most effectively, the following tasks should be completed prior to starting the session.

With these pre-requisites in place, we can focus on building the differentiated knowledge in ... that is required when working with the product, rather than spending hours repeating relatively simple tasks such as setting up....

In summary:

- Azure Subscription
- Resource Group
- Service 1
- Service 2

Permissions for the deployment:
- Contributor on your Resource Group
- Other necessary permissions
-

- Access to an Azure subscription with Owner access
- If you don't have one, [Sign Up for Azure HERE](https://azure.microsoft.com/en-us/free/)
- Familiarity with Azure Cloud Shell
- [**Visual Studio Code**](https://code.visualstudio.com/) (optional)
-
-

## Repository Contents
- `../Coach`
- [Lecture presentation](Coach/OSS-DB-What-the-Hack-Lecture.pptx?raw=true) with short presentations to introduce each challenge
- Example solutions and coach tips to the challenges (If you're a student, don't cheat yourself out of an education!)
- `../Student/Resources`
- Pizzeria application environment setup

## Contributors
## Challenge 0: **[Pre-requisites - Setup Environment and Prerequisites!](Student/00-prereqs.md)**

Prepare your environment to run the sample application

## Challenge 1: **[Discovery and assessment](Student/01-discovery.md)**

### Goal

Discover and assess the OnPrem Oracle database.

### Actions

* Write down the first 3 steps....
* Set up and enable...
* Perform and monitor....

### Success criteria

* You have deployed a cost efficient VM and disks which fulfills your performance requirements.
* You successfully installed and configured Oracle binaries.
* You have successfully setup relication for the DB and are ready to do a failover to your Azure VM.

### Learning resources
* [Oracle sizing on Azure IaaS](https://github.com/Azure/Oracle-Workloads-for-Azure/blob/main/levelup-oracle-on-iaas/lab1/readme.md)

### Solution - Spoilerwarning

[Solution Steps](./walkthrough/challenge-1/solution.md)


## Challenge 2: Oracle to IaaS migration

### Goal

Migrate the Oracle database to an Azure VM

### Actions

* Determine the most cost efficient compute and disk SKUs for target Azure VM
* Deploy VM to Azure
* Configure Oracle on target VM
* Migrate onprem database using Data Guard

### Success criteria

* You have deployed ....
* You successfully enabled ...
* You have successfully setup ....
* You have successfully ....

### Learning resources
* [Create an Oracle Database in an Azure VM](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/oracle/oracle-database-quick-create)
* [Configure Oracle Data Guard](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/oracle/configure-oracle-dataguard#configure-oraclevm1-primary)
* [Oracle 19c RMAN Backup And Restore](https://youtu.be/XEv5oWK1IuA)

### Solution - Spoilerwarning

[Solution Steps](./walkthrough/challenge-2/solution.md)

## Challenge 3: Oracle to PaaS migration

### Goal

Migrate the Oracle database to an Azure PaaS service

### Actions

* Write down the first 3 steps....
* Set up and enable...
* Perform and monitor....

### Success criteria

* You have deployed ....
* You successfully enabled ...
* You have successfully setup ....
* You have successfully ....

### Learning resources
* Link to https://learn.microsoft.com/en-us/azure/....

### Solution - Spoilerwarning

[Solution Steps](./walkthrough/challenge-1/solution.md)

## Challenge 4: Oracle to Oracle Database at Azure migration

### Goal

Migrate the Oracle database to an Oracle Database at Azure

### Actions

* Write down the first 3 steps....
* Set up and enable...
* Perform and monitor....

### Success criteria

* You have deployed ....
* You successfully enabled ...
* You have successfully setup ....
* You have successfully ....

### Learning resources
* Link to https://learn.microsoft.com/en-us/azure/....

### Solution - Spoilerwarning

[Solution Steps](./walkthrough/challenge-1/solution.md)

## Finish

Congratulations! You finished the MicroHack *Oracle DB Migration to Azure*. We hope you had the chance to learn about the how to implement a successful...
If you want to give feedback please dont hesitate to open an Issue on the repository or get in touch with one of us directly.

Thank you for investing the time and see you next time!

## Contributors
* Christian Pino [GitHub](https://github.com/nilsbankert); [LinkedIn](https://www.linkedin.com/in/nilsbankert/)
* Maik Sandman
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Walkthrough Challenge 1 - Discovery and assessment

Duration: 20 minutes

## Prerequisites

Please ensure that you successfully verified the [General prerequisits](../../Readme.md#general-prerequisites) before continuing with this challenge.

### **Task 1: Write down...**

💡 The first....

💥 **Here are the first three general steps that are typically happen:**
1. Everybody struggles with finding the right person....
2. If somebody finds the plan, the first three actions...
3. Do not sress to much we have a...

🔑 **Key to a successful strategy....**
- The key to success is not a technical consideration of....

### **Task 2: Think about if...**


### **Task 3: Put yourself in the position...**

* [Checklist Testing for...](Link to checklist or microsoft docs)

### Task 4: Who defines the requirements...


![image](Link to image)


You successfully completed challenge 1! 🚀🚀🚀

**[Home](../../Readme.md)** - [Next Challenge Solution](../challenge-2/solution.md)
Loading