General
Application Continuity Support for DBMS_ROLLING
Application Continuity and the draining of database sessions are now supported when performing a rolling upgrade or applying non-rolling patches using DBMS_ROLLING
.
Using Application Continuity with DBMS_ROLLING
, applications are continuously available during the database upgrade process.
Database Native Transaction Guard
Transaction Guard is an application-independent infrastructure that enables recovery of work from an application perspective. With Transaction Guard, each logical transaction may map to single or multiple server-side transactions. Persisting each logical transactions, as part of a commit, introduces overheads in normal transaction operation. Database Native Transaction Guard enhances existing Transaction Guard and does not require persistence in a separate table.
Database Native Transaction Guard does not incur extra redo generation or performance overhead (extra writes are eliminated) and no client-side changes are required.
Flashback Time Travel Enhancements
Flashback Time Travel can automatically track and archive transactional changes to tables. Flashback Time Travel creates archives of the changes made to the rows of a table and stores the changes in history tables. It also maintains a history of the evolution of the table's schema. By maintaining the history of the transactional changes to a table and its schema, Flashback Time Travel enables you to perform operations, such as Flashback Query (AS OF
and VERSIONS
), on the table to view the history of the changes made during transaction time.
Flashback Time Travel helps to meet compliance requirements based on record-stage policies and audit reports by tracking and storing transactional changes to a table, which has also been made more efficient and performant in this release.
Optimized Fast-Start Failover Delay Detection in Maximum Performance Mode
Oracle Data Guard Fast-Start Failover has two additional properties for improved lag detection and status changes. FastStartFailoverLagType
sets the lag type that Fast-Start Failover must consider when in Maximum Performance mode (APPLY
or TRANSPORT
). FastStartFailoverLagGraceTime
lets the configuration transition to a pre-emptive LAGGING
state that the observer can acknowledge before reaching the actual lag limit, so the status can transition immediately to TARGET OVER LAG LIMIT
without waiting for the observer quorum.
The new properties for the Maximum Performance protection mode further enhance Fast-Start Failover capabilities and reduce the impact on application transactions for status changes requiring the observer quorum.
Oracle RAC Two-Stage Rolling Updates
Oracle Real Application Clusters (Oracle RAC) rolling patches framework enables you to apply certain non-rolling fixes in a rolling fashion. Fixes that you implement using this framework are disabled by default. You can choose to enable these fixes after all the nodes are patched successfully.
Oracle RAC rolling patches framework reduces the need for costly downtimes to apply non-rolling patches. All non-rolling fixes can be applied as rolling patches.
Transaction Guard Support during DBMS_ROLLING
Transaction Guard support for DBMS_ROLLING
ensures continuous application operation during the switchover issued by DBMS_ROLLING
to Transient Logical Standby. The procedure uses the last commit outcome of transactions part of in-flight sessions during a switchover-related outage (or caused by an error/timeout) to protect the applications from duplicate submissions of the transactions on replay.
Application Continuity supported by Transaction Guard during database upgrades using DBMS_ROLLING
ensures that commit outcomes are guaranteed across the entire upgrade process.