[go: up one dir, main page]

0% found this document useful (0 votes)
63 views35 pages

Best Practices For Oracle Ex A Data Cloud Deployments

The document outlines best practices for deploying Oracle Exadata Cloud, emphasizing the importance of selecting the right Maximum Availability Architecture based on service level agreements and business factors. It provides guidance on configuration best practices, including the use of Exachk for health checks, and tips for cloud lifecycle operations to ensure optimal performance and minimize downtime. Key recommendations include careful sizing, planning, and utilizing automated migration tools to facilitate a smooth transition to cloud environments.

Uploaded by

luh.rembulan25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views35 pages

Best Practices For Oracle Ex A Data Cloud Deployments

The document outlines best practices for deploying Oracle Exadata Cloud, emphasizing the importance of selecting the right Maximum Availability Architecture based on service level agreements and business factors. It provides guidance on configuration best practices, including the use of Exachk for health checks, and tips for cloud lifecycle operations to ensure optimal performance and minimize downtime. Key recommendations include careful sizing, planning, and utilizing automated migration tools to facilitate a smooth transition to cloud environments.

Uploaded by

luh.rembulan25
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Best Practices for Oracle

Exadata Cloud Deployments

Copyright © 2020 Oracle and/or its affiliates.


Safe Harbor

The preceding is intended to outline our general product direction. It is intended for information purposes
only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code,
or functionality, and should not be relied upon in making purchasing decisions. The development,
release, timing, and pricing of any features or functionality described for Oracle’s products may change
and remains at the sole discretion of Oracle Corporation.

Statements in this presentation relating to Oracle’s future plans, expectations, beliefs, intentions and
prospects are “forward-looking statements” and are subject to material risks and uncertainties. A detailed
discussion of these factors and other risks that affect our business is contained in Oracle’s Securities and
Exchange Commission (SEC) filings, including our most recent reports on Form 10-K and Form 10-Q
under the heading “Risk Factors.” These filings are available on the SEC’s website or on Oracle’s website
at http://www.oracle.com/investor. All information in this presentation is current as of September
2019 and Oracle undertakes no duty to update any statement in light of new information or future events.

Copyright © 2020 Oracle and/or its affiliates.


Agenda

• Oracle Exadata Cloud Overview


• Selecting the Cloud MAA Architecture
• Oracle Exadata Cloud Configuration Best Practices
• Cloud MAA Life Cycle Operations: Tips and Pointers

Copyright © 2020 Oracle and/or its affiliates. 3


Best Practices for Oracle Exadata Cloud
Deployments

Oracle Exadata Cloud


Overview

Copyright © 2020 Oracle and/or its affiliates. 4


Oracle Exadata Advantage

Ideal Database Hardware


Leading edge enterprise-grade
components for maximum
performance and value
Automation
Automated infrastructure
integrated with Oracle
Autonomous Database
Smart System Software
Database-aware algorithms
vastly improve the effectiveness
of ALL workloads

Best Database Platform: Identical On-Premises and Cloud


Copyright © 2020 Oracle and/or its affiliates. 5
Oracle Exadata Cloud Offerings
Flexible Exadata Cloud at Customer
Subscription
Model In Data Center of
Customer’s Choice
Database
PaaS Services

Secure
Virtual
Networks
Cloud Exadata Public Cloud Service
Security and In Oracle Public
Hardening
Cloud Data
Oracle- Centers
Managed
Core Exadata Exadata
Platform Infrastructure

Copyright © 2020 Oracle and/or its affiliates. 6


Gen 2 Exadata Cloud at Customer
• Gen 2 public cloud manages Gen 2 Exadata Cloud at Customer
Public – Eliminates additional control plane rack in customer data center
Cloud UI and
Management – Simpler, lower cost, faster time to value
Secure • New Exadata Cloud at Customer X8 hardware
Tunnel
– Faster CPUs, more cores, more storage than ExaCC X7
• Simpler connectivity to customer network
– Adapts to customer networking standards and requirements
• Now supports Oracle Database 19c
– Long-term support for the 12.2 family
Customer Data Center • Ready for Autonomous Database at Customer
Runs the best database on the best platform in the best Cloud in your data center
Copyright © 2020 Oracle and/or its affiliates. 7
Best Practices for Oracle Exadata Cloud
Deployments

Selecting the Right


Maximum Availability
Architecture for Exadata Cloud

Copyright © 2020 Oracle and/or its affiliates. 8


What Are Your Service Level Agreements
and Business Factors?
Impact of Downtime Downtime (RTO) Data Loss (RPO) MAA Architecture

Cost of downtime How much downtime before How much data can I lose Pick the architecture that
- Business/Market Share serious business impact? before the business suffers fits your needs.
- For planned irreparable damage? - Any environmental
- Application or Database
maintenance? restraints?
- Consolidated set of
applications or - for Local Failures? - Application needs to be
databases - for Disasters and close to the database
Corruptions? - Specific region or
location
- Network latency and
bandwidth requirements

Copyright © 2020 Oracle and/or its affiliates. 9


Oracle Maximum Availability
Architecture(MAA) Solution Options

Copyright © 2020 Oracle and/or its affiliates. 10


BRONZE Primary Availability Domain
Single
Secondary Availability Domain

Instance or
Dev, Test, Prod - Single Instance or
Multitenant
Multitenant Database with Backups
Database

ExaCC/ Cloud Backup Replicated


• HA infrastructure for storage and Backups
ExaCS
network
• Single Instance with Clusterware HA


Management
MAA cloud backup/restore
Outage Matrix
• Cloud object storage backups Unplanned Outage RTO / RPO Service Level Objectives (f1)
with copy across AD for public Recoverable node or instance failure Minutes (f2)
cloud
• ZDLRA with incremental forever Disasters: corruptions and site failures Hours to days. RPO since last backup or
and near zero RPO for Exadata near zero with ZDLRA
Cloud@Customer
Planned Maintenance
• Multitenant Database/Resource Mgmt
with PDB features Software/hardware updates Minutes (f2)
• Online Maintenance Major database upgrade Minutes to hour
• Some corruption protection
f1 : RPO=0 unless explicitly specified
• Flashback technologies f2 : Exadata systems has RAC but Bronze Exadata configuration with Single Instance
database running with Oracle Clusterware has highest consolidation density to reduce
Copyright © 2020 Oracle and/or its affiliates. costs 11
SILVER Primary Availability Domain
RAC or RAC
Secondary Availability Domain

Prod/Departmental One Database

Bronze +
ExaCC/ Cloud Replicated
• Real Application Clustering (RAC) ExaCS Backup Backups
• Application Continuity

Outage Matrix
Unplanned Outage RTO/RPO Service Level Objectives(f1)
Recoverable node or instance failure Single digit seconds (f2)

Disasters: corruptions and site failures Hours to days. RPO since last backup
or near zero with ZDLRA
Planned Maintenance
Software/Hardware updates Zero (f2)
Major database upgrade Minutes to hour
f1: RPO=0 unless explicitly specified
Copyright © 2020 Oracle and/or its affiliates. f2: To achieve zero downtime or lowest impact, apply application checklist best practices 12
GOLD Primary Region
AD2 AD1
Secondary Region

Mission Critical

Silver +
• Active Data Guard
• Comprehensive Data Protection Cloud Local Remote Cloud
Primary backup
backup Standby Standby

MAA Architecture:
• Minimum one standby either Outage Matrix
across AD or region. Unplanned Outage RTO/RPO Service Level Objectives (f1)
• ExaCC/ExaCS primary in one data
Recoverable node or instance failure Single digit seconds (f2)
center(or AD) replicated to a
standby ExaCC/ExaCS in another Disasters: corruptions and site Seconds to 2 minutes. RPO zero or
data center
failures seconds
• Local backups on both sites
Planned Maintenance
Software/Hardware updates Zero (f2)
Major database upgrade Less than 30 seconds
f1: RPO=0 unless explicitly specified
Copyright © 2020 Oracle and/or its affiliates. f2: To achieve zero downtime or lowest impact, apply application checklist best practices 13
PLATINUM Primary Region Secondary Region
AD2 AD1 AD1 AD2
Extreme Critical
GG
Replication
Gold +
• GoldenGate Active/Active
Replication
• Optional Editions Based Cloud Cloud
Redefinition backup Standby Primary Primary Standby backup
MAA Architecture:
• Each GoldenGate “primary” replica
protected by Exadata, RAC and
Outage Matrix
Active Data Guard Unplanned Outage RTO/RPO Service Level Objectives (f1)
• ExaCC/ExaCS primary in one data Recoverable node or instance failure Zero or single digit seconds (f2/f3)
center (or AD) replicated to another
primary ExaCC/ExaCS in remote Disasters including corruptions and site Zero (f3)
data center (or AD) failures
• Oracle GG & Edition-based
Redefinition (EBR) for zero Planned Maintenance
downtime application upgrade Most common software/hardware updates Zero (f2)
• Local/cloud backups on both sites Major database upgrade, application upgrade Zero (f3)
• To achieve zero downtime, custom
failover to available GG replica
f1: RPO=0 unless explicitly specified
required f2: To achieve zero downtime or lowest impact, apply application checklist best practices
14
Copyright © 2020 Oracle and/or its affiliates. f3: Application failover is custom or with Global Data Services
MAA Database Deployment in the Cloud
• Simple UI / CLI / REST interfaces being configured for MAA topologies
• Databases are provisioned with MAA parameter configurations
• MAA made easy in the Cloud
• Oracle Cloud Infrastructure (or) Cloud at Customer

FSFO

Region #1

AD #1
PLATINUM (HA)
GOLD (DR)
Primary
GG replication
SILVER (HA)

FSFO
BRONZE

Region #2

AD #2
Single DB Backup DB Backup
Service RAC
Instance Service Standby Primary Standby

Copyright © 2020 Oracle and/or its affiliates. 15


Best Practices for Oracle Exadata Cloud
Deployments

Oracle Exadata Cloud


Configuration Best Practices

Copyright © 2020 Oracle and/or its affiliates. 16


Oracle Exadata Cloud Best Practices –
In the Cloud, ExaCS and ExaCC are Deployed with Exadata and MAA Best
Practices
- Exadata Cloud deployment has built-in Exadata and MAA best practices
- Exachk –profile exatier1 is near 100% after deployment today

- Refer to Oracle Exadata Database Machine exachk or HealthCheck (Doc ID


1070954.1)
- Exachk –profile exatier1 for initial deployment and before/after planned maintenance
- Exachk full checks monthly – comprehensive checks including lower priority alerts/warnings

Copyright © 2020 Oracle and/or its affiliates. 17


Best Practices for Oracle Exadata Cloud
Deployments

Cloud MAA Life Cycle


Operations:
Tips and Pointers

Copyright © 2020 Oracle and/or its affiliates. 18


Cloud Tip 1 : Sizing, Planning and Deployment
“Avoid Outages and Poor Performance”

Understand your Determine all Pick the correct Work with Oracle
requirements databases to be Exadata shape Sales or Pre-Sales
consolidated based Consultant
1. Database CPU Including
on requirements
processing Test/Dev
2. Database Memory* Environments
3. Database Storage
capacity and *No oversubscription of memory and storage capacity
throughput* * Performance impact when oversubscribing CPU and storage
throughput limits

Copyright © 2020 Oracle and/or its affiliates. 19


Cloud Tip 2: Cloud Database Creation and
Deployment Success Factors
Creating Cloud databases with Exadata and MAA templates
1. Install latest cloud software which includes dynamic hugepage adjustments
2. Use only cloud console or cloud APIs to create databases to leverage Exadata MAA database
defaults
3. Change memory and performance settings for the application
4. Monitor hugepages and memory to accommodate all database and ASM SGAs for each node

AVOID!!!
1. DBCA or your custom create database scripts
2. Inherent your existing initialization parameters (with undoc parameters, arbritary tracing and
settings that you don’t even remember what is used for)
3. No ACFS for database, backup, DB/GI software, diagnostic_dest, ORACLE_BASE,
audit_file_dest
20
Copyright © 2020 Oracle and/or its affiliates.
Cloud Tip 3: Use ZDM for Database
Migration to Cloud
Tip 3a: Use ZDM for automated physical Tip 3b: Use MV2OCI for automated
migration logical migration
• Backup/Restore for Instantiation • MV2OCI and MV2ADB uses Data Pump to
instantiation and to re-optimize data
• Encryption conversion can happen in cloud • Complete orchestration, prechecks and cloudify
without impacting on-premise
• Encryption conversion will happen in the cloud
• Data Guard switchover reduces downtime without impacting on-premise

• Refer to www.oracle.com/goto/zdm for demo • ZDM integration coming soon


and documentation • GoldenGate solution reduces downtime
• Refer to MAA practices for ZDM MAA MOS • Oracle Database Migration with an Oracle
2562063.1 GoldenGate Hub Configuration
Future ZDM solution with GoldenGate.
• Evaluate network bandwidth prior to migration

with MOS 2064368.1 • GoldenGate restrictions still applicable

Copyright © 2019 Oracle and/or its affiliates. 21


Zero Downtime Migration
Workflow

Data Guard
Switchover
• When ready, Data Guard
Switchover with seconds to
minutes of downtime
Application • Database is registered as new
Application cloud database so cloud life cycle
operations can be enabled

SQLnet
• Application from on-premise or in
the cloud connects to new
Primary in the cloud
SSH SSH
ZDM

Copyright © 2020 Oracle and/or its affiliates. 22


Cloud Tip 4: Prepare for Cloud
Infrastructure Software Updates
“Oracle manages infrastructure software updates”
• Exadata Network and Storage
• Zero database or minimum application impact
• During window, reduce maximum IO throughput

• Exadata Dom0 updates should occur quarterly


• Zero database downtime with RAC Rolling
• Service drain is automatic
• Zero application downtime if Continuous Availability - Application Checklist for Continuous
Service for MAA Solutions and MOS 2385790.1 practices
• During window, prepare for reduced DB compute processing

Copyright © 2020 Oracle and/or its affiliates. 23


Cloud Tip 5: Prepare for DB Quarterly
Software Updates
• Customer is responsible for DB Quarterly Software Updates to maintain stability and security compliance
• Zero database downtime with RAC rolling
• Zero application downtime only if Continuous Availability - Application Checklist for Continuous Service for MAA Solutions
is followed. During window, prepare for reduced DB compute processing.
• Key Practices for Success
• Prerequisites completed prior to planned maintenance window:
• Create software plan (target release + one-off, evaluate test/uat, then standby and then primary)
• dbaascli DATABASE MOVE for primary and standby, out-of-place, apply one-offs beforehand, and simpler fallback.
• dbaascli PATCH DB if you want to patch subset of nodes or you want to patch a lot of databases on the same OH with one command
• Download latest tools (dbaascli patch tools apply --patchid LATEST)
• Create new DB Home using cloud tooling
• Apply interim patches to new database home, as required
• Run database move precheck
• Run exachk –profile exatier1

• During patching:
• Dbaacli database move –dname <dbname> -home <oracle_home>
• only run datapatch after all databases in DG environment is patched

Copyright © 2020 Oracle and/or its affiliates. 24


Cloud Tip 5b: Prepare for GI Quarterly
Software Updates
• Customer is responsible for GI Quarterly Software Updates to maintain stability and security compliance
• Zero database downtime with RAC rolling
• Minimum application downtime only if Continuous Availability - Application Checklist for Continuous Service for MAA
Solutions is followed. GI software updates do NOT drain the service today except in the case with Autonomous
• During window, prepare for reduced DB compute processing
• Key Practices for Success
• Prerequisites completed prior to planned maintenance window:
• Create software plan with latest cloud doc
• Download latest tools (dbaascli patch tools apply --patchid LATEST)
• Run GI patch precheck (dbaascli patch db prereq --patchid <patchid> --dbnames grid)
• exachk –profile exatier1

• During patching:
• dbaascli patch db prereq --patchid <patchid> --dbnames grid
• Patching the Grid infrastructure is a RAC rolling operation which will stop all database instances on a node that at the time it is
being patched.

Copyright © 2020 Oracle and/or its affiliates. 25


Cloud Tip 6: Prepare for Exadata Quarterly
Software Updates
• Customer responsible for Exadata operating system software updates
• Zero database downtime with RAC rolling
• Zero application downtime only if Continuous Availability - Application Checklist for
Continuous Service for MAA Solutions is followed. Service drain is incorporated
• During window, prepare for reduce DB compute processing
• Key Practices for Success
• Updating an Exadata DB System (OS Updates)
• How to update the Exadata System Software (DomU) to 19c from 18c on the Exadata
Cloud Service in OCI (Doc ID 2521053.1)
• How to update the Exadata System Software (DomU) on the Exadata Cloud Service in
OCI (19.x to 19.x) (Doc ID 2566035.1)

WARNING: Avoid customizations since they will need to be removed prior to software update and added back afterwards

Copyright © 2020 Oracle and/or its affiliates. 26


Cloud Tip 7: Use MAA Cloud
Backup/Restore Best Practices
• Cloud MAA practices integrated with automatic backup and latest tooling
• Refer to Oracle Cloud Infrastructure Exadata Backup & Restore Best Practices using Cloud Object
Storage
• Use cloud backup APIs and use ZDLRA for Exadata Cloud@Customer
• Customizing Backup Settings by Using a Generated Configuration File
• Pick least intrusive backup start time (bkup_daily_time)
• For cloud object storage, pick the day you want to level 0 backup (bkup_oss_L0_day)
• All other defaults are good
• Increase RMAN parallelism (bkup_channels_node=4 default) if current backup/restore rate is not
acceptable (e.g. 2.1 TB/hour observed). Disable RMAN compression if database uses a lot of
HCC compression
• Periodic restore test is recommended
Copyright © 2020 Oracle and/or its affiliates. 27
Backup and Restore Performance Improvements

Default: 2 TB/hr
Tuned: 8.31 TB/hr

Default: 2.8 TB/hr Tuned: 8 TB/hr


Default: 18 TB/hr Oracle MAA Best Practices for Oracle Cloud Backups

Copyright © 2020 Oracle and/or its affiliates. 28


Cloud Tip 8: Leverage Exadata Health
Checks and Integrate Monitoring and Alerting
• Real Time Monitoring and Monthly Health Checks keep the Exadata Cloud system healthy
and sound
• Oracle Exadata Database Machine exachk or HealthCheck (Doc ID 1070954.1)
• Execute monthly and address FAILURES and WARNINGS
• Use Enterprise Manager
• Deploy EM agents in each database server (DomU)
• Monitor cluster, ASM, and database
• Refer to Oracle Enterprise Manager for Exadata Cloud, Exadata Health and Resource
Utilization Monitoring - Exadata Database Machine KPIs and Exadata Health and
Resource Utilization Monitoring - Adaptive Thresholds
• Use Cloud Console to monitor overall state of your cloud targets
Copyright © 2020 Oracle and/or its affiliates. 29
Cloud Tip 9: Use Data Guard and
GoldenGate for Gold and Platinum MAA
• Data Guard cloud solution
• Essential for Mission Critical (Gold and Platinum) for Enterprise Database
• Offload reporting, auto block repair for data corruptions, comprehensive data protection, HA/DR

• Data Guard Cloud Updates


• ExaCS/ExaCC Gen1: Data Guard full support with cloud console and API
• ExaCC Gen2 and Hybrid Data Guard: Manual Data Guard setup
• Primary and Standby are Symmetric
• DG Cloud functionality includes MAA config, DG role transitions, Monitoring

• GoldenGate cloud solution


• Essential for Platinum and Zero Downtime Migration and Upgrade
• New: Part I Getting Started with Oracle GoldenGate on Oracle Cloud Marketplace
• New: OOW 2019 Presentation: Oracle MAA for Oracle Database, Exadata, and the Cloud
30
Copyright © 2020 Oracle and/or its affiliates.
Data Guard Cloud Support Matrix
Data Guard in the ExaCS ExaCC Gen1 ExaCC Gen 2 Autonomous DB Hybrid to BM/VM, ExaCS or
cloud ExaCC
Console Deployment Yes Yes Planned Planned No

DBaaS API support Yes Yes Planned Planned No

Role Console and Console and Planned Planned Manual w/ Data Guard
Transition/Reinstate dbaascli dbaascli Broker
Monitoring (no cross region)

Cloud DG Doc ExaCS Data Guard ExaCC Gen1 Data Use ExaCS Hybrid N/A • OCI BM/VM Hybrid -
Doc Guard Doc Paper to set up MAA Whitepaper
Data Guard but • ExaCC Gen1 - MAA
limited cloud life Whitepaper
cycle support • ExaCS & ExaCC Gen 2 -
MAA Whitepaper

31
Copyright © 2020 Oracle and/or its affiliates.
Oracle GoldenGate for Exadata Cloud
Oracle GoldenGate is fully supported in Oracle cloud for DBaaS, ExaCS, and ExaCC. Migrating a database using
GoldenGate to Autonomous database is possible today. Refer to Oracle GoldenGate Cloud Service:
https://docs.oracle.com/en/cloud/paas/goldengate-cloud/index.html
Oracle GoldenGate deployment can use GoldenGate on OCI Marketplace to install and deploy GoldenGate in a
separate cloud system resource to offload GoldenGate software maintenance and configuration from source and
target Exadata servers. This “GoldenGate Hub” can be used for migration or replication purposes
Oracle GoldenGate can be deployed and configured on source or target database server on DBaaS, ExaCS and
ExaCC. Refer to https://docs.cloud.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/oracle-
goldengate-microservices-architecture-on-oci.pdf Key points for this type of deployment are the following
• Use ACFS or DBFS for GoldenGate files
• Install latest GoldenGate software locally on all nodes and ensure the directory is the same in all nodes
• Install Oracle Grid Infrastructure Bundled Agents for GoldenGate
• Use GoldenGate Microservices
• For all GoldenGate license questions, refer to http://aseng-
wiki.us.oracle.com/asengwiki/display/GoldenGate/GoldenGate+on+OCI+Marketplace+FAQs

32
Copyright © 2020 Oracle and/or its affiliates.
Cloud Tip 10: 19c GI and Database is Strategic

• Database 19c is the most current long term supported release.


• Refer to Release Schedule of Current Database Releases (Doc ID 742060.1)
• Supported until 2023 and with extended support until 2026
• 11.20.4 and 12.1.0.2 support ended. 12.2.01 support ends late 2020. 18c in mid 2021.

• Today
• All new Exadata Cloud Deployments have 19c Grid Infrastructure
• All Exadata Cloud Systems can create new 19c database or new 19c Database home
• Patching existing 19c Databases and Grid Infrastructures is possible

• New/Pending
• Upgrading to 19c Oracle Grid Infrastructure on Exadata Cloud Service (Doc ID 2624992.1)
• Upgrading to 19c Oracle Database on Exadata Cloud Service

Copyright © 2019 Oracle and/or its affiliates. 33


Final Tip: Leverage Cloud Documentation
and MAA Cloud OTN Collateral
Refer to MAA Cloud OTN
• https://www.oracle.com/database/technologies/high-availability/oracle-cloud-maa.html
• Oracle Cloud: Maximum Availability Architecture Presentation
• OOW 2019 Presentation: Maximum Availability Architecture - Best Practices for the Oracle Cloud
• OOW 2019 Presentation: Oracle MAA for Oracle Database, Exadata, and the Cloud
• OOW 2019 Presentation: Best Practices for Oracle Exadata Cloud Deployments
• Continuous Availability - Application Checklist for Continuous Service for MAA Solutions
• Oracle GoldenGate Microservices Architecture on Oracle Cloud Infrastructure
• Oracle Cloud Infrastructure Exadata Backup & Restore Best Practices using Cloud Object Storage
• Hybrid Data Guard (new and updated)
• Hybrid Data Guard to Exadata Cloud Services - Production Database on Premises and Disaster Recovery with Exadata Cloud
• Hybrid Data Guard to ExaCC Production Database on Premises and Disaster Recovery on Exadata Cloud@Customer
• Hybrid Data Guard to Exadata Cloud Services - Production Database on Premises and Disaster Recovery with Exadata Cloud Gen 2

Refer to Exadata Cloud Documentation


• Exadata OCI: https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/exaoverview.htm
• Exadata Cloud@Customer: https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/eccoverview.htm
• Exadata Autonomous Database: https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/adboverview.htm

Copyright © 2019 Oracle and/or its affiliates. 34

You might also like