-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* WMS ID : 11543 New Workshop WMS ID : 11543 New Workshop * DevLive2024-ORACA DevLive2024-ORACA
- Loading branch information
1 parent
e444498
commit 2caac85
Showing
150 changed files
with
1,129 additions
and
0 deletions.
There are no files selected for viewing
Binary file added
BIN
+876 KB
mysql/oci-oraca-mysql/a-introduction/images/Observability&Management.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# Introduction | ||
|
||
## About this Workshop | ||
|
||
This workshop guides you through the process of provisioning a MySQL HeatWave database on OCI, enhancing a Spring Boot application with Oracle AI code assistant, incorporating OpenTelemetry instrumentation, and deploying the application on an Oracle Kubernetes cluster. You will learn how to monitor the application using the Oracle Application Performance Management Service, leveraging OpenTelemetry traces and metrics for comprehensive end-to-end monitoring and diagnostics. Additionally, the workshop covers the utilization of Oracle Cloud Infrastructure (OCI) Database Management to monitor the MySQL HeatWave database and Logging Analytics for Kubernetes and application logs. | ||
|
||
|
||
Estimated Time: 120 minutes | ||
|
||
### About Oracle AI Code Assistant | ||
|
||
Oracle AI code assist utilizes machine learning models to provide real-time suggestions and autocompletions while writing code. Oracle AI code assist analyzes the context and structure of the code being written, offering relevant snippets and completing code patterns. Available as IntelliJ IDEA plugin to enhance the productivity by reducing manual typing and helping developers discover and apply appropriate code constructs. | ||
|
||
### MySQL Heatwave Database | ||
|
||
MySQL Heatwave is a fully-managed database service, powered by the integrated HeatWave in-memory query accelerator. It is the only cloud-native database service that combines transactions, analytics, and machine learning services into MySQL Heatwave, delivering real-time, secure analytics without the complexity, latency, and cost of ETL duplication. | ||
|
||
### Observability and Management Services | ||
|
||
Monitor, analyze, and manage multicloud applications and infrastructure environments with full-stack visibility, prebuilt analytics, and automation using Oracle Cloud Observability and Management Platform. | ||
|
||
![OCI Observability and Management](images/Observability&Management.png " ") | ||
|
||
### Database Management | ||
|
||
Database management provides unified console for on-premises and cloud databases with lifecycle database management capabilities for monitoring, performance management, tuning, and administration. With Performance Hub, developers can improve SQL code during active development as well as continuously monitor and tune queries running on production systems. For more information on MySQL HeatWave Database Management > **[Use Database Management for MySQL HeatWave](https://blogs.oracle.com/mysql/post/database-management-for-mysql-heatwave)** | ||
|
||
|
||
### Application Performance Management | ||
|
||
Among other capabilities, OCI APM includes an implementation of a Distributed Tracing system. It collects and processes transaction trace data (spans) from the monitored application and makes it available for viewing, dashboarding, exploration, alerts, etc. For more information on APM and Trace Explorer please refer to Application Performance Monitoring > **[Use Trace Explorer](https://docs.oracle.com/en-us/iaas/application-performance-monitoring/doc/use-trace-explorer.html)** section in the OCI Documentation. | ||
|
||
### Logging Analytics | ||
|
||
Cloud Infrastructure (OCI) Logging Analytics lets you index, enrich, aggregate, explore, search, analyze, correlate, visualize and monitor all log data from your applications and system infrastructure on cloud or on-premises. Oracle Logging Analytics provides a one-click end-to-end Kubernetes monitoring solution for the underlying infrastructure, Kubernetes platform and cloud native applications.For more information on APM and Trace Explorer please refer to Application Performance Monitoring > **[Use Logging Analytics to monitor Kubernetes](https://docs.oracle.com/en/solutions/kubernetes-oke-logging-analytics/index.html)**. | ||
|
||
|
||
### Objectives | ||
|
||
In this workshop, you will: | ||
* Create an APM domain, obtain Data Upload Endpoint and Data Keys | ||
* Create Oracle Kubernetes cluster | ||
* Create MySQL HeatWave Database | ||
* Use Oracle AI Code Assist to build microservice application | ||
* Instrument APM Browser agent and Open telemetry auto instrumentation of server code | ||
* Use APM Trace Explorer to view traces, spans, and span dimensions | ||
* Use Database Management to review query performances | ||
* Use Logging analytics to analyze Kubernetes logs | ||
|
||
### Prerequisites | ||
|
||
* An Oracle Free Tier with a 30-day free trial or Paid Cloud Account - Please view this workshop's LiveLabs landing page to see which environments are supported. | ||
|
||
|
||
>**Note:** If you have a **Free Trial** account when your Free Trial expires, your account will be converted to an **Always Free** account. You will not be able to conduct Free Tier workshops unless the Always Free environment is available. | ||
**[Click here for the Free Tier FAQ page.](https://www.oracle.com/cloud/free/faq.html)** | ||
|
||
If you are running the workshop in a Paid Cloud Account, ensure you have the permissions below: | ||
* Oracle Cloud Account Administrator role or manage apm-domains permission in the target compartment. See **[Perform Oracle Cloud Infrastructure Prerequisites (APM)](https://docs.oracle.com/en-us/iaas/application-performance-monitoring/doc/perform-oracle-cloud-infrastructure-prerequisite-tasks.html)** in the Oracle Cloud documentation. | ||
|
||
|
||
### Acknowledgements | ||
|
||
* **Author** - Anand Prabhu, Principal Member of Technical Staff, Enterprise and Cloud Manageability | ||
- **Contributors** - | ||
Yutaka Takatsu, Senior Principal Product Manager, | ||
Avi Huber, Vice President, Product Management | ||
* **Last Updated By/Date** - Anand Prabhu, January 2024 |
102 changes: 102 additions & 0 deletions
102
mysql/oci-oraca-mysql/b-lab-one-envsetup/environmentsetup.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# Create a Kubernetes cluster | ||
|
||
## Introduction | ||
|
||
This workshop uses Spring Boot-based Java microservices as a target application connecting to MySQL HeatWave Database and monitor the application end to end using OCI Observability and Management Services. In this lab, first, you will use the Oracle Cloud console to set up an OCI compartment, second, create an Oracle container engine for Kubernetes (OKE) cluster in your tenancy and a MySQL HeatWave Database enabling Database management during creation. | ||
|
||
Estimated time: 45 minutes | ||
|
||
### Objectives | ||
|
||
* Create a compartment | ||
* Create a Kubernetes cluster | ||
* Create a MySQL HeatWave Database | ||
|
||
### Prerequisites | ||
|
||
* This lab requires an [Oracle Cloud account](https://www.oracle.com/cloud/free/). You may use your cloud account, or a Free tier account, a cloud account that you obtained through a trial. | ||
|
||
|
||
## Task 1: Create an OCI compartment | ||
|
||
1. Open the navigation menu from the top-left corner (aka. hamburger menu) of the Oracle Cloud console and select **Identity & Security** > **Compartments**. | ||
![Oracle Cloud console Menu](images/1-1-compartments.png " ") | ||
2. Click **Create Compartment** | ||
![Oracle Cloud console, Create Compartment](images/1-2-compartments.png " ") | ||
3. Enter the following parameters: | ||
* Compartment name: **appdev** | ||
* Description: **App Dev compartment** | ||
* Accept the default values for the other fields, and click, **Create Compartment** | ||
![Oracle Cloud console, Create Compartment](images/1-3-compartments.png " ") | ||
* Verify that your appdev compartment is created in the table | ||
![Oracle Cloud console, Create Compartment](images/1-4-compartments.png " ") | ||
|
||
## Task 2: Create an OKE | ||
|
||
1. Open the navigation menu from the top left corner (aka. hamburger menu) in the Oracle Cloud console, and select **Developer Services** > **Kubernetes Clusters (OKE)**. | ||
|
||
![Oracle Cloud console, Navigation Menu](images/2-1-OKE.png " ") | ||
|
||
2. Make sure the **appdev** is selected in the Compartment field, then click **Create cluster** | ||
|
||
![Oracle Cloud console, Clusters in Compartment](images/2-2-OKE.png " ") | ||
|
||
3. Quick Create pane is pre-selected. Keep the default selection and click **Submit**. | ||
|
||
![Oracle Cloud console, Create cluster](images/2-3-OKE.png " ") | ||
|
||
4. Name the cluster as **k8-appdev**. Select Kubernetes API endpoint as **Public endpoint** and Node type as **Managed** and keep other fields as default and click **Next**. | ||
|
||
![Oracle Cloud console, Create cluster](images/2-4-OKE.png " ") | ||
![Oracle Cloud console, Create cluster](images/2-5-OKE.png " ") | ||
![Oracle Cloud console, Create cluster](images/2-6-OKE.png " ") | ||
|
||
5. Review the configuration, and click **Create cluster**. | ||
|
||
![Oracle Cloud console, Create cluster](images/2-7-OKE.png " ") | ||
|
||
6. Make sure all verification steps are cleared. Click **Close**. | ||
|
||
![Oracle Cloud console, Create cluster](images/2-8-OKE.png " ") | ||
|
||
7. This will start to create a cluster, and takes 7 to 10 minutes to complete. While waiting for the creation of the cluster, you can proceed to the next lab to create an APM domain. In Lab 5, we will resume the steps to build the application. | ||
|
||
![Oracle Cloud console, Create cluster](images/2-9-OKE.png " ") | ||
|
||
|
||
## Task 3: Create a MySQL HeatWave Database | ||
|
||
1. From the OCI menu, select **Databases**, then **MySQL HeatWave > DB Systems**. | ||
![Oracle Cloud console Menu](images/1-1-mysqlheatwave.png " ") | ||
|
||
2. Select the **appdev** compartment from the pulldown menu and Click **Create DB System** | ||
![Oracle Cloud console, DB Systems](images/1-2-mysqlheatwave.png " ") | ||
|
||
3. Choose **Production** and select the **appdev** compartment and provide name **mysql-appdev** for the MySQL HeatWave Database | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-3-mysqlheatwave.png " ") | ||
|
||
4. Choose **Standalone**, enable **MySQL HeatWave** and provide MySQL HeatWave Database administration credentials. | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-4-mysqlheatwave.png " ") | ||
|
||
5. Choose the VCN and private subnet of Oracle Kubernetes Cluster **k8-appdev** to allow access to MySQL HeatWave database from Kubernetes nodes and keep hardware settings default. | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-5-mysqlheatwave.png " ") | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-6-mysqlheatwave.png " ") | ||
|
||
6. Uncheck **Enable automatic backups** and in advanced settings under **Deletion Plan** Tab uncheck **Delete protected** and under **Management** Tab check **Database Management** | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-7-mysqlheatwave.png " ") | ||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-8-mysqlheatwave.png " ") | ||
|
||
7. This will start to create a MySQL HeatWave Database, and takes 10 to 12 minutes to complete. While waiting for the creation of the MySQL HeatWave Database, you can proceed to the next lab to create an virtual machine. In Lab 6, we will resume the steps to deploy the application connecting to the MySQL HeatWave Database. | ||
|
||
![Oracle Cloud console, Create MySQL HeatWave Database](images/1-9-mysqlheatwave.png " ") | ||
|
||
|
||
You may now **proceed to the next lab**. | ||
|
||
## Acknowledgements | ||
|
||
* **Author** - Anand Prabhu, Principal Member of Technical Staff, Enterprise and Cloud Manageability | ||
- **Contributors** - | ||
Yutaka Takatsu, Senior Principal Product Manager, | ||
Avi Huber, Vice President, Product Management | ||
* **Last Updated By/Date** - Anand Prabhu, January 2024 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+96.7 KB
mysql/oci-oraca-mysql/b-lab-one-envsetup/images/1-8-mysqlheatwave.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.11 MB
mysql/oci-oraca-mysql/b-lab-one-envsetup/images/1-9-mysqlheatwave.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
192 changes: 192 additions & 0 deletions
192
mysql/oci-oraca-mysql/c-lab-two-deploy-app/deploy-app.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
# Deploy a microservices application | ||
|
||
## Introduction | ||
|
||
This workshop uses Spring Boot-based Java microservices as a target application and in this lab, you will deploy the application to the Kubernetes cluster created in Lab 1. | ||
|
||
Estimated time: 15 minutes | ||
|
||
### Objectives | ||
|
||
* Deploy a microservices application to Kubernetes cluster | ||
|
||
### Prerequisites | ||
|
||
* Completion of the preceding labs in this workshop | ||
|
||
## Task 1: Verify OKE | ||
|
||
1. Go back to the Kubernetes cluster page where you left Lab 1, and check the status of the cluster. Open the navigation menu from the top left corner (aka. hamburger menu) in the Oracle Cloud console, and select **Developer Services** > **Kubernetes Clusters (OKE)**. | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-1-buildapp.png " ") | ||
|
||
2. Click the **k8-appdev** link from the table. | ||
|
||
![Oracle Cloud console, Navigation Menu](images/6-1-2-buildapp.png " ") | ||
|
||
3. If the status of the cluster is **Active**, creation was successful. If it is still in a **Creating** status, it may take a few more minutes to complete. (Usually, it takes 7 to 10 minutes to finish the jobs to create a cluster). | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-3-buildapp.png " ") | ||
|
||
## Task 2: Access the OKE in the Oracle Cloud shell | ||
|
||
|
||
1. Click **Access Cluster** on the cluster details page. | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-3-buildapp.png " ") | ||
|
||
2. Make sure the **Cloud Shell Access** is selected. Click the **Copy** link from the command to access kubeconfig for the cluster. | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-4-buildapp.png " ") | ||
|
||
3. Then click **Launch Cloud Shell**. | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-5-buildapp.png " ") | ||
|
||
4. Oracle Cloud Shell window opens at the lower side of the browser screen and paste the copied command to the command shell prompt. Then hit enter. | ||
|
||
![Oracle Cloud console, Cluster details](images/6-1-6-buildapp.png " ") | ||
|
||
>**Note:** Save the command to a text file on your laptop, and execute it whenever you start a new Cloud Shell session while working in the labs in this workshop. | ||
|
||
## Task 3: Prepare Database for the application | ||
|
||
1. Install MySQL client to connect to the MySQL HeatWave Database from cloud shell | ||
``` | ||
<copy> | ||
kubectl run mysql-client --image=iad.ocir.io/axfo51x8x2ap/load-mysql-data:latest -it --rm --restart=Never -- /bin/bash | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-2-1-buildapp.png) | ||
|
||
2. Execute below command to connect to MySQL HeatWave Database using Private IP of the database and admin credentials provided during database creation. | ||
``` | ||
<copy> | ||
mysql -h <mds-private-ip-address> -u <mds-admin-user> -p | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-2-2-buildapp.png) | ||
|
||
3. Execute below command to create a "WINE" application database and tables required for the application | ||
``` | ||
<copy> | ||
source insert_100_mysql.sql | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-2-3-buildapp.png) | ||
|
||
4. Execute **exit** to exit from the mysql client and execute **exit** again to exit from mysql pod to kubectl session. | ||
|
||
![Oracle Cloud console, Cloud Shell](images/6-2-4-buildapp.png) | ||
|
||
>**Note:** Now the database is prepared with necessary tables and records. Please proceed to the next task. | ||
## Task 4: Download configuration files | ||
|
||
1. Download the zip file to the home directory in the Cloud Shell. | ||
|
||
``` bash | ||
<copy> | ||
cd ~; wget https://objectstorage.us-ashburn-1.oraclecloud.com/p/nzVKfbkHfZ5xMIyz9xRJDbKz6awoBwha88WKF35mtyFsT5T52pO5UXzkZ_iHHIuJ/n/axfo51x8x2ap/b/DevLive-MySQL/o/sb-hol.zip | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-3-1-buildapp.png " ") | ||
|
||
3. Unzip the file. This will create a directory **sb-hol**. | ||
|
||
``` bash | ||
<copy> | ||
unzip ~/sb-hol.zip | ||
</copy> | ||
``` | ||
|
||
![Oracle Cloud console, Cloud Shell](images/6-3-2-buildapp.png " ") | ||
|
||
## Task 5: Deploy the application | ||
|
||
1. Execute the following command from the Cloud Shell. | ||
|
||
``` bash | ||
<copy> | ||
cd ~/sb-hol;ls | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-4-1-buildapp.png " ") | ||
|
||
>**Note:** Verify there are the following files in the folder. | ||
- admessage.yaml | ||
- apmnamespace.yaml | ||
- customapmresource.yaml | ||
- wstore.yaml | ||
|
||
2. Modify the file **wstore.yaml** to update the MySQL HeatWave Database Private IP | ||
|
||
``` bash | ||
<copy> | ||
vi wstore.yaml | ||
</copy> | ||
``` | ||
- Update field **<mds-private-ip-address>** with MySQL HeatWave Database Private IP (line 88) | ||
|
||
![Oracle Cloud console, Cloud Shell](images/6-4-3-buildapp.png " ") | ||
|
||
- Press the Esc key to ensure you are in command mode. | ||
- Type :wq (colon followed by wq) in the vi editor. | ||
- Press Enter to execute the command to save the file | ||
|
||
![Oracle Cloud console, Cloud Shell](images/6-4-4-buildapp.png " ") | ||
|
||
3. Execute the command below to deploy the application to the cluster. | ||
|
||
``` bash | ||
<copy> | ||
kubectl apply -f ~/sb-hol/wstore.yaml --validate=false | ||
</copy> | ||
``` | ||
|
||
## Task 6: Launch the application | ||
1. Verify the 2 services and 2 stateful sets are created | ||
![Oracle Cloud console, Cloud Shell](images/6-4-5-buildapp.png " ") | ||
|
||
2. Run the kubectl command below to display the status of the pod creation. Wait until the statuses become 'Running'. This may take a few minutes. | ||
|
||
``` bash | ||
<copy> | ||
kubectl get pods | ||
</copy> | ||
``` | ||
![Oracle Cloud console, Cloud Shell](images/6-4-6-buildapp.png " ") | ||
|
||
3. Run the kubectl command below to display the deployed services. | ||
|
||
``` bash | ||
<copy> | ||
kubectl get svc | ||
</copy> | ||
``` | ||
|
||
4. Copy the External IP of the wstore-frontend service | ||
![Oracle Cloud console, Cloud Shell](images/6-4-7-buildapp.png " ") | ||
|
||
5. Refer to the below example and construct a URL, and paste it into a browser's address bar. If you see the WineCellar content as in the below screenshot, the deployment was successful. | ||
``` bash | ||
<copy> | ||
http://<IP of the wstore-frontend service>/winestore/ | ||
</copy> | ||
``` | ||
![WineCellar Demo app](images/6-4-8-buildapp.png " ") | ||
>**Note:** It may take a few minutes to complete the deployment and start loading the page content on the screen for the first time. | ||
You may now **proceed to the next lab**. | ||
## Acknowledgements | ||
* **Author** - Anand Prabhu, Principal Member of Technical Staff, Enterprise and Cloud Manageability | ||
- **Contributors** - | ||
Yutaka Takatsu, Senior Principal Product Manager, | ||
Avi Huber, Vice President, Product Management | ||
* **Last Updated By/Date** - Anand Prabhu, January 2024 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Binary file added
BIN
+78.3 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-1-1-admessage.png
Oops, something went wrong.
Binary file added
BIN
+158 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-1-2-admessage.png
Oops, something went wrong.
Binary file added
BIN
+42.9 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-1-3-admessage.png
Oops, something went wrong.
Binary file added
BIN
+109 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-1-4-admessage.png
Oops, something went wrong.
Binary file added
BIN
+91.5 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-0-admessage.png
Oops, something went wrong.
Binary file added
BIN
+228 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-1-admessage.png
Oops, something went wrong.
Binary file added
BIN
+110 KB
...oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-10-admessage.png
Oops, something went wrong.
Binary file added
BIN
+237 KB
...oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-11-admessage.png
Oops, something went wrong.
Binary file added
BIN
+227 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-2-admessage.png
Oops, something went wrong.
Binary file added
BIN
+69.8 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-3-admessage.png
Oops, something went wrong.
Binary file added
BIN
+81.7 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-4-admessage.png
Oops, something went wrong.
Binary file added
BIN
+108 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-5-admessage.png
Oops, something went wrong.
Binary file added
BIN
+251 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-6-admessage.png
Oops, something went wrong.
Binary file added
BIN
+250 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-7-admessage.png
Oops, something went wrong.
Binary file added
BIN
+88.7 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-8-admessage.png
Oops, something went wrong.
Binary file added
BIN
+83.1 KB
.../oci-oraca-mysql/d-lab-three-extend&deploy-app-oraca/images/3-2-9-admessage.png
Oops, something went wrong.
Oops, something went wrong.