Running Oracle EBS in The Cloud
Running Oracle EBS in The Cloud
in the cloud
ANDREJS PROKOPJEVS
Lead Applications Database Consultant
About me
@aprokopjevs
© 2016 Pythian 2
ABOUT PYTHIAN
© 2016 Pythian 3
TECHNICAL EXPERTISE Big Data: Harnessing the transformative
power of data on a massive scale
© 2016 Pythian 4
EXPERIENCED GLOBAL EXPERTS
11,800 400 2
Systems currently Pythian experts Millennia of experience
managed by Pythian in 35 countries gathered and shared over
19 years
© 2016 Pythian 5
THE TOP 1.5% GLOBALLY
Technical
Tests
Sent: 4062
Passed: 562
2015
Resumes
Reviewed: Job Offers
12,711 Made: 189
Accepted:
174
Behavioral
Interviews
Conducted:
394
© 2016 Pythian 6
We are hiring !!!
Please visit:
https://www.pythian.com/careers/
© 2016 Pythian 7
Agenda
• Certification basics.
• How to architect. Recommendations.
• Advanced configurations.
• R12.2.
• Microsoft Azure and Oracle Cloud review.
• Horizontal auto-scaling. Is this a supported configuration?
© 2016 Pythian 8
Certification basics
© 2016 Pythian 9
What is cloud?
• IaaS
• SaaS
• PaaS
© 2016 Pythian 10
What is cloud?
© 2016 Pythian 11
What is cloud?
• Pros
• You do not need to think about your hardware, it's support, electricity, UPS or cooler in your
data center room, more. This is your cloud service provider responsibility.
• Hardware pool - sharing and distribution of the load.
• Transparency.
• "Pay per use" model.
• No termination fees.
• Cons
• Security?
▪ Design wise
▪ Encryption
▪ Single Point of Disaster (AWS console)
• IAM
• Root account
• Possible network latency with cloud service provider. © 2016 Pythian 12
What is cloud?
• Public cloud
• Private cloud
• Hybrid cloud
© 2016 Pythian 13
Certification
• SaaS or PaaS
• Ready solution. You don’t need to think about it.
• Example: Amazon RDS (DBaaS).
• IaaS
• Same rules apply if that would be your local physical
hardware. No changes.
• You are The Captain of your ship. ;)
© 2016 Pythian 14
Licensing
• Licensing Mantra
• http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf
• AWS EC2, AWS S3, MS Azure.
• Customers are required to count each virtual core as equivalent to a physical core
▪ Database Standard Edition: <=4: vCore = processor licensed, >4: closest vCore multiple of 4 * 0.25 =
processors licensed
▪ Database Enterprise Edition: vCores * 0.5 = processors licensed (each virtual core is considered
equivalent to a physical core).
▪ Named User Plus
• Licensing models
• Pay per use rates, included in Cloud service provider pricing model (Amazon - only SE1 and
SE2)
• BYOL (Bring Your Own License)
• VMware – Sorry ! Nothing changed. You need to license the whole hardware pool.
• Quick overview
• AWS EC2
▪ Amazon RDS for Oracle - NOT supported !
▪ Sorry, only IaaS.
• MS Azure
▪ Only IaaS.
• Oracle Cloud
▪ Something special is there. But we’ll talk about it a bit later.
© 2016 Pythian 16
How to architect.
Recommendations.
© 2016 Pythian 17
Overview
© 2016 Pythian 18
Important !
• How you design it will be the way the system is going to run
© 2016 Pythian 19
#1: Network
• IP address
• Private IP addresses – dynamic. Can’t be reserved and may change during instance restart.
• Public IP addresses – dynamic, but a static IP address can be assigned via Elastic IP feature.
▪ Note: Public IP traffic is routed through the public internet.
• DNS
• By default provided by Amazon
• Each region has it’s own sub-domain
• Automatically updated via internal DHCP
▪ But contains Private IP address in the name: ec2-10-10-10-1.eu-central-1.compute.amazonaws.com
• Route 53
▪ Configure your own DNS
▪ Assign names to instances, not IP addresses
© 2016 Pythian 21
#2: Instances
• Instance types
▪ General purpose
▪ Compute optimized
▪ Memory optimized
▪ Storage optimized
▪ Accelerated Computing
© 2016 Pythian 22
#2: Instances
• Instance types #2
• On-Demand (default)
• Spot Instances
• Reserved Instances
• Dedicated Hosts
• Mainly affects pricing.
© 2016 Pythian 23
#2: Instances
• Example that can be used for your Oracle E-Business Suite
• Apps Tier: m3.xlarge
▪ 4 vCores
▪ 13 ECUs
▪ 15 GB Memory
• DB Tier: r3.4xlarge
▪ 16 vCores
▪ 52 ECUs
▪ 122 GB Memory
• Documentation reference.
• http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html
• Storage types
▪ Amazon EBS (Elastic Block Store).
• Standard SAN-like disk volumes. Can be mounted to one EC2 instance at a time.
• SSD: gp2, io1 (PIOPS). HDD: st1, sc1.
• Different Throughput and IOPS limits.
▪ Amazon EC2 Instance Store (Ephemeral)
• Local disks.
• IMPORTANT: All data is lost once Instance is stopped or restarted.
▪ New! Amazon EFS (Elastic File System)
• NAS analog from Amazon – NFS.
• Note: Not available yet in all regions.
▪ Amazon S3
• By default used for storing AMIs and Amazon EBS disk snapshots.
© 2016 Pythian 25
#3: Storage
• Example that can be used for your Oracle E-Business Suite
• Apps Tier file system
▪ Elastic File System is Preferable, if scale-out plans are there.
▪ Elastic Block Store – standard option for Single-Tier approach.
▪ Make your own “NAS server” instance, mount Amazon EBS disks, and export them via NFS.
▪ gp2 standard type is absolutely enough. Based on IO credits / burst
• DB Tier
▪ Elastic Block Store
▪ Local File-System or ASM.
▪ No universal recommendation on IOPS / throughput. You MUST test, benchmark, and evaluate your own
system performance per requirements.
▪ Hint: Database Smart Flash Cache feature can greatly improve your performance. Configure it on Instance
Store (Ephemeral) disks.
SQL> show parameter db_flash_cache
• gp2 / io1 based on 16KiB I/O size, st1 / sc1 based on 1 MiB
© 2016 Pythian 27
#4: IOPS
• Classical reaction after long reading of the
IOPS docs in different areas (EC2, EBS,
RDS).
• Experiment
• Benchmark
• Find better setup that will suit your needs
© 2016 Pythian 28
#5: Backup / Recovery
• Documentation reference.
• http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html
© 2016 Pythian 29
#6: Monitoring
• CloudWatch.
• https://aws.amazon.com/cloudwatch/
• Free:
• Very limited.
• Not-free:
• Complete monitoring solution for the instances.
• Alarms.
• SWS / SNS integration.
© 2016 Pythian 30
#7: Amazon RDS
• You can still use Amazon RDS for Oracle for other components.
• Oracle Fusion Middleware 12c
• Not supported with Oracle Fusion Middleware 11g, but with some “tweaks” you can still get
your Metadata Repository loaded into RDS instance.
▪ Main issue: no SYS as SYSDBA access. Replaced with ORACLE_MASTER and RDS PL/SQL API.
• Example:
• Oracle Access Manager and Oracle Internet Directory for Single Sign-On.
© 2016 Pythian 31
Advanced
configurations
© 2016 Pythian 32
#1: Oracle RAC
© 2016 Pythian 33
#2: Apps Multi-Tier / PCP
• No limits.
• Shared file-system can be implemented via EFS or own NFS solution.
• Or use non-shared file system approach using separate Amazon EBS volumes.
© 2016 Pythian 34
#3: External Tier
© 2016 Pythian 35
#4: SSL
© 2016 Pythian 36
#5: Integrations
• Example:
• Data Warehouse
• ETL
© 2016 Pythian 37
#6: Disaster Recovery
• Availability zones.
• Regions.
© 2016 Pythian 38
#7: Encryption
• Implement TDE.
• Amazon RDS for Oracle (not for Oracle Ebiz) also supports that.
© 2016 Pythian 39
R12.2
© 2016 Pythian 40
What is different with R12.2?
© 2016 Pythian 42
Microsoft Azure
• Same IaaS.
• In respect to Oracle E-Business Suite it has all main analogs available.
• Virtual Network
• Linux Virtual Machine support
• Load Balancing
• Storage
• Site Recovery
• more
© 2016 Pythian 44
Oracle Public Cloud
© 2016 Pythian 46
That’s it about Oracle Public Cloud
• It’s still too early to tell anything interesting with technically proven stuff.
• No real implementation production experience.
• Information is still being released and published.
• Follow:
• https://www.facebook.com/groups/EBS.SysAdmin/
• https://twitter.com/Oracle_EBS
• Getting Started with Oracle E-Business Suite on Oracle Cloud (Doc ID 2066260.1)
© 2016 Pythian 48
What is scaling?
• Vertical scaling
• Increase of the compute resources
▪ Change instance type with more RAM, more
CPU power
• Might dramatically increase your cost
• Still has limits. J
© 2016 Pythian 49
What is scaling?
• Horizontal scaling
• Increase of the compute resources
▪ Add more nodes
• Flexibility
© 2016 Pythian 50
Challenge
• Vertical scaling
• No issues. Just go and tune the instance.
• Horizontal scaling
• Manual effort with “perl adclonectx.pl addnode”.
▪ Find the best combination of pairs file to minimize post manual correction of the context file and instance
configuration.
• Business case:
• As for a simple web-server we would like to automatically add web nodes on-demand, if
existing stack is overloaded.
• What can happen when we start a new node created from AMI?
• We can put a custom first-boot shell script which will handle certain actions.
• cloud-init standard method.
▪ By default, user data and cloud-init directives only run during the first boot cycle when you launch an
instance.
• Limits
© 2016 Pythian 53
Adding a new Web Node
• OS setup
• Software, kernel, limit configuration is coming from created private AMI.
• Hostname.
▪ We need to generate a unique hostname, set it on the server, DNS, update /etc/hosts (R12.2).
• Mount the Apps Base storage layer.
• Apps setup
• Generate required pairs file.
• perl adclonectx.pl addnode
• Run AutoConfig on all existing nodes. Or, at least, “generatetns” step.
• Optional: if sqlnet.ora tcp.invited_nodes restrictions are enabled, “lsnrctl reload
LISTENER_NAME” has to be issued on all existing nodes.
• Optional: any custom post configuration
• Service restart on new created node.
• Elastic Load Balancer – automatically.
• Will enable the node once the TCP socket ping succeeds.
© 2016 Pythian 54
Removing a Web Node
• Instance termination
• Elastic Load Balancer will drop the removed instance from it’s configuration
automatically.
• Apps setup
• Master node to trigger the node deletion process.
• R12.1
▪ No process of node deletion.
▪ Concurrent Service Managers configured for new node can be just disabled from back-end.
▪ OAM dashboard – sorry, you can’t avoid the red status there.
▪ File system cleanup.
• R12.2
▪ Abandon the node.
▪ perl $AD_TOP/patch/115/bin/adProvisionEBS.pl ebs-delete-node
▪ Optional: “txkSetAppsConf.pl -configoption=removeMS” on existing nodes if OHS is pointed to all
WebLogic nodes in the cluster, including the removed one.
▪ File system cleanup.
© 2016 Pythian 55
Re-use of a removed Web Node
• What if we do not want to generate new unique node names every time, and just
reuse the same integers available?
• R12.1
• Easy. But we should not delete the INST_TOP then.
• Re-enable the Concurrent Service Managers.
• Just launch the instance, configure the OS part, and restart the services.
• R12.2
• Abandoned node – only a complete re-add. Even if we do not delete the node and do not
delete the file system content.
© 2016 Pythian 56
Periodic housekeeping
• Once you have a downtime window, it’s worth to go through “setup_clean” process
to have everything re-registered clean and drop garbage.
© 2016 Pythian 57
R12.2 considerations
• But what happens if we scale-out or scale-in during an open ADOP online patch
cycle?
• It worked during a test case. But I wouldn’t give a 100% guarantee that all is going to be good
during the next cutover. I was lucky.
• Scale-in process is Abandon process. It is handled during the cycle correctly.
• And what can happen if we do all these our activities during a real phase execution,
like cutover?
• Not tested, but expect everything will break in a quite major manner.
• CloudWatch doesn’t know anything about what’s going on in Oracle EBS.
• Maybe Auto-Scale group should be disabled during these maintenance activities.
© 2016 Pythian 58
Summary
© 2016 Pythian 59
THANK YOU
Q&A
© 2016 Pythian 60