版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MaximumApplicationAvailabilitywithOracleDatabase12cKuassiMensah
DirectorProductManagementThefollowingisintendedtooutlineourgeneralproductdirection.Itisintendedforinformationpurposesonly,andmaynotbeincorporatedintoanycontract.Itisnotacommitmenttodeliveranymaterial,code,orfunctionality,andshouldnotberelieduponinmakingpurchasingdecisions.Thedevelopment,release,andtimingofanyfeaturesorfunctionalitydescribedforOracle’sproductsremainsatthesolediscretionofOracle.MyNextSessionOracleIn-DatabaseMapReduce:WhenHadoopMeetsExadata7/25/13,12:00–13:00,Room431ProgramAgendaProblemstoSolveNewConceptsTransactionGuardApplicationContinuityApplicationDesignConsiderationsProblemstoSolveUponDatabaseOutageFourProblemsConfrontApplicationsHangErrorsOutcomeofIn-FlightWorkResubmissionofIn-FlightWorkHang->FastApplicationNotification(FAN)
ErrorsHandling?Notformalized
In-FlightWork?Lost!ResubmissionofIn-FlightWork?N/A!CurrentSituationProgramAgendaProblemstoSolveNewConceptsTransactionGuardApplicationContinuityApplicationDesignConsiderationsRecoverableErrorFormalizedOracleException.IsRecoverablepropertyApplicationsNolongerneedtomaintainownlistoferrorcodes
(e.g.,ora-1033,ora-1034,ora-xxx)
JDBCthrows
SQLRecoverableException
DatabaseRequest
UnitofWorkPoolDataSourcepds=GetPoolDataSource();Connectionconn=getConnection(pds);PreparedStatementpstmt=……SQL,PL/SQL,localcalls,RPC …mit();conn.close();RequestBeginsRequestBody
UsuallyendswithCOMMITRequestEndsProgramAgendaProblemstoSolveNewConceptsTransactionGuardApplicationContinuityApplicationDesignConsiderationsTransactionGuardToolthatsupportsknownoutcomeforeverytransactionWithoutTransactionGuard,retrycancauselogicalcorruptionUsedbyApplicationContinuityCanbeusedindependentlyofApplicationContinuity4.EnforceOutcomeWorkRequest2.DBCalls12cORACLEDatabase3.Errors4.ReliableCommitOutcomeTransactionGuard–TypicalUsageUpondatabaseinstancecrashFANabortsdeadsessionApplicationgetsanerrorPoolremovesorphanconnectionfrompoolIf“recoverableerror”thenGetlastLTXIDfromdeadsessionObtainnewdatabasesessionGettransactionstatusTransactionGuardInActiongetConnection()Txn.Commit();getLastLTXID<newsession>Commitoutcome?COMMIT/ROLLBACKstarttransactionassignLTXIDCOMMIT?Return&PreserveCOMMITOUTCOMEClient/Mid-tierDatabaseTimeRecoverableErrorCOMMITGetLogicalTXIDSQL,PL/SQL,RPCResultsTGinActionOnServiceCOMMIT_OUTCOMEValues–TRUEandFALSEDefault–FALSEAppliestonewsessionsRETENTION_TIMEOUTUnits–secondsDefault–24hours(86400)Maximumvalue–30days(2592000)TransactionGuard
ConfigurationTransactionGuardinOracledatabase12cJDBC-thin,ODP.NET,OCI,OCCICommitModels
LocalTXNAuto-commit,CommitonSuccessCommitembeddedinPL/SQLDDL,DCL,ParallelDDLRemote,DistributedExclusionsXAR/WDBLinksfromActiveDataGuardorReadOnlyProgramAgendaProblemstoSolveNewConceptsTransactionGuardApplicationContinuityDesignConsiderationsApplicationContinuityMaskDatabaseOutageWhenSuccessfulReplaysin-flightworkonrecoverableerrorsMasksmanyhardware,software,network,storageerrorsandoutageswhensuccessfulImprovesenduserexperience5.ResponseWorkRequest2.DBCalls12cORACLEDatabase4.Replay3.ErrorsPhasesinApplicationContinuity1-Capture2-Reconnect3-ReplayDemarcatesdatabaserequestHoldsoriginalcallswithbinds&validationManagesqueuesChecksrequesthasreplayenabledHandlestimeoutsCreatesanewconnectionValidatestargetdatabaseUsesTransactionGuardtoenforcelastcommitReplaysheldcallsContinuesreplay,ifuservisibleresultsmatch,basedonvalidationsContinuesrequestApplicationContinuityInAction
Call1
Application
Proxy1
Proxy2RACDatabaseInstance1Instance2Instance3
Call2
Connection
ReplayContextOracleJDBCDriverDEMOSolutionCoverage
ApplicationContinuityforJavaClient
JDBC-ThindriverUCP,WebLogicServerDatabaseSQL,PL/SQL,RPCSelect,ALTERSESSION,DML,DDL,COMMIT/ROLLBACK/SAVEPOINTTransactionmodels:Local,Parallel,Remote,DistributedMutablefunctionsupportHardwareaccelerationoncurrentIntel&SPARCchipsExclusions
GlobalRequestTargetDatabaseDonotusedefaultdatabaseserviceExcludesXAForJava,deprecatedconcreteclassesRestrictedcallsAlterSystemAlterDatabaseNotsupportedforActiveDataGuardwithread/writedatabaselinksDoesnotsupport:LogicalStandbyGoldenGateRestrictions
WhenDoesReplayNotOccur?
NormalRuntimeReconnectReplayAnycallinsamerequestaftersuccessfulcommitindynamicmode
(default)arestrictedcalldisableReplayAPIErrorisnotrecoverableReconnectionfailureReplayinitiationtimeoutMaxconnectionretriesMaxretriesperincidentTargetdatabasenotvalidforreplayLastcallcommitted
indynamicmodeValidationdetectsdifferentresultsProgramAgendaProblemstoSolveNewConceptsTransactionGuardApplicationContinuityApplicationDesignConsiderationsApplicationAssessment
DecideWhattodoRequestBoundariesMarkRequestBoundaries,ifyouarenotusingOraclePoolsJDBCConcreteClassesReplacedeprecatedconcreteclasseswithJavainterfacesSideEffectsUsedisableAPIifadatabaserequesthasanexternalcallthatshouldnotbereplayedCallbacksEnsureacallbackisregisteredifstatechangesoutsideanyrequest(WLS/UCPlabelingincludedbydefault)MutableFunctionsGrantkeepingmutablevaluesifthesearecompatiblewithyourapplicationSideEffectsWhenReplayisenabled,somecallsmayberepeated.
AppsmayneedtousedisableReplay()APItopreventthis:AutonomoustransactionsUTL_HTTP,
UTL_URLUTL_FILE,UTL_FILE_TRANSFER-filesoperationsUTL_SMPT,UTL_TCP,UTL_MAIL-sendingmessagesDBMS_PIPE,RPCs-toexternalsourcesDBMS_ALERT-emailorothernotificationsConfigureJDBCReplayDriver
Setreplaydatasourceinpropertyfile
datasource=oracle.jdbc.replay.OracleDataSourceImplEnableApplicationContinuityonService
SetFAILOVER_TYPE=TRANSACTIONReviewsettingsfor:
REPLAY_INITIATION_TIMEOUT=1800FAILOVER_DELAY=3secondsFAILOVER_RETRIES=60retriesSESSION_STATE_CONSISTENCY=DYNAMICCOMMIT_OUTCOME=TRUEConfiguration
GRANT[KEEPDATETIME|KEEPSYSGUID]..[to
USER]REVOKE[KEEPDATETIME|KEEPSYSGUID][from
USER]GRANTK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通行為建模分析-洞察與解讀
- 容器化環(huán)境性能分析-洞察與解讀
- 職業(yè)模特基礎(chǔ)走秀培訓(xùn)教材
- 電機(jī)車制動(dòng)距離實(shí)驗(yàn)數(shù)據(jù)分析報(bào)告
- 英語八年級(jí)下冊(cè)總復(fù)習(xí)教案匯編
- 培訓(xùn)效果評(píng)估工具支持結(jié)果分析
- 職業(yè)培訓(xùn)機(jī)構(gòu)課程設(shè)計(jì)與評(píng)估
- 教育培訓(xùn)機(jī)構(gòu)財(cái)務(wù)結(jié)算操作規(guī)范
- 企業(yè)員工培訓(xùn)計(jì)劃模板能力提升與成長記錄冊(cè)
- 私車公用管理制度
- 財(cái)政評(píng)審廉政管理辦法
- 新時(shí)代教育者核心素養(yǎng)與使命擔(dān)當(dāng)
- 公司人員服從管理制度
- 演出單位薪酬管理制度
- 企業(yè)財(cái)務(wù)數(shù)字化轉(zhuǎn)型的路徑規(guī)劃及實(shí)施方案設(shè)計(jì)
- DB32T 1712-2011 水利工程鑄鐵閘門設(shè)計(jì)制造安裝驗(yàn)收規(guī)范
- 百度人才特質(zhì)在線測評(píng)題
- DL∕T 5142-2012 火力發(fā)電廠除灰設(shè)計(jì)技術(shù)規(guī)程
- 2024年水合肼行業(yè)發(fā)展現(xiàn)狀分析:水合肼市場需求量約為11.47萬噸
- 提水試驗(yàn)過程及數(shù)據(jù)處理
- (正式版)JBT 14933-2024 機(jī)械式停車設(shè)備 檢驗(yàn)與試驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論