SlideShare uma empresa Scribd logo
1 de 25
ni.com
2ni.com
About National Instruments
Founded: 1976
Corporate Headquarters: Austin, Texas
Industry: Test and Measurement
Our Mission:
We equip engineers and scientists with systems that
accelerate productivity, innovation, and discovery.
Revenue: $1.24 billion in 2014
Global Operations: Approximately 7,100 employees;
operations in almost 50 countries
IT Development Centers:
• Austin, Texas
• Debrecen, Hungary
• Penang, Malaysia
• San José, Costa Rica
• Shanghai, China
3ni.com
About Sean Braymen
Title: Senior Oracle Database Administrator
Education: Kansas State University
Work History:
• National Instruments for 14 Years
• Prior to becoming a DBA:
Manufacturing IT; eCommerce Advisors
• 4 Years as a DBA
Family: Wife and 5 Year Old Daughter
Hobbies: Distance Running; Travel
ni.com
Application Continuity
5ni.com
What is Application Continuity
• Application Continuity is a feature that attempts to mask
database session outages by recovering the in-flight work
for request submitted to the database.
• Application Continuity attempts to replay the transactional
and nontransactional work that makes up a database
request. When replay is successful, the outage appears
to the end user as if the execution was slightly delayed.
6ni.com
Key Concepts for Application Continuity
• Database Request: Unit of work submitted from the
application, typically SQL, PL/SQL, RPC calls
• Recoverable Error: Error that arises due to an external
system failure, independent of the application
• Commit Outcome: Outcome of the last transaction
• Mutable Functions: Functions that change their results
each time they are executed
• Session State Consistency: Describes how the
application changes the nontransactional state during a
database request
7ni.com
What is Transaction Guard?
Transaction Guard is:
• A tool that provides a reliable commit outcome for the last
transaction after errors
• An API available for JDBC Thin, C/C++ (OCI/OCCI), and
ODP.NET
• Used by Application Continuity for at-most-once execution
• Can be used independently of Application Continuity
Without Transaction Guard, retry can cause logical
corruption
8ni.com
How Transaction Guard Works
*LTXID: Logical Transaction ID
9ni.com
Transaction in Action: WithoutApplication Continuity
1. Work Request
2. DB Calls
3. DB Error / Shutdown
4. Application
Errors
10ni.com
What Did the End User See?
• Application received an “ORA-03113: end-of-file
communication channel”
• Application error handling can vary
• Blank screen; generic error page; cryptic error message; etc
• Developing a solution inside the application is difficult and
expensive
• Database outages can cause:
• In-flight work to be lost, leaving users in doubt
• Users to restart applications and re-entering data, leading to
duplication of requests
• Additional failures that result in prolonged outages
11ni.com
Transaction in Action: WithApplication Continuity
1. Work Request
2. DB Calls
3. Error / Shutdown
4. Replay
5. Response
12ni.com
What Did the End User See?
• Application completed it work without any displayed
errors
• Application took slightly longer to accomplish the task
than normal
13ni.com
Processing Phases of Application Continuity
Normal Run Time Reconnect Replay
• Start the database
request
• Builds proxy objects
• Holds the original
calls with validation
• Manages queues
• Ensure that the
request has replay
enabled
• Handles timeouts
• Creates a new
connection
• Validates the target
database
• Uses Transaction
Guard to enforce last
commit
• Replays held calls
• Continues replay, if
user-visible results
match base on
validations
• Continues the request
• Throws the original
exception if replay is
unsuccessful
14ni.com
Requirements for Application Continuity
• Oracle Database 12c
• Oracle Database 12c for SQL*Plus Connections
• Oracle JDBC Driver 12.1.0.2 or later
• Oracle Universal Connection Pool (UCP)
o oracle.jdbc.replay.OracleDataSourceImpl – PooledConnection interface
o Supported by many including: IBM WebSphere, Apache Tomcat
and Red Hat JBoss
• WebLogic Server 12c
• Resource Needs
• Memory: The JDBC replay driver requires more memory because the calls
are retained until the end of the database request
• CPU: The JDBC replay driver uses additional CPU for building proxy
objects, managing queues and garbage collection
o Overhead may be reduced for database platforms with current SPARC chips
15ni.com
ConfiguringApplication Continuity
16ni.com
WebLogic Server 12c
17ni.com
Configuration for Non-WebLogic
• Configure the datasource in the properties file or provider
• replay datasource=oracle.jdbc.replay.OracleDataSourceImpl
• Configure the Datasource Definition
• disableWASConnectionPooling = true
connectionCachingEnabled=true
connectionCacheName=<your_cache_name>
removeExistingOracleConnectionPoolIfExists = true
URL =<JDBC Connect String>
18ni.com
Configuring Database Services forApplication Continuity
Example:
srvctl add service –d <database_name –s <service_name>
-failovertype TRANSACTION
-commit_outcome TRUE
-failoverretry #
-failoverdelay #
-retention_timeout #
-replay_initation_timeout #
Mandatory Settings
Optional Settings
19ni.com
UsingApplication Continuity
• Supported Operations
• SQL, PL/SQL, and JDBC RPC
o SELECT
o ALTER SESSION
o DML
o DDL
o SAVEPOINT / ROLLBACK
• Transaction Models
o Local, Parallel, Remote, Distributed and Embedded PL/SQL
• Mutable Functions
• Required Transaction Guard
• Works with Active Data Guard
20ni.com
Mutable Objects and Application Continuity
• SYSDATE / SYSTIMESTAMP
• GRANT KEEP DATE TIME TO <user>;
• SEQUENCES
• GRANT KEEP SEQUENCES ON <sequence_name> TO <user>
• CREATE SEQUENCE <sequence_name> KEEP;
• ALTER SEQUENCE <sequence_name> KEEP;
21ni.com
Restrictions for Application Continuity
• Unsupported Operations
• Default Database Services
• JDBC Concrete Classes
o Old Java classes: oracle.sql.*
o New interfaces: oracle.jdbc.*
• XA Transactions
• 3rd Party Statement Cache
• Replay is not supported for Active Data Guard with read/write
database links
22ni.com
Restrictions for Application Continuity
• Transaction Types with Risks
• UTL_FILE Operations
• Email or notifications using DBMS_ALERT, UTL_MAIL,
UTL_SMTP
• Web Service calls (UTL_HTTP)
• Autonomous Transactions
• Transactions over database link
23ni.com
Administration
• Stopping a session without replay
• alter system kill session ‘sid, serial#, @inst’ noreplay;
• alter system disconnect session ‘sid, serial#, @inst’ noreplay;
• Stopping a service
• srvctl stop service –d <database_name> -s <service_name> -noreplay
• Stopping an instance
• srvctl stop instance –d <database_name> -i <instance> -noreplay
ni.com
Demo
ni.com

Mais conteúdo relacionado

Mais procurados

11158682984719608417 emea11 fallback
11158682984719608417 emea11 fallback11158682984719608417 emea11 fallback
11158682984719608417 emea11 fallback
Locuto Riorama
 
6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud
Locuto Riorama
 
33616611930205162156 upgrade internals_19c
33616611930205162156 upgrade internals_19c33616611930205162156 upgrade internals_19c
33616611930205162156 upgrade internals_19c
Locuto Riorama
 
20618782218718364253 emea12 vldb
20618782218718364253 emea12 vldb20618782218718364253 emea12 vldb
20618782218718364253 emea12 vldb
Locuto Riorama
 

Mais procurados (19)

Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
Aioug2017 deploying-ebs-on-prem-and-on-oracle-cloud v2
 
Online patching ebs122_aioug_appsdba_nov2017
Online patching ebs122_aioug_appsdba_nov2017Online patching ebs122_aioug_appsdba_nov2017
Online patching ebs122_aioug_appsdba_nov2017
 
Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015Adop and maintenance task presentation 151015
Adop and maintenance task presentation 151015
 
11158682984719608417 emea11 fallback
11158682984719608417 emea11 fallback11158682984719608417 emea11 fallback
11158682984719608417 emea11 fallback
 
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
Database Lifecycle Management and Cloud Management - Hands on Lab (OOW2014)
 
12.2 secure configureconsole_adop_changes_aioug_appsdba_nov17
12.2 secure configureconsole_adop_changes_aioug_appsdba_nov1712.2 secure configureconsole_adop_changes_aioug_appsdba_nov17
12.2 secure configureconsole_adop_changes_aioug_appsdba_nov17
 
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administratorsE business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
 
6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud6212883126866262792 performance testing_cloud
6212883126866262792 performance testing_cloud
 
Pratyusa_Resume
Pratyusa_ResumePratyusa_Resume
Pratyusa_Resume
 
Using oracle cloud to speed up e business suite 12.2 upgrade
Using oracle cloud to speed up e business suite 12.2 upgradeUsing oracle cloud to speed up e business suite 12.2 upgrade
Using oracle cloud to speed up e business suite 12.2 upgrade
 
33616611930205162156 upgrade internals_19c
33616611930205162156 upgrade internals_19c33616611930205162156 upgrade internals_19c
33616611930205162156 upgrade internals_19c
 
Oracle E-Business Suite On Oracle Cloud
Oracle E-Business Suite On Oracle CloudOracle E-Business Suite On Oracle Cloud
Oracle E-Business Suite On Oracle Cloud
 
20618782218718364253 emea12 vldb
20618782218718364253 emea12 vldb20618782218718364253 emea12 vldb
20618782218718364253 emea12 vldb
 
R12.2.5 new features
R12.2.5 new featuresR12.2.5 new features
R12.2.5 new features
 
1225 case study
1225 case study1225 case study
1225 case study
 
Oracle Database Lifecycle Management
Oracle Database Lifecycle ManagementOracle Database Lifecycle Management
Oracle Database Lifecycle Management
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
SQL in the Hybrid World
SQL in the Hybrid WorldSQL in the Hybrid World
SQL in the Hybrid World
 
CV_Rishi_Gupta
CV_Rishi_GuptaCV_Rishi_Gupta
CV_Rishi_Gupta
 

Destaque

The Application of Derivatives
The Application of DerivativesThe Application of Derivatives
The Application of Derivatives
divaprincess09
 

Destaque (12)

Basic mathematics differentiation application
Basic mathematics differentiation applicationBasic mathematics differentiation application
Basic mathematics differentiation application
 
Undertake basic electrical tasks
Undertake basic electrical tasksUndertake basic electrical tasks
Undertake basic electrical tasks
 
Lesson 11: Limits and Continuity
Lesson 11: Limits and ContinuityLesson 11: Limits and Continuity
Lesson 11: Limits and Continuity
 
Chapter 10 - Limit and Continuity
Chapter 10 - Limit and ContinuityChapter 10 - Limit and Continuity
Chapter 10 - Limit and Continuity
 
Practical applications of limits
Practical applications of limitsPractical applications of limits
Practical applications of limits
 
OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2OOW15 - technical upgrade best practices for oracle e-business suite 12.2
OOW15 - technical upgrade best practices for oracle e-business suite 12.2
 
10 tips for successful 12.2 upgrade
10 tips for successful 12.2 upgrade10 tips for successful 12.2 upgrade
10 tips for successful 12.2 upgrade
 
Limits and their applications
Limits and their applicationsLimits and their applications
Limits and their applications
 
Application of differentiation
Application of differentiationApplication of differentiation
Application of differentiation
 
Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1Oracle EBS Upgrade to 12.2.5.1
Oracle EBS Upgrade to 12.2.5.1
 
The Application of Derivatives
The Application of DerivativesThe Application of Derivatives
The Application of Derivatives
 
Applications of Derivatives
Applications of DerivativesApplications of Derivatives
Applications of Derivatives
 

Semelhante a Application Continuity

Enough Blame for System Performance Issues
Enough Blame for System Performance IssuesEnough Blame for System Performance Issues
Enough Blame for System Performance Issues
Mahesh Vallampati
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance Lecture
Vishwanath Ramdas
 

Semelhante a Application Continuity (20)

A Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our BaconA Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our Bacon
 
rakesh_resume
rakesh_resumerakesh_resume
rakesh_resume
 
Enough Blame for System Performance Issues
Enough Blame for System Performance IssuesEnough Blame for System Performance Issues
Enough Blame for System Performance Issues
 
Cassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stackCassandra Adoption on Cisco UCS & Open stack
Cassandra Adoption on Cisco UCS & Open stack
 
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption   Lessons Learned and Advanced TroubleshootingSharePoint 2016 Platform Adoption   Lessons Learned and Advanced Troubleshooting
SharePoint 2016 Platform Adoption Lessons Learned and Advanced Troubleshooting
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Internet banking
Internet bankingInternet banking
Internet banking
 
Background processing with hangfire
Background processing with hangfireBackground processing with hangfire
Background processing with hangfire
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
Online Examination System in .NET & DB2
Online Examination System in .NET & DB2Online Examination System in .NET & DB2
Online Examination System in .NET & DB2
 
BHUSHAN BHOLE
BHUSHAN BHOLEBHUSHAN BHOLE
BHUSHAN BHOLE
 
Application Performance Lecture
Application Performance LectureApplication Performance Lecture
Application Performance Lecture
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Online School Website Presentation
Online School Website PresentationOnline School Website Presentation
Online School Website Presentation
 
The 5S Approach to Performance Tuning by Chuck Ezell
The 5S Approach to Performance Tuning by Chuck EzellThe 5S Approach to Performance Tuning by Chuck Ezell
The 5S Approach to Performance Tuning by Chuck Ezell
 
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
Oracle WebLogic Server 12c: Seamless Oracle Database Integration (with NEC, O...
 

Application Continuity

  • 2. 2ni.com About National Instruments Founded: 1976 Corporate Headquarters: Austin, Texas Industry: Test and Measurement Our Mission: We equip engineers and scientists with systems that accelerate productivity, innovation, and discovery. Revenue: $1.24 billion in 2014 Global Operations: Approximately 7,100 employees; operations in almost 50 countries IT Development Centers: • Austin, Texas • Debrecen, Hungary • Penang, Malaysia • San José, Costa Rica • Shanghai, China
  • 3. 3ni.com About Sean Braymen Title: Senior Oracle Database Administrator Education: Kansas State University Work History: • National Instruments for 14 Years • Prior to becoming a DBA: Manufacturing IT; eCommerce Advisors • 4 Years as a DBA Family: Wife and 5 Year Old Daughter Hobbies: Distance Running; Travel
  • 5. 5ni.com What is Application Continuity • Application Continuity is a feature that attempts to mask database session outages by recovering the in-flight work for request submitted to the database. • Application Continuity attempts to replay the transactional and nontransactional work that makes up a database request. When replay is successful, the outage appears to the end user as if the execution was slightly delayed.
  • 6. 6ni.com Key Concepts for Application Continuity • Database Request: Unit of work submitted from the application, typically SQL, PL/SQL, RPC calls • Recoverable Error: Error that arises due to an external system failure, independent of the application • Commit Outcome: Outcome of the last transaction • Mutable Functions: Functions that change their results each time they are executed • Session State Consistency: Describes how the application changes the nontransactional state during a database request
  • 7. 7ni.com What is Transaction Guard? Transaction Guard is: • A tool that provides a reliable commit outcome for the last transaction after errors • An API available for JDBC Thin, C/C++ (OCI/OCCI), and ODP.NET • Used by Application Continuity for at-most-once execution • Can be used independently of Application Continuity Without Transaction Guard, retry can cause logical corruption
  • 8. 8ni.com How Transaction Guard Works *LTXID: Logical Transaction ID
  • 9. 9ni.com Transaction in Action: WithoutApplication Continuity 1. Work Request 2. DB Calls 3. DB Error / Shutdown 4. Application Errors
  • 10. 10ni.com What Did the End User See? • Application received an “ORA-03113: end-of-file communication channel” • Application error handling can vary • Blank screen; generic error page; cryptic error message; etc • Developing a solution inside the application is difficult and expensive • Database outages can cause: • In-flight work to be lost, leaving users in doubt • Users to restart applications and re-entering data, leading to duplication of requests • Additional failures that result in prolonged outages
  • 11. 11ni.com Transaction in Action: WithApplication Continuity 1. Work Request 2. DB Calls 3. Error / Shutdown 4. Replay 5. Response
  • 12. 12ni.com What Did the End User See? • Application completed it work without any displayed errors • Application took slightly longer to accomplish the task than normal
  • 13. 13ni.com Processing Phases of Application Continuity Normal Run Time Reconnect Replay • Start the database request • Builds proxy objects • Holds the original calls with validation • Manages queues • Ensure that the request has replay enabled • Handles timeouts • Creates a new connection • Validates the target database • Uses Transaction Guard to enforce last commit • Replays held calls • Continues replay, if user-visible results match base on validations • Continues the request • Throws the original exception if replay is unsuccessful
  • 14. 14ni.com Requirements for Application Continuity • Oracle Database 12c • Oracle Database 12c for SQL*Plus Connections • Oracle JDBC Driver 12.1.0.2 or later • Oracle Universal Connection Pool (UCP) o oracle.jdbc.replay.OracleDataSourceImpl – PooledConnection interface o Supported by many including: IBM WebSphere, Apache Tomcat and Red Hat JBoss • WebLogic Server 12c • Resource Needs • Memory: The JDBC replay driver requires more memory because the calls are retained until the end of the database request • CPU: The JDBC replay driver uses additional CPU for building proxy objects, managing queues and garbage collection o Overhead may be reduced for database platforms with current SPARC chips
  • 17. 17ni.com Configuration for Non-WebLogic • Configure the datasource in the properties file or provider • replay datasource=oracle.jdbc.replay.OracleDataSourceImpl • Configure the Datasource Definition • disableWASConnectionPooling = true connectionCachingEnabled=true connectionCacheName=<your_cache_name> removeExistingOracleConnectionPoolIfExists = true URL =<JDBC Connect String>
  • 18. 18ni.com Configuring Database Services forApplication Continuity Example: srvctl add service –d <database_name –s <service_name> -failovertype TRANSACTION -commit_outcome TRUE -failoverretry # -failoverdelay # -retention_timeout # -replay_initation_timeout # Mandatory Settings Optional Settings
  • 19. 19ni.com UsingApplication Continuity • Supported Operations • SQL, PL/SQL, and JDBC RPC o SELECT o ALTER SESSION o DML o DDL o SAVEPOINT / ROLLBACK • Transaction Models o Local, Parallel, Remote, Distributed and Embedded PL/SQL • Mutable Functions • Required Transaction Guard • Works with Active Data Guard
  • 20. 20ni.com Mutable Objects and Application Continuity • SYSDATE / SYSTIMESTAMP • GRANT KEEP DATE TIME TO <user>; • SEQUENCES • GRANT KEEP SEQUENCES ON <sequence_name> TO <user> • CREATE SEQUENCE <sequence_name> KEEP; • ALTER SEQUENCE <sequence_name> KEEP;
  • 21. 21ni.com Restrictions for Application Continuity • Unsupported Operations • Default Database Services • JDBC Concrete Classes o Old Java classes: oracle.sql.* o New interfaces: oracle.jdbc.* • XA Transactions • 3rd Party Statement Cache • Replay is not supported for Active Data Guard with read/write database links
  • 22. 22ni.com Restrictions for Application Continuity • Transaction Types with Risks • UTL_FILE Operations • Email or notifications using DBMS_ALERT, UTL_MAIL, UTL_SMTP • Web Service calls (UTL_HTTP) • Autonomous Transactions • Transactions over database link
  • 23. 23ni.com Administration • Stopping a session without replay • alter system kill session ‘sid, serial#, @inst’ noreplay; • alter system disconnect session ‘sid, serial#, @inst’ noreplay; • Stopping a service • srvctl stop service –d <database_name> -s <service_name> -noreplay • Stopping an instance • srvctl stop instance –d <database_name> -i <instance> -noreplay