You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machines/workloads/oracle/oracle-design.md
+12-7Lines changed: 12 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ ms.author: rogirdh
22
22
## Assumptions
23
23
24
24
- You're planning to migrate an Oracle database from on-premises to Azure.
25
+
- You have the [Diagnostics Pack](https://docs.oracle.com/cd/E11857_01/license.111/e11987/database_management.htm) for the Oracle Database you're looking to migrate
25
26
- You have an understanding of the various metrics in Oracle AWR reports.
26
27
- You have a baseline understanding of application performance and platform utilization.
27
28
@@ -67,11 +68,11 @@ There are four potential areas that you can tune to improve performance in an Az
67
68
68
69
### Generate an AWR report
69
70
70
-
If you have an existing an Oracle database and are planning to migrate to Azure, you have several options. You can run the Oracle AWR report to get the metrics (IOPS, Mbps, GiBs, and so on). Then choose the VM based on the metrics that you collected. Or you can contact your infrastructure team to get similar information.
71
+
If you have an existing an Oracle database and are planning to migrate to Azure, you have several options. If you have the [Diagnostics Pack](https://www.oracle.com/technetwork/oem/pdf/511880.pdf) for your Oracle instances, you can run the Oracle AWR report to get the metrics (IOPS, Mbps, GiBs, and so on). Then choose the VM based on the metrics that you collected. Or you can contact your infrastructure team to get similar information.
71
72
72
73
You might consider running your AWR report during both regular and peak workloads, so you can compare. Based on these reports, you can size the VMs based on either the average workload or the maximum workload.
73
74
74
-
Following is an example of how to generate an AWR report:
75
+
Following is an example of how to generate an AWR report (Generate your AWR reports using your Oracle Enterprise Manager, if your current install has one):
75
76
76
77
```bash
77
78
$ sqlplus / as sysdba
@@ -138,6 +139,10 @@ Based on your network bandwidth requirements, there are various gateway types fo
138
139
139
140
- Network latency is higher compared to an on-premises deployment. Reducing network round trips can greatly improve performance.
140
141
- To reduce round-trips, consolidate applications that have high transactions or “chatty” apps on the same virtual machine.
142
+
- Use Virtual Machines with [Accelerated Networking](https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-cli) for better network performance.
143
+
- For certain Linux distrubutions, consider enabling [TRIM/UNMAP support](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/configure-lvm#trimunmap-support).
144
+
- Install [Oracle Enterprise Manager](https://www.oracle.com/technetwork/oem/enterprise-manager/overview/index.html) on a separate Virtual Machine.
145
+
- Huge pages are not enabled on linux by default. Consider enabling huge pages and set `use_large_pages = ONLY ` on the Oracle DB. This may help increase performance. More information can be found [here](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/USE_LARGE_PAGES.html#GUID-1B0F4D27-8222-439E-A01D-E50758C88390).
141
146
142
147
### Disk types and configurations
143
148
@@ -179,20 +184,21 @@ After you have a clear picture of the I/O requirements, you can choose a combina
179
184
- Use data compression to reduce I/O (for both data and indexes).
180
185
- Separate redo logs, system, and temps, and undo TS on separate data disks.
181
186
- Don't put any application files on default OS disks (/dev/sda). These disks aren't optimized for fast VM boot times, and they might not provide good performance for your application.
187
+
- When using M-Series VMs on Premium storage, enable [Write Accelerator](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/how-to-enable-write-accelerator) on redo logs disk.
182
188
183
189
### Disk cache settings
184
190
185
191
There are three options for host caching:
186
192
187
-
-*Read-only*: All requests are cached for future reads. All writes are persisted directly to Azure Blob storage.
193
+
-*ReadOnly*: All requests are cached for future reads. All writes are persisted directly to Azure Blob storage.
188
194
189
-
-*Read-write*: This is a “read-ahead” algorithm. The reads and writes are cached for future reads. Non-write-through writes are persisted to the local cache first. For SQL Server, writes are persisted to Azure Storage because it uses write-through. It also provides the lowest disk latency for light workloads.
195
+
-*ReadWrite*: This is a “read-ahead” algorithm. The reads and writes are cached for future reads. Non-write-through writes are persisted to the local cache first. It also provides the lowest disk latency for light workloads. Using ReadWrite cache with an application that does not handle persisting the required data can lead to data loss, if the VM crashes.
190
196
191
197
-*None* (disabled): By using this option, you can bypass the cache. All the data is transferred to disk and persisted to Azure Storage. This method gives you the highest I/O rate for I/O intensive workloads. You also need to take “transaction cost” into consideration.
192
198
193
199
**Recommendations**
194
200
195
-
To maximize the throughput, we recommend that you start with **None** for host caching. For Premium Storage, keep in mind that you must disable the "barriers" when you mount the file system with the **ReadOnly** or **None** options. Update the /etc/fstab file with the UUID to the disks.
201
+
To maximize the throughput, we recommend that you start with **None** for host caching. For Premium Storage, keep in mind that you must disable the "barriers" when you mount the file system with the **ReadOnly** or **None** options. Update the /etc/fstab file with the UUID to the disks.
196
202
197
203

198
204
@@ -202,12 +208,11 @@ To maximize the throughput, we recommend that you start with **None** for host
202
208
203
209
After your data disk setting is saved, you can't change the host cache setting unless you unmount the drive at the OS level and then remount it after you've made the change.
204
210
205
-
206
211
## Security
207
212
208
213
After you have set up and configured your Azure environment, the next step is to secure your network. Here are some recommendations:
209
214
210
-
-*NSG policy*: NSG can be defined by a subnet or NIC. It's simpler to control access at the subnet level both for security and force routing for things like application firewalls.
215
+
-*NSG policy*: NSG can be defined by a subnet or NIC. It's simpler to control access at the subnet level, both for security and force routing for things like application firewalls.
211
216
212
217
-*Jumpbox*: For more secure access, administrators should not directly connect to the application service or database. A jumpbox is used as a media between the administrator machine and Azure resources.
213
218

0 commit comments