Oow2018 Plannedmaintenance
Oow2018 Plannedmaintenance
1 Continuous Availability
2 Are your building blocks in place?
3 Automating Maintenance
4 Patching OJVM
5 Customer Story - Epsilon
Which Server Stack for me? • RAC or RAC One, Active Data Guard, GoldenGate, GDS
• Relocate service
srvctl relocate service –db .. -service .. –oldinst .. –newinst
srvctl relocate service –db .. -service .. –currentnode.. –targetnode
• IBM WebSphere
• Apache Tomcat
• NEC WebOTX
• Red Hat JBoss
• Spring
FANwatcher
..
VERSION=1.0 event_type=SERVICEMEMBER service=orcl_swing_pdb2 instance=orcl1 database=orcl
db_domain= host=sun01 status=down reason=USER timestamp=2014-07-30 12:02:51 timezone=-07:00
VERSION=1.0 event_type=SERVICEMEMBER service=orcl_swing_pdb10 instance=orcl1 database=orcl
db_domain= host=sun01 status=down reason=USER timestamp=2014-07-30 12:02:52 timezone=-07:00
VERSION=1.0 event_type=SERVICE service=orcl_swing_pdb10 database=orcl db_domain= host=sun01
status=down reason=USER
Plan B
Application or
mid-tier tests The application “tests” the
connections
connection
Database responds connection is
bad
Database marks New work continues on another
sessions to drain connection
Stop or relocate services/PDBs
Tip: enable in
DBMS_APP_CONT
view in DBA_CONNECTION_TESTS
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 19
TIP: Enable Connection Tests for Application Servers
Application Server Test Name Connection Test to DB
TestConnectionsOnReserve isUsable
Oracle WebLogic –
Generic & Multi data sources TestConnectionsOnCreate SQL – SELECT 1 FROM DUAL
TestonBorrow
Apache TomCat SQL - SELECT 1 FROM DUAL
TestonRelease
TestConnectionsOnReserve
eBusiness Suite Connection borrowed from Weblogic
with "BEGIN NULL; END;"
TestConnectionsOnReserve
Connection returned to WebLogic and C++ with isValid
Fusion Applications
pools and checked OCIPing
OCI_ATTR_SERVER_STATUS
Plan B continued
Application or
mid-tier ends Request boundaries sent by all
a request
Oracle 12c Pools & JDK9
18c Database or the 18c Drivers
close connection after end request
Database & Driver New work continues on another
marks sessions to drain connection
Stop or relocate services/PDBs
Tip: enable in
DBMS_APP_CONT
view in DBA_CONNECTION_TESTS
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 22
DBA Operations Simplified
drain_timeout (seconds)
stopoption (immediate,
transactional)
Node 2
(3) Terminate in-flight
requests
Time
Drain Timeout
No application knowledge or
changes to use
Rebuilds session state & in-flight
transactions
Errors/Timeouts hidden
Adapts as applications change:
protected for the future
TAC 12c use Application Continuity
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 26
TIP: Some Applications have Built-in Read-Only Failover
Example Applications Set Once and Done
Siebel
DG Broker
Switchover
Stop or Relocate Drain Work
Service
to Switchover
Drain Work
RAC Primary RAC Standby
Datacenter
Proprietary
• Challenges
OpenStack
Cloud • Complex, Error-prone Process Cloud
• Maintaining standardization
• Minimizing Downtime
• Takes too much time and effort
11.2.0.4
12.1.0.2
12.2.0.1
18c
Gold Image
Repository
Local target Connected Targets
11.2, 12.1, 12.2,
18c
10/29/2018 Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 33
RHP Support
VM VM VM VM
• Generic Software
Multi-OS
• Data Guard Aware
• Customizable
Rapid Home Provisioning
RAC Rolling Install Process for the "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (Doc ID 2217053.1)
• RAC will coordinate the apply of the OJVM patch across all nodes in a
rolling fashion OJVM
Non-
• Non-OJVM work not affected OJVM
Blocked
• RAC tracks sessions that use OJVM in the Database
• Phased approach: prepare, execute update, post-update Exec Update
• During the execute update phase OJVM work is blocked Prepared Prepared
RAC Rolling
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 37
©2014 Epsilon. Private & Confidential
38
Epsilon at a Glance
41
Current State and Resolutions
• Connection pool drains quickly after
receiving FAN events
• No longer application server restart required
• Used connection pool instead of for planned maintenance or unplanned
dedicated connection outage of oracle stack – a big relief
• Application is now using ODAC • Only one port required for ONS remote
12cR3 communication ( 6200 ) in 12c instead of
many ports in 11g
• Database hardware platform using
Exadata X4-2 half rack • CPU utilization reduced by 40% in
application servers after connection pool
• Database version 12cR1 ( 12.1.0.2 implementation
BP10 )
• Fast Application Notification and Application
Continuity provides a robust error handling
mechanism
•
42
Technology Stack
• Web servers
• Application server uses :
• ODP.NET ( ODAC 12cR3 )
• WebLogic server using Active Gridlink
43
Normal Operation : Application service placement
Primary DB Standby DB
44
Scheduled maintenance: Application service placement
Fast
Application
Notification
Primary DB Standby DB
45
Scheduled maintenance: Application service placement
Fast
Application
Notification
Primary DB Standby DB
46
©2014 Epsilon Data Management, LLC. Private & Confidential
Case study – Transaction response time
47
©2014 Epsilon Data Management, LLC. Private & Confidential
Case study – Overall transaction response time
48
Business Benefits
49
More Successes