閃回刪除、閃回查詢
一、閃回刪除
實驗步驟:
利用閃回刪除恢復被刪除的job_history表;
操作如下:
(1) 刪除HR使用者中的JOB_HISTORY表;
SYS@GMDBA> conn hr/oracle
Connected.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
HR@GMDBA> drop table JOB_HISTORY;
Table dropped.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$7JztDH4gOM/gQwpQqMChGg==$0 TABLE
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
(2) 進行閃回刪除;
HR@GMDBA> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ --------------
JOB_HISTORY BIN$7JztDH4gOM/gQwpQqMChGg==$0 TABLE 2013-12-03:16:17:24
HR@GMDBA> flashback table "BIN$7JztDH4gOM/gQwpQqMChGg==$0" to before drop;
Flashback complete.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
二、閃回查詢
實驗步驟:
1.刪除hr使用者下的job_history表的資料;
2.使用閃回查詢檢視刪除前的資料;
3.利用閃回刪除恢復刪除的資料;
操作如下:
(1) 查詢hr使用者下的job_history表資料;
SYS@GMDBA> conn hr/oracle
Connected.
HR@GMDBA> select * from job_history;
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
(2) 確定當前時間;
HR@GMDBA> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
HR@GMDBA> select sysdate from dual;
SYSDATE
-------------------
2013-12-03 22:59:37
(3) 刪除hr使用者下的job_history表資料;
HR@GMDBA> delete from job_history;
10 rows deleted.
HR@GMDBA> commit;
Commit complete.
HR@GMDBA> select * from job_history;
no rows selected
(4) 利用閃回查詢檢視刪除前的資料;
HR@GMDBA> select * from job_history as of timestamp to_timestamp('2013-12-03 22:59:37','yyyy-mm-dd hh24:mi:ss');
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
(5) 把資料插回job_history表中;
HR@GMDBA> insert into job_history select * from job_history as of timestamp to_timestamp('2013-12-03 22:59:37','yyyy-mm-dd hh24:mi:ss');
10 rows created.
HR@GMDBA> select * from job_history;
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
HR@GMDBA> commit;
Commit complete.
實驗步驟:
利用閃回刪除恢復被刪除的job_history表;
操作如下:
(1) 刪除HR使用者中的JOB_HISTORY表;
SYS@GMDBA> conn hr/oracle
Connected.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
HR@GMDBA> drop table JOB_HISTORY;
Table dropped.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$7JztDH4gOM/gQwpQqMChGg==$0 TABLE
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
(2) 進行閃回刪除;
HR@GMDBA> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ --------------
JOB_HISTORY BIN$7JztDH4gOM/gQwpQqMChGg==$0 TABLE 2013-12-03:16:17:24
HR@GMDBA> flashback table "BIN$7JztDH4gOM/gQwpQqMChGg==$0" to before drop;
Flashback complete.
HR@GMDBA> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMPLOYEES_TEST TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
REGIONS TABLE
9 rows selected.
二、閃回查詢
實驗步驟:
1.刪除hr使用者下的job_history表的資料;
2.使用閃回查詢檢視刪除前的資料;
3.利用閃回刪除恢復刪除的資料;
操作如下:
(1) 查詢hr使用者下的job_history表資料;
SYS@GMDBA> conn hr/oracle
Connected.
HR@GMDBA> select * from job_history;
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
(2) 確定當前時間;
HR@GMDBA> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
HR@GMDBA> select sysdate from dual;
SYSDATE
-------------------
2013-12-03 22:59:37
(3) 刪除hr使用者下的job_history表資料;
HR@GMDBA> delete from job_history;
10 rows deleted.
HR@GMDBA> commit;
Commit complete.
HR@GMDBA> select * from job_history;
no rows selected
(4) 利用閃回查詢檢視刪除前的資料;
HR@GMDBA> select * from job_history as of timestamp to_timestamp('2013-12-03 22:59:37','yyyy-mm-dd hh24:mi:ss');
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
(5) 把資料插回job_history表中;
HR@GMDBA> insert into job_history select * from job_history as of timestamp to_timestamp('2013-12-03 22:59:37','yyyy-mm-dd hh24:mi:ss');
10 rows created.
HR@GMDBA> select * from job_history;
EMPLOYEE_ID START_DAT END_DATE JOB_ID DEPARTMENT_ID
----------- --------- --------- ---------- -------------
102 13-JAN-01 24-JUL-06 IT_PROG 60
101 21-SEP-97 27-OCT-01 AC_ACCOUNT 110
101 28-OCT-01 15-MAR-05 AC_MGR 110
201 17-FEB-04 19-DEC-07 MK_REP 20
114 24-MAR-06 31-DEC-07 ST_CLERK 50
122 01-JAN-07 31-DEC-07 ST_CLERK 50
200 17-SEP-95 17-JUN-01 AD_ASST 90
176 24-MAR-06 31-DEC-06 SA_REP 80
176 01-JAN-07 31-DEC-07 SA_MAN 80
200 01-JUL-02 31-DEC-06 AC_ACCOUNT 90
10 rows selected.
HR@GMDBA> commit;
Commit complete.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29319205/viewspace-1062222/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM7閃回與閃回查詢
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- DM8 閃回查詢
- Flashback Drop閃回刪除功能實踐
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- MySQL使用binlog2sql閃回誤刪除資料MySql
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- 2.6.3 指定閃回區
- flashback query閃回資料
- Oracle資料庫閃回Oracle資料庫
- mysql閃回工具binlog2sqlMySql
- Oracle閃回技術--Flashback Version QueryOracle
- Oracle 閃回資料庫測試Oracle資料庫
- my2sql資料閃回SQL
- 【PDB】pdb閃回,Oracle還原點Oracle
- 【趙強老師】MySQL的閃回MySql
- 詳解oracle資料庫閃回Oracle資料庫
- dg_閃回資料庫實驗資料庫
- 工具分享丨資料閃回工具MyFlash
- [20180423]表空間閃回與snapshot standby
- Orcale利用閃回功能恢復資料
- 【RECO_ORACLE】Oracle閃回PDB的方法Oracle
- MySQL誤刪資料?試試資料閃回工具binlog2sqlMySql
- MySQL工具之binlog2sql閃回操作MySql
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle回收站表閃回機制研究Oracle
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- 利用binlog2sql閃回丟失資料SQL
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 一個非常老但是很有用的功能-閃回
- mysql刪除查詢MySql
- rac使用預設閃回區歸檔空間滿
- [20180419]關於閃回的一些問題.txt
- Oracle閃回技術 概覽 應用程式開發功能Oracle
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- Oracle閃回功能恢復偶然丟失的資料(轉)Oracle
- [20180423]關於閃回表與主外來鍵約束.txt
- 【FLASHBACK】Oracle閃回及回收站相關語句參考Oracle