Amazon RDS Oracle Best Practices
Agenda
• Quick introduction to Amazon RDS for Oracle
• RDS Oracle Licensing
• RDS Oracle Use Cases
• RDS Oracle Security Best Practices
• RDS Oracle Performance Best Practices
• RDS Oracle Management Best Practices
• RDS Oracle Data Migration Best Practices
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
you
App optimization
What is Amazon RDS?
What is Amazon RDS?
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
Scaling
High availability
DB s/w installs
OS installation
you
App optimization
What is Amazon RDS?
Power, HVAC, net
Rack & stack
Server maintenance
OS patches
DB s/w patches
Database backups
App optimization
High availability
DB s/w installs
OS installation
you
Scaling
Why Amazon RDS for Oracle?
• Deploy multiple editions of Oracle 11g in minutes
• Realize up to 25,000 IOPS
• Get a high-availability Oracle solution without Enterprise Edition
• Choice of Pay-as-You-Go or License Included model brings
flexibility
• Use AWS Enterprise Support or Oracle support
• Support for Oracle GoldenGate enables multi-master configurations
Oracle
Licensing and Support
Processor & socket licensing
0.25 core multiplier for standard
licenses (sockets)
0.5 core multiplier for
enterprise licenses (processor)
BYOL
• Enterprise license agreement
• Unlimited license agreement
• Oracle partner network
• BPO license
• Oracle Technology Network
Pay-as-you-go
• RDS for Oracle SE One
Oracle Licensing Options License Included Bring-Your-Own-License
Standard Edition One
Standard Edition
Enterprise Edition
Amazon RDS Oracle – Licensing & Pricing Options
Oracle Pricing Options Contract Pay Per Hour License
Included Bring Your
Own License Multi AZ
On-Demand No contract
Reserved Instances 1 year or 3 year
options
Licensing Options:
Pricing Options:
Production Instances of
Enterprise Applications
Development and Test
Instances for Enterprise and
custom applications
Replica of Production for
reporting and BI/DW feed.
Training, POC, Sandbox,
Patch Testing and
debugging instances
Disaster Recovery Site on
AWS
Custom Developed
Applications
Customer use cases for RDS Oracle
Amazon RDS - Great fit for Enterprise Application
Delivers Enterprise Application needs and wants
• Fully managed database engines that are commonly used for
Enterprise Applications.
• High-Availability and transparent failover
• Enterprise class performance and easy scalability
• Automated backups and easy replication
• Rapid provisioning and deployment
• Automation support with APIs and CloudFormation scripts
• Low-touch management/administration
Enterprise Application AWS customers use with RDS
• PeopleSoft
• JD Edwards
• Siebel
• ATG Web Commerce
• Jaspersoft
• SugarCRM
• Alfresco
Enterprise Application HA Architecture
RDS Oracle Best Practices
RDS Oracle Security Best Practices
• Individual IAM account to each person who manages RDS
resources. Do not use AWS root credentials.
• Do not use master user for application db access, create
separate accounts
• Put your RDS Database instance in a private subnet of a VPC
• Be careful with Security Group setting, never use 0.0.0.0/0
RDS Performance Best Practices
• Choose the right size instance for your workload
• Always go with PIOPS
• Monitor database alert logs for critical issues
• Don’t leave invalid database objects in the database
• Provision enough storage to host archive logs before they are
backed up and deleted.
• Scaling storage and PIOPS are time consuming so plan
accordingly.
• Scaling instance requires outage (if not using Multi-AZ)
RDS Management Best Practices
• Always schedule backups
• Create snapshots on a regular basis
• Use the familiar Oracle EM DB Console at :1158/em
• Use CloudWatch alerts to always keep an eye on the instance
with alerts
• If you need to use third party monitoring tools use agentless tools
Data Migration to RDS Oracle
General Considerations
• Number of databases, data sizes
• Data types, character sets
• Data transfer mechanism
• Connected Apps, DB links
• Network accessibility, bandwidth, latency
• Acceptable downtime
One-Time Migration
• Copy entire database to Amazon RDS
Use cases
– Migrate prod to Amazon RDS
– Build POCs, pilots
– First step before replicating databases
RDS Pre-Migration Steps
• Stop applications accessing the DB
• Take a snapshot
• Disable backups
• Use Single-AZ instances
• Optimum instance for load performance
• Configure security for cross-DB traffic
For Small Dataset, one time load
• Oracle Import/Export
• Oracle Data Pump network mode
• Oracle SQL*Loader
• Oracle materialized views
For Large Dataset, one time load
• Oracle Data Pump Export and Import
Migration Process
Data Pump Export
• Reduce the data set to optimal size, avoid indexes
• Use compression and parallel processing
• Use multiple disks with independent I/O
Optimize Data Upload
• Use Tsunami for UDP-based file transfer
• Use large Amazon EC2 instance with SSD or PIOPS volume
• Use multiple disks with independent I/O
• You could use multiple Amazon EC2 instances for parallel upload
Data File Upload to RDS
• RDS DB instance has an externally accessible Oracle Directory Object
DATA_PUMP_DIR
• Use a script to move data files to Amazon RDS DATA_PUMP_DIR
• Use the largest Amazon RDS DB instance possible during the import
process
• Avoid using Amazon RDS DB instance for any other load during this
time
• Provision enough storage in the Amazon RDS DB instance for the
uploaded files and imported data
Import data into the RDS
• Import from within Amazon RDS instance using
DBMS_DATAPUMP package
• Submit a job using PL/SQL script
Periodic Migration
• Copy changes to Amazon RDS
• Use cases – Delta refresh for prod migration
– Daily refresh for non-prod, reporting
Ongoing Replication
• Log shipping
• Transactional replication
• Use cases – Near-zero downtime migrations
– Query offloading, BI/reporting
– Data protection, disaster recovery
Oracle GoldenGate
• Oracle product for real-time data integration and
replication
– Log-based change data capture
– Transaction-safe bidirectional replication
• Works with Amazon RDS for Oracle
– Migration into and out of RDS Oracle
– Providing a readable secondary for read offloading
– Master-master replication
GoldenGate Replication with RDS Oracle
GoldenGate Oracle
GoldenGate Oracle
GoldenGate GoldenGate
On-premises Oracle to RDS/Oracle Oracle in EC2 to RDS/Oracle
RDS/Oracle to RDS/Oracle
(same AWS Region)
RDS/Oracle to RDS/Oracle
(different AWS Region)
Getting started with GoldenGate
• Obtain license from Oracle – “Bring-Your-Own-License” model only
• Run the GoldenGate Hub on a correctly sized EC2
Instance
• Enable supplemental logging on source database
• Configure source to retain redo logs
• Use the Extract and Replicat utilities provided by Oracle
GoldenGate
RDS Post-migration Steps
• Turn on backups
• Turn on multi-az
• Create read replicas
• Tighten down security
• Notifications via Amazon CloudWatch, DBEvents