Home

Thursday, December 20, 2018

Steps to enable flashback mode

Steps to enable flashback mode:

Flashback mode in Oracle Database is a powerful feature that allows you to view and recover data from a previous point in time. It provides a way to rewind the database to a specific moment in the past, enabling you to analyze historical data, undo transactions, or recover from logical errors.

With flashback mode enabled, you can query data as it existed at a specific timestamp or system change number (SCN), providing a consistent view of the database as it appeared in the past. This is particularly useful when you need to diagnose issues, track changes, or retrieve lost data.

Oracle Database offers several flashback features, including:

Flashback Query: Allows you to perform queries on historical data by specifying a timestamp or SCN. This enables you to retrieve previous versions of rows and track changes over time.

Flashback Table: Provides the ability to revert a table to a previous state, effectively undoing changes made since a specified timestamp or SCN. This can be useful for correcting mistakes or recovering from data corruption.

Flashback Transaction: Enables you to undo a specific transaction or a set of transactions, restoring the affected data to its previous state. This is particularly useful when you need to reverse unintended changes or recover from logical errors.

Flashback Database: Allows you to perform a point-in-time recovery of the entire database, rolling it back to a specified SCN or timestamp. This feature is helpful for recovering from major incidents, such as data corruption or human errors affecting the entire database.

These flashback features in Oracle Database 19c provide administrators and developers with powerful tools for data recovery, analysis, and correction. They offer increased flexibility and efficiency in managing and restoring data, ultimately contributing to better data integrity and system reliability.


select instance_name from v$instance;
select log_mode,flashback_on from v$database;
SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
NO
show parameter DB_FLASHBACK_RETENTION_TARGET;
select * from v$flash_recovery_area_usage order by 2;
ALTER DATABASE FLASHBACK ON;
SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
YES

To perform a flashback query in Oracle Database 12c and Oracle 19c:
Ensure that the UNDO_RETENTION parameter is appropriately 
set in the database initialization parameters. 
This parameter determines the duration for which undo data is retained, 
enabling flashback queries.
Use the AS OF clause in your SQL query to specify the desired timestamp or 
SCN (system change number
For example:
SELECT * FROM table_name AS OF TIMESTAMP TO_TIMESTAMP
('2022-01-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS');

This query retrieves the data from the table_name as it existed at the 
specified timestamp.

To implement Flashback Table in Oracle Database 12c and 19c:
you can use the FLASHBACK TABLE statement. 
This feature allows you to quickly restore a table to a previous state 
without the need for performing a full database restore or recovery. 
Here's how you can use Flashback Table in both versions:

Ensure that the UNDO_RETENTION parameter is appropriately set in the 
database initialization parameters.
Execute the FLASHBACK TABLE statement to restore the table to a 
specific point in time. 
For example:
FLASHBACK TABLE table_name TO TIMESTAMP TO_TIMESTAMP('2022-01-01 12:00:00', 
'YYYY-MM-DD HH24:MI:SS');

This statement restores the table_name to its state as of the specified timestamp
Note that to use Flashback Table, you need to have the necessary privileges 
(such as the FLASHBACK ANY TABLE system privilege or be the owner of the table). 
Also, ensure that you have sufficient undo retention to support the 
flashback operation.

To implement Flashback Transaction in Oracle Database 12c and 19c: 
you can use the FLASHBACK TRANSACTION statement. 
This feature allows you to undo one or more transactions, rolling back the 
changes made by those transactions. 
Here's how you can use Flashback Transaction in both versions:
Oracle Database 12c and Oracle Database 19c:
To perform a Flashback Transaction operation in Oracle Database 12c:

Ensure that the UNDO_RETENTION parameter is appropriately set in the 
database initialization parameters.
Execute the FLASHBACK TRANSACTION statement to undo specific transactions.
For example:
SELECT xid, operation, start_scn, commit_scn, logon_user, undo_sql
FROM flashback_transaction_query
WHERE xid = HEXTORAW('000200030000002D');

SELECT xid, logon_user
FROM flashback_transaction_query
WHERE xid IN (
  SELECT versions_xid FROM employees VERSIONS BETWEEN TIMESTAMP
  TO_TIMESTAMP('2003-07-18 14:00:00', 'YYYY-MM-DD HH24:MI:SS') AND
  TO_TIMESTAMP('2003-07-18 17:00:00', 'YYYY-MM-DD HH24:MI:SS')
);

FLASHBACK TRANSACTION transaction_id;

Replace transaction_id with the identifier of the transaction you want to undo. 
You can obtain the transaction ID from the Oracle database transaction logs.

To implement Flashback Database in Oracle Database 12c and 19c:
you can use the FLASHBACK DATABASE statement. 
This feature allows you to perform a point-in-time recovery of the 
entire database, rolling it back to a specific SCN or timestamp. 
Here's how you can use Flashback Database in both versions:

Ensure that the database is running in ARCHIVELOG mode.
Set the DB_FLASHBACK_RETENTION_TARGET parameter to specify the 
desired duration for flashback data retention.
Execute the FLASHBACK DATABASE statement to roll back the entire 
database to a specific SCN or timestamp. 
For example:
FLASHBACK DATABASE TO SCN scn_number;
Replace scn_number with the system change number (SCN) corresponding 
to the desired point in time 
to which you want to flash back the database.

For more information check in the below link


Enjoy the work and do like me if you like this article!!!

Latest Posts

Number of failed login attempts exceeds threshold value

Number of failed login attempts exceeds threshold value alert message comes from OEM. How to check what and which user is causing this? how ...

Popular Posts