【Flashback】11g的閃回資料歸檔初探
1、準備環境
1)、建立閃回資料歸檔使用的表空間
SQL> create tablespace fla_tbs1
datafile '/u01/app/oracle/oradata/ORCL/fla_tbs01.dbf'
size 10M reuse autoextend on next 640K maxsize 500M
extent management local segment space management auto;
Tablespace created.
2)、建立一個資料歸檔的管理使用者,並授予相關許可權
SQL> create user archive_admin identified by oracle
2 default tablespace fla_tbs1
3 temporary tablespace temp
4 account unlock;
User created.
SQL> GRANT ALTER SESSION TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CREATE DATABASE LINK TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CREATE SEQUENCE TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CREATE SESSION TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CREATE SYNONYM TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CREATE VIEW TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT UNLIMITED TABLESPACE TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT EXECUTE ON SYS.DBMS_STATS TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> GRANT CONNECT, RESOURCE TO ARCHIVE_ADMIN;
Grant succeeded.
SQL> grant flashback archive administer to archive_admin;
Grant succeeded.
2、建立資料歸檔
SQL> conn archive_admin/oracle
Connected.
SQL> show user
USER is "ARCHIVE_ADMIN"
SQL> create flashback archive fla1
2 tablespace fla_tbs1
3 quota 10M
4 retention 1 year;
Flashback archive created.
3、授予scott使用者使用資料歸檔fla1的許可權
SQL> grant flashback archive on fla1 to scott;
Grant succeeded.
4、連線scott使用者,配置emp表使用資料歸檔。
SQL> conn scott/tiger
Connected.
SQL> alter table emp flashback archive fla1;
Table altered.
注意:如果emp使用另外的資料歸檔,則報錯。
ORA-55600: The table "SCOTT"."EMP" is already enabled for Flashback Archive
5、做些DML操作
SQL> select * from emp where empno=7902;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7902 FORD ANALYST 7566 03-DEC-81 4000 20
SQL> update emp set sal=sal+1000 where empno=7902;
1 row updated.
SQL> commit;
Commit complete.
SQL> update emp set sal=sal+1000 where empno=7902;
1 row updated.
SQL> commit;
Commit complete.
SQL> update emp set sal=sal+1000 where empno=7902;
1 row updated.
SQL> commit;
Commit complete.
SQL> select * from emp where empno=7902;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7902 FORD ANALYST 7566 03-DEC-81 7000 20
查詢資料歸檔的內部表名。
SQL> select * from user_flashback_archive_tables;
TABLE_NAME OWNER_NAME
------------------------------ ------------------------------
FLASHBACK_ARCHIVE_NAME
--------------------------------------------------------------------------------
ARCHIVE_TABLE_NAME STATUS
----------------------------------------------------- --------
EMP SCOTT
FLA1
SYS_FBA_HIST_73181 ENABLED
6、透過更換undo表空間,已達到清除原undo表空間中的‘舊’資料。
SQL> conn / as sysdba
Connected.
SQL> show parameter undo_tablespace
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
SQL> create undo tablespace undotbs2
2 datafile '/u01/app/oracle/oradata/ORCL/undotbs02.dbf'
3 size 100M reuse autoextend on;
Tablespace created.
SQL> alter system set undo_tablespace=undotbs2;
System altered.
SQL> drop tablespace UNDOTBS1;
Tablespace dropped.
SQL> show parameter undo_tablespace
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS2
7、使用閃回查詢,查詢過去的資料。
SQL> select * from emp
2 as of timestamp (systimestamp - interval '18' minute)
3 where empno=7902;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 7000
20
SQL> select * from emp
2 as of timestamp (systimestamp - interval '19' minute)
3 where empno=7902;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 6000
20
SQL> select * from emp
2 as of timestamp (systimestamp - interval '20' minute)
3 where empno=7902;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 4000
20
說明閃回查詢獲取的‘舊’資料,是從資料歸檔中獲取,使用版本查詢應該更直接得到資料的歷史資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26812308/viewspace-766803/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- flashback query閃回資料
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- Oracle閃回技術--Flashback Version QueryOracle
- Flashback Drop閃回刪除功能實踐
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- rac使用預設閃回區歸檔空間滿
- 【FLASHBACK】Oracle閃回及回收站相關語句參考Oracle
- Oracle資料庫閃回Oracle資料庫
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- oracle 11g開啟歸檔模式及修改歸檔目錄Oracle模式
- Oracle 閃回資料庫測試Oracle資料庫
- my2sql資料閃回SQL
- 詳解oracle資料庫閃回Oracle資料庫
- GeminiDB Cassandra介面新特性FLASHBACK釋出:任意時間點秒級閃回
- dg_閃回資料庫實驗資料庫
- 工具分享丨資料閃回工具MyFlash
- Orcale利用閃回功能恢復資料
- SQL資料庫怎麼進行資料歸檔和歸檔管理?SQL資料庫
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- pt-archiver資料歸檔Hive
- pt-archiver 歸檔資料Hive
- MySQL 中如何歸檔資料MySql
- 騰訊基於全時態資料庫技術的資料閃回資料庫
- 利用binlog2sql閃回丟失資料SQL
- RAC開啟資料庫歸檔資料庫
- UAVStack之檔案資料歸集
- DM7閃回與閃回查詢
- MySQL誤刪資料?試試資料閃回工具binlog2sqlMySql
- flashback實現資料快速復原
- 資料儲存(歸檔解檔,沙河儲存)
- Oracle資料庫歸檔模式的切換ELOracle資料庫模式
- MySQL使用binlog2sql閃回誤刪除資料MySql
- Polardb-O資料庫歸檔配置資料庫
- 資料庫回檔解決方案資料庫