5OracleDatabase12c最大化应用程序的可用性
《5OracleDatabase12c最大化应用程序的可用性》由会员分享,可在线阅读,更多相关《5OracleDatabase12c最大化应用程序的可用性(32页珍藏版)》请在装配图网上搜索。
1、Copyright 2013, Oracle and/or its affiliates. All rights reserved.1Maximum Application Availability with Oracle Database 12cKuassi MensahDirector Product ManagementCopyright 2013, Oracle and/or its affiliates. All rights reserved.3The following is intended to outline our general product direction. I
2、t 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, and timing of any features or functionality desc
3、ribed for Oracles products remains at the sole discretion of Oracle.Copyright 2013, Oracle and/or its affiliates. All rights reserved.4My Next SessionOracle In-Database MapReduce: When Hadoop Meets Exadata7/25/13, 12:00 13:00, Room 431Copyright 2013, Oracle and/or its affiliates. All rights reserved
4、.5Program AgendaProblems to SolveNew ConceptsTransaction GuardApplication ContinuityApplication Design ConsiderationsCopyright 2013, Oracle and/or its affiliates. All rights reserved.6Problems to SolveUpon Database Outage Four Problems ConfrontApplications1.Hang2.Errors 3.Outcome of In-Flight Work4.
5、Resubmission of In-Flight WorkCopyright 2013, Oracle and/or its affiliates. All rights reserved.7Hang- Fast Application Notification (FAN) Errors Handling? Not formalized In-Flight Work? Lost! Resubmission of In-Flight Work? N/A!Current SituationCopyright 2013, Oracle and/or its affiliates. All righ
6、ts reserved.8Program AgendaProblems to SolveNew ConceptsTransaction Guard Application ContinuityApplication Design ConsiderationsCopyright 2013, Oracle and/or its affiliates. All rights reserved.9Recoverable Error FormalizedOracleException.IsRecoverable property Applications No longer need to mainta
7、in own list of error codes (e.g., ora-1033, ora-1034, ora-xxx) JDBC throws SQLRecoverableException Copyright 2013, Oracle and/or its affiliates. All rights reserved.10Database RequestUnit of Work PoolDataSource pds = GetPoolDataSource();Connection conn = getConnection(pds); PreparedStatement pstmt =
8、 SQL, PL/SQL, local calls, RPCmit();conn.close();Request BeginsRequest Body Usually ends with COMMITRequest EndsCopyright 2013, Oracle and/or its affiliates. All rights reserved.11Program AgendaProblems to SolveNew ConceptsTransaction Guard Application ContinuityApplication Design ConsiderationsCopy
9、right 2013, Oracle and/or its affiliates. All rights reserved.12Transaction GuardTool that supports known outcome for every transactionWithout Transaction Guard, retry can cause logical corruptionUsed by Application ContinuityCan be used independently of Application Continuity4. Enforce Outcome1. Wo
10、rk Request2. DB Calls12c ORACLE Database3. Errors4. Reliable Commit OutcomeCopyright 2013, Oracle and/or its affiliates. All rights reserved.13Transaction Guard Typical UsageUpon database instance crash FAN aborts dead session Application gets an error Pool removes orphan connection from pool If “re
11、coverable error” thenGet last LTXID from dead session Obtain new database session Get transaction statusCopyright 2013, Oracle and/or its affiliates. All rights reserved.14Transaction Guard In ActiongetConnection()Txn.Commit();get Last LTXIDCommit outcome?COMMIT/ROLLBACKstart transactionassign LTXID
12、COMMIT?Return & Preserve COMMIT OUTCOMEClient/Mid-tierDatabaseTimeRecoverable ErrorCOMMITGet Logical TX IDSQL, PL/SQL, RPCResultsTG in ActionCopyright 2013, Oracle and/or its affiliates. All rights reserved.15 On Service COMMIT_OUTCOMEValues TRUE and FALSE Default FALSEApplies to new sessions RETENT
13、ION_TIMEOUTUnits secondsDefault 24 hours (86400)Maximum value 30 days (2592000) Transaction Guard ConfigurationCopyright 2013, Oracle and/or its affiliates. All rights reserved.16Transaction Guard in Oracle database 12cJDBC-thin, ODP.NET, OCI, OCCICommit Models Local TXN Auto-commit, Commit on Succe
14、ss Commit embedded in PL/SQL DDL, DCL, Parallel DDL Remote, DistributedExclusionsXAR/W DBLinks from Active Data Guard or Read OnlyCopyright 2013, Oracle and/or its affiliates. All rights reserved.17Program AgendaProblems to SolveNew ConceptsTransaction Guard Application ContinuityDesign Consideratio
15、nsCopyright 2013, Oracle and/or its affiliates. All rights reserved.18Application ContinuityMask Database Outage When SuccessfulReplays in-flight work on recoverable errorsMasks many hardware, software, network, storage errors and outages when successfulImproves end user experience 5. Response1. Wor
16、k Request2. DB Calls12c ORACLE Database4. Replay3. ErrorsCopyright 2013, Oracle and/or its affiliates. All rights reserved.19Phases in Application Continuity1-Capture 2-Reconnect 3-Replay Demarcates database request Holds original calls with binds & validation Manages queues Checks request has repla
17、y enabled Handles timeouts Creates a new connection Validates target database Uses Transaction Guard to enforce last commit Replays held calls Continues replay, if user visible results match, based on validations Continues requestCopyright 2013, Oracle and/or its affiliates. All rights reserved.20Ap
18、plication Continuity In ActionCall 1Proxy 1Proxy 2RAC DatabaseInstance1Instance2Instance3Call 2ConnectionReplay ContextOracle JDBC DriverCopyright 2013, Oracle and/or its affiliates. All rights reserved.21DEMOCopyright 2013, Oracle and/or its affiliates. All rights reserved.22Solution CoverageApplic
19、ation Continuity for JavaClient JDBC-Thin driver UCP, WebLogic ServerDatabaseSQL, PL/SQL, RPCSelect, ALTER SESSION, DML, DDL, COMMIT/ROLLBACK/SAVEPOINT Transaction models: Local, Parallel, Remote, Distributed Mutable function support Hardware acceleration on current Intel & SPARC chipsCopyright 2013
20、, Oracle and/or its affiliates. All rights reserved.23Exclusions GlobalRequestTarget Database Do not use default database service Excludes XA For Java, deprecated concrete classes Restricted calls Alter System Alter Database Not supported for Active Data Guard with read/write database links Does not
21、 support: Logical Standby Golden GateCopyright 2013, Oracle and/or its affiliates. All rights reserved.24RestrictionsWhen Does Replay Not Occur? Normal RuntimeReconnectReplayAny call in same requestafter successful commit in dynamic mode (default) a restricted call disableReplay API Error is not rec
22、overable Reconnection failure Replay initiation timeout Max connection retries Max retries per incident Target database not valid for replay Last call committed in dynamic modeValidation detects different resultsCopyright 2013, Oracle and/or its affiliates. All rights reserved.25Program AgendaProble
23、ms to SolveNew ConceptsTransaction Guard Application ContinuityApplication Design ConsiderationsCopyright 2013, Oracle and/or its affiliates. All rights reserved.26Application AssessmentDecideWhat to doRequest BoundariesMark Request Boundaries, if you are not using Oracle PoolsJDBC Concrete ClassesR
24、eplace deprecated concrete classes with Java interfacesSide EffectsUse disable API if a database request has an external call that should not be replayed CallbacksEnsure a callback is registered if state changes outside any request (WLS/UCP labeling included by default) Mutable FunctionsGrant keepin
25、g mutable values if these are compatible with your applicationCopyright 2013, Oracle and/or its affiliates. All rights reserved.27Side EffectsWhen Replay is enabled, some calls may be repeated. Apps may need to use disableReplay() API to prevent this:Autonomous transactionsUTL_HTTP , UTL_URL UTL_FIL
26、E, UTL_FILE_TRANSFER - files operationsUTL_SMPT, UTL_TCP, UTL_MAIL - sending messagesDBMS_PIPE, RPCs - to external sourcesDBMS_ALERT - email or other notificationsCopyright 2013, Oracle and/or its affiliates. All rights reserved.28Configure JDBC Replay Driver Set replay data source in property file
27、datasource=oracle.jdbc.replay.OracleDataSourceImplEnable Application Continuity on Service Set FAILOVER_TYPE = TRANSACTION Review settings for: REPLAY_INITIATION_TIMEOUT = 1800 FAILOVER_DELAY = 3 seconds FAILOVER_RETRIES = 60 retriesSESSION_STATE_CONSISTENCY = DYNAMICCOMMIT_OUTCOME = TRUEConfigurati
28、onCopyright 2013, Oracle and/or its affiliates. All rights reserved.29GRANT KEEP DATE TIME | KEEP SYSGUID. to USER REVOKE KEEP DATE TIME | KEEP SYSGUIDfrom USER GRANT KEEP SEQUENCE. to USER on sequence object; REVOKE KEEP SEQUENCE from USER on sequence object;If owned, ALTER SEQUENCE. sequence objec
29、t KEEP|NOKEEP; CREATE SEQUENCE. sequence object KEEP|NOKEEP;Mutables and Grant Privileges Copyright 2013, Oracle and/or its affiliates. All rights reserved.30Maximum Application Availability with Oracle database 12cHangErrors & Connection HandlingOutcome of In-Flight WorkResubmission of In-Flight WorkCopyright 2013, Oracle and/or its affiliates. All rights reserved.31Copyright 2013, Oracle and/or its affiliates. All rights reserved.32
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。