【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 Data ArchiveHive
- 11g閃回資料歸檔
- Oracle 11g新特性--閃回資料歸檔(flashback data archive)[zt]OracleHive
- Oracle 11g 閃回資料歸檔Oracle
- [zt] Oracle 11g 閃回資料歸檔Oracle
- Oracle閃回資料歸檔Oracle
- 11g新特性--Oracle 11g 閃回資料歸檔Oracle
- flashback query閃回資料
- 【Flashback】啟用閃回資料庫功能需要在歸檔模式下完成資料庫模式
- Oracle 11g閃回資料歸檔新功能解析Oracle
- 清除閃回資料歸檔區資料
- Flashback Database 閃回資料庫Database資料庫
- [Flashback]Flashback Database閃回資料庫實驗Database資料庫
- 利用flashback閃回表和資料
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 【Flashback】啟用Flashback Database閃回資料庫功能Database資料庫
- 【Flashback】Flashback Database閃回資料庫功能實踐Database資料庫
- 關於oracle閃回資料歸檔的總結Oracle
- FlashBack總結之閃回資料庫與閃回刪除資料庫
- Oracle 11g開啟閃回功能FlashbackOracle
- Oracle Database 11g閃回技術flashbackOracleDatabase
- 開閃回及閃迴歸檔
- [Flashback]開啟資料庫閃回資料庫功能資料庫
- oracle 閃回 flashbackOracle
- 閃回資料庫(flashback database)知識分享資料庫Database
- Oracle Flashback Archive——Oracle閃迴歸檔(上)OracleHive
- Oracle Flashback Archive——Oracle閃迴歸檔(中)OracleHive
- Oracle Flashback Archive——Oracle閃迴歸檔(下)OracleHive
- RAC資料庫啟用歸檔和閃回的步驟資料庫
- 【Flashback】使用Flashback Drop技術閃回被DROP表的指定版本資料
- Flashback閃回技術
- 【Flashback】使用檢視快速獲得Flashback Query閃回查詢資料
- 【FLASHBACK】關於閃回資料庫的一點說明資料庫
- Oracle 11g 閃回資料庫Oracle資料庫
- 啟用Flashback Database閃回資料庫功能(閃回區滿解決辦法 )Database資料庫
- 【oracle 】閃回與歸檔位置的理解Oracle
- 閃回資料庫時間視窗(flashback database window)資料庫Database
- 第5章 閃回資料庫Understanding the Flashback Database資料庫Database