Bo's Oracle Station

查看: 1756|回复: 0

课程第26次

[复制链接]

27

主题

27

帖子

183

积分

超级版主

Rank: 8Rank: 8

积分
183
发表于 2019-11-27 20:08:57 | 显示全部楼层 |阅读模式
Notice: This blog is written by Bo Tang.
  1. [oracle@station79 ~]$ sqlplus /nolog   

  2. SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 23 14:38:10 2019

  3. Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  4. SQL> conn hr/oracle_4U
  5. Connected.
  6. SQL> @t05310.sql
  7. Enter value for s1: t_cascade3
  8. old   1: create table &&s1( id number )
  9. new   1: create table t_cascade3 ( id number )

  10. Table created.


  11. old   1: insert into &&s1 values (1)
  12. new   1: insert into t_cascade3  values (1)

  13. 1 row created.

  14. old   1: insert into &&s1 values (2)
  15. new   1: insert into t_cascade3  values (2)

  16. 1 row created.

  17. old   1: insert into &&s1 values (3)
  18. new   1: insert into t_cascade3  values (3)

  19. 1 row created.


  20. Commit complete.

  21. old   1: update &&s1 set id=11 where id=1
  22. new   1: update t_cascade3  set id=11 where id=1

  23. 1 row updated.

  24. old   1: update &&s1 set id=22 where id=2
  25. new   1: update t_cascade3  set id=22 where id=2

  26. 1 row updated.

  27. old   1: update &&s1 set id=33 where id=3
  28. new   1: update t_cascade3  set id=33 where id=3

  29. 1 row updated.


  30. Commit complete.

  31. old   1: update &&s1 set id=222 where id=22
  32. new   1: update t_cascade3  set id=222 where id=22

  33. 1 row updated.

  34. old   1: update &&s1 set id=333 where id=33
  35. new   1: update t_cascade3  set id=333 where id=33

  36. 1 row updated.


  37. Commit complete.

  38. old   1: update &&s1 set id=22 where id=222
  39. new   1: update t_cascade3  set id=22 where id=222

  40. 1 row updated.


  41. Commit complete.

  42. SQL>  
复制代码
  1. select  log_mode from v$database;

  2. select   * from flashback_transaction_query ftq
  3. where ftq.logon_user='HR' and ftq.table_name='T_CASCADE3'  order by 2;


  4. begin
  5.   dbms_flashback.transaction_backout(numtxns => 1,
  6.   xids => xid_array('230021003F000000'));
  7. end;
  8.   
复制代码

1.png

  1. select   * from flashback_transaction_query ftq
  2. where ftq.logon_user='HR' and ftq.table_name='T_CASCADE3'  order by 2;


  3. begin
  4.   dbms_flashback.transaction_backout(numtxns => 1,
  5.   xids => xid_array('230021003F000000'),
  6.   options => dbms_flashback.cascade
  7.   );
  8. end;
  9.   
  10. select  * from dba_flashback_txn_report;
复制代码
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <COMP_XID_REPORT XID="1D000B0041000000">
  3.         <TRANSACTION XID="230021003F000000">
  4.         <CHARACTERISTICS>
  5.         </CHARACTERISTICS>
  6.         <UNDO_SQL>
  7.                 <USQL exec="yes">
  8.                  update "HR"."T_CASCADE3" set "ID" = '3' where "ID" = '33' and ROWID = 'AAAV3jAAEAABeINAAC'
  9.                 </USQL>
  10.                 <USQL exec="yes">
  11.                  update "HR"."T_CASCADE3" set "ID" = '2' where "ID" = '22' and ROWID = 'AAAV3jAAEAABeINAAB'
  12.                 </USQL>
  13.                 <USQL exec="yes">
  14.                  update "HR"."T_CASCADE3" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3jAAEAABeINAAA'
  15.                 </USQL>
  16.         </UNDO_SQL>
  17.         <DEPENDENT_XIDS>
  18.                 <TRANSACTION XID="09000C00710B0000">
  19.                 <CHARACTERISTICS>
  20.                 </CHARACTERISTICS>
  21.                 <UNDO_SQL>
  22.                         <USQL exec="yes">
  23.                          update "HR"."T_CASCADE3" set "ID" = '33' where "ID" = '333' and ROWID = 'AAAV3jAAEAABeINAAC'
  24.                         </USQL>
  25.                         <USQL exec="yes">
  26.                          update "HR"."T_CASCADE3" set "ID" = '22' where "ID" = '222' and ROWID = 'AAAV3jAAEAABeINAAB'
  27.                         </USQL>
  28.                 </UNDO_SQL>
  29.                 <DEPENDENT_XIDS>
  30.                         <TRANSACTION XID="2800130041000000">
  31.                         <CHARACTERISTICS>
  32.                         </CHARACTERISTICS>
  33.                         <UNDO_SQL>
  34.                                 <USQL exec="yes">
  35.                                  update "HR"."T_CASCADE3" set "ID" = '222' where "ID" = '22' and ROWID = 'AAAV3jAAEAABeINAAB'
  36.                                 </USQL>
  37.                         </UNDO_SQL>
  38.                         <DEPENDENT_XIDS>
  39.                         </DEPENDENT_XIDS>
  40.                         </TRANSACTION>
  41.                 </DEPENDENT_XIDS>
  42.                 </TRANSACTION>
  43.         </DEPENDENT_XIDS>
  44.         </TRANSACTION>
  45. <EXECUTED_UNDO_SQL>
  46. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '222' where "ID" = '22' and ROWID = 'AAAV3jAAEAABeINAAB'
  47. </EXEC_USQL>
  48. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '33' where "ID" = '333' and ROWID = 'AAAV3jAAEAABeINAAC'
  49. </EXEC_USQL>
  50. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '22' where "ID" = '222' and ROWID = 'AAAV3jAAEAABeINAAB'
  51. </EXEC_USQL>
  52. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '3' where "ID" = '33' and ROWID = 'AAAV3jAAEAABeINAAC'
  53. </EXEC_USQL>
  54. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '2' where "ID" = '22' and ROWID = 'AAAV3jAAEAABeINAAB'
  55. </EXEC_USQL>
  56. <EXEC_USQL>update "HR"."T_CASCADE3" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3jAAEAABeINAAA'
  57. </EXEC_USQL>
  58. </EXECUTED_UNDO_SQL>
  59. </COMP_XID_REPORT>
复制代码
----------------------------------------------------------------------------------------------------

  1. SQL> @t05310
  2. Enter value for s1: t_nonconflict_only
  3. old   1: create table &&s1( id number )
  4. new   1: create table t_nonconflict_only( id number )

  5. Table created.


  6. old   1: insert into &&s1 values (1)
  7. new   1: insert into t_nonconflict_only values (1)

  8. 1 row created.

  9. old   1: insert into &&s1 values (2)
  10. new   1: insert into t_nonconflict_only values (2)

  11. 1 row created.

  12. old   1: insert into &&s1 values (3)
  13. new   1: insert into t_nonconflict_only values (3)

  14. 1 row created.


  15. Commit complete.

  16. old   1: update &&s1 set id=11 where id=1
  17. new   1: update t_nonconflict_only set id=11 where id=1

  18. 1 row updated.

  19. old   1: update &&s1 set id=22 where id=2
  20. new   1: update t_nonconflict_only set id=22 where id=2

  21. 1 row updated.

  22. old   1: update &&s1 set id=33 where id=3
  23. new   1: update t_nonconflict_only set id=33 where id=3

  24. 1 row updated.


  25. Commit complete.

  26. old   1: update &&s1 set id=222 where id=22
  27. new   1: update t_nonconflict_only set id=222 where id=22

  28. 1 row updated.

  29. old   1: update &&s1 set id=333 where id=33
  30. new   1: update t_nonconflict_only set id=333 where id=33

  31. 1 row updated.


  32. Commit complete.

  33. old   1: update &&s1 set id=22 where id=222
  34. new   1: update t_nonconflict_only set id=22 where id=222

  35. 1 row updated.


  36. Commit complete.

  37. SQL>
复制代码
  1. select   * from flashback_transaction_query ftq
  2. where ftq.logon_user='HR' and ftq.table_name='T_NONCONFLICT_ONLY'  order by 2;
  3. --0C000800AE020000

  4. begin
  5.   dbms_flashback.transaction_backout(numtxns => 1,
  6.   xids => xid_array('0C000800AE020000'),
  7.   options => dbms_flashback.nonconflict_only
  8.   );
  9. end;
复制代码
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <COMP_XID_REPORT XID="11000100B6020000" NAME="_SYS_COMP_TXN_3672269_TIM_1571815103">
  3.         <TRANSACTION XID="0C000800AE020000">
  4.         <CHARACTERISTICS>
  5.         </CHARACTERISTICS>
  6.         <UNDO_SQL>
  7.                 <USQL exec="no">
  8.                  update "HR"."T_NONCONFLICT_ONLY" set "ID" = '3' where "ID" = '33' and ROWID = 'AAAV3pAAEAABeIVAAC'
  9.                 </USQL>
  10.                 <USQL exec="no">
  11.                  update "HR"."T_NONCONFLICT_ONLY" set "ID" = '2' where "ID" = '22' and ROWID = 'AAAV3pAAEAABeIVAAB'
  12.                 </USQL>
  13.                 <USQL exec="yes">
  14.                  update "HR"."T_NONCONFLICT_ONLY" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3pAAEAABeIVAAA'
  15.                 </USQL>
  16.         </UNDO_SQL>
  17.         <DEPENDENT_XIDS>
  18.                 <TRANSACTION XID="080018009C0B0000">
  19.                 <CHARACTERISTICS>
  20.                 </CHARACTERISTICS>
  21.                 <UNDO_SQL>
  22.                         <USQL exec="no">
  23.                          update "HR"."T_NONCONFLICT_ONLY" set "ID" = '33' where "ID" = '333' and ROWID = 'AAAV3pAAEAABeIVAAC'
  24.                         </USQL>
  25.                         <USQL exec="no">
  26.                          update "HR"."T_NONCONFLICT_ONLY" set "ID" = '22' where "ID" = '222' and ROWID = 'AAAV3pAAEAABeIVAAB'
  27.                         </USQL>
  28.                 </UNDO_SQL>
  29.                 <DEPENDENT_XIDS>
  30.                         <TRANSACTION XID="11001F00B5020000">
  31.                         <CHARACTERISTICS>
  32.                         </CHARACTERISTICS>
  33.                         <UNDO_SQL>
  34.                                 <USQL exec="no">
  35.                                  update "HR"."T_NONCONFLICT_ONLY" set "ID" = '222' where "ID" = '22' and ROWID = 'AAAV3pAAEAABeIVAAB'
  36.                                 </USQL>
  37.                         </UNDO_SQL>
  38.                         <DEPENDENT_XIDS>
  39.                         </DEPENDENT_XIDS>
  40.                         </TRANSACTION>
  41.                 </DEPENDENT_XIDS>
  42.                 </TRANSACTION>
  43.         </DEPENDENT_XIDS>
  44.         </TRANSACTION>
  45. <EXECUTED_UNDO_SQL>
  46. <EXEC_USQL>update "HR"."T_NONCONFLICT_ONLY" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3pAAEAABeIVAAA'
  47. </EXEC_USQL>
  48. </EXECUTED_UNDO_SQL>
  49. </COMP_XID_REPORT>
复制代码





------------------------------------------------------

  1. SQL> @t05310
  2. Enter value for s1: t_nocascade_only
  3. old   1: create table &&s1( id number )
  4. new   1: create table t_nocascade_only( id number )

  5. Table created.


  6. old   1: insert into &&s1 values (1)
  7. new   1: insert into t_nocascade_only values (1)

  8. 1 row created.

  9. old   1: insert into &&s1 values (2)
  10. new   1: insert into t_nocascade_only values (2)

  11. 1 row created.

  12. old   1: insert into &&s1 values (3)
  13. new   1: insert into t_nocascade_only values (3)

  14. 1 row created.


  15. Commit complete.

  16. old   1: update &&s1 set id=11 where id=1
  17. new   1: update t_nocascade_only set id=11 where id=1

  18. 1 row updated.

  19. old   1: update &&s1 set id=22 where id=2
  20. new   1: update t_nocascade_only set id=22 where id=2

  21. 1 row updated.

  22. old   1: update &&s1 set id=33 where id=3
  23. new   1: update t_nocascade_only set id=33 where id=3

  24. 1 row updated.


  25. Commit complete.

  26. old   1: update &&s1 set id=222 where id=22
  27. new   1: update t_nocascade_only set id=222 where id=22

  28. 1 row updated.

  29. old   1: update &&s1 set id=333 where id=33
  30. new   1: update t_nocascade_only set id=333 where id=33

  31. 1 row updated.


  32. Commit complete.

  33. old   1: update &&s1 set id=22 where id=222
  34. new   1: update t_nocascade_only set id=22 where id=222

  35. 1 row updated.


  36. Commit complete.

  37. SQL>
复制代码
  1. select   * from flashback_transaction_query ftq
  2. where ftq.logon_user='HR' and ftq.table_name='T_NOCASCADE_FORCE'  order by 2;
  3. --1D00080042000000

  4. begin
  5.   dbms_flashback.transaction_backout(numtxns => 1,
  6.   xids => xid_array('1D00080042000000'),
  7.   options => dbms_flashback.nocascade_force
  8.   );
  9. end;
复制代码
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <COMP_XID_REPORT XID="0B001200AF020000" NAME="_SYS_COMP_TXN_3672269_TIM_1571815606">
  3.         <TRANSACTION XID="1D00080042000000">
  4.         <CHARACTERISTICS>
  5.         </CHARACTERISTICS>
  6.         <UNDO_SQL>
  7.                 <USQL exec="yes">
  8.                  update "HR"."T_NOCASCADE_FORCE" set "ID" = '3' where "ID" = '33' and ROWID = 'AAAV3rAAEAABeIlAAC'
  9.                 </USQL>
  10.                 <USQL exec="yes">
  11.                  update "HR"."T_NOCASCADE_FORCE" set "ID" = '2' where "ID" = '22' and ROWID = 'AAAV3rAAEAABeIlAAB'
  12.                 </USQL>
  13.                 <USQL exec="yes">
  14.                  update "HR"."T_NOCASCADE_FORCE" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3rAAEAABeIlAAA'
  15.                 </USQL>
  16.         </UNDO_SQL>
  17.         <DEPENDENT_XIDS>
  18.                 <TRANSACTION XID="18000900B6020000">
  19.                 <CHARACTERISTICS>
  20.                 </CHARACTERISTICS>
  21.                 <UNDO_SQL>
  22.                         <USQL exec="no">
  23.                          update "HR"."T_NOCASCADE_FORCE" set "ID" = '33' where "ID" = '333' and ROWID = 'AAAV3rAAEAABeIlAAC'
  24.                         </USQL>
  25.                         <USQL exec="no">
  26.                          update "HR"."T_NOCASCADE_FORCE" set "ID" = '22' where "ID" = '222' and ROWID = 'AAAV3rAAEAABeIlAAB'
  27.                         </USQL>
  28.                 </UNDO_SQL>
  29.                 <DEPENDENT_XIDS>
  30.                         <TRANSACTION XID="2600120041000000">
  31.                         <CHARACTERISTICS>
  32.                         </CHARACTERISTICS>
  33.                         <UNDO_SQL>
  34.                                 <USQL exec="no">
  35.                                  update "HR"."T_NOCASCADE_FORCE" set "ID" = '222' where "ID" = '22' and ROWID = 'AAAV3rAAEAABeIlAAB'
  36.                                 </USQL>
  37.                         </UNDO_SQL>
  38.                         <DEPENDENT_XIDS>
  39.                         </DEPENDENT_XIDS>
  40.                         </TRANSACTION>
  41.                 </DEPENDENT_XIDS>
  42.                 </TRANSACTION>
  43.         </DEPENDENT_XIDS>
  44.         </TRANSACTION>
  45. <EXECUTED_UNDO_SQL>
  46. <EXEC_USQL>update "HR"."T_NOCASCADE_FORCE" set "ID" = '3' where "ID" = '33' and ROWID = 'AAAV3rAAEAABeIlAAC'
  47. </EXEC_USQL>
  48. <EXEC_USQL>update "HR"."T_NOCASCADE_FORCE" set "ID" = '2' where "ID" = '22' and ROWID = 'AAAV3rAAEAABeIlAAB'
  49. </EXEC_USQL>
  50. <EXEC_USQL>update "HR"."T_NOCASCADE_FORCE" set "ID" = '1' where "ID" = '11' and ROWID = 'AAAV3rAAEAABeIlAAA'
  51. </EXEC_USQL>
  52. </EXECUTED_UNDO_SQL>
  53. </COMP_XID_REPORT>
复制代码
----------------------------------
一下是我们实验的结果:
原表是:
11
22
333
  1. SQL> select  * from t_nocascade_force;

  2.         ID
  3. ----------
  4.          1
  5.          2
  6.        333

  7. SQL> select  * from t_nonconflict_only;

  8.         ID
  9. ----------
  10.          1
  11.         22
  12.        333

  13. SQL> select  * from t_cascade3;

  14.         ID
  15. ----------
  16.          1
  17.          2
  18.          3

  19. SQL>
复制代码

Botang唐波 8:03:04
如果没有第4个事务:

Botang唐波 8:03:42
原表: 11 222 333
t_cascade3 :   1 2 3

Botang唐波 8:04:25
t_nonconflict_only: 1 222 333(只做第一行)

Botang唐波 8:04:49
t_nocascade_force: 1 222 333(3行都做,但是where a=11能碰上, where a=22碰不上, where a=33也碰不上; 11/22/33是要挖掉事务的“丰功伟绩”)
--------------------------------------------------------------------
闪回7(支持闪回2/3)

闪回1是闪回8的导航器;闪回3是闪回4的导航器,闪回7支持闪回2/3。



  1. create flashback archive fda1 tablespace users quota 10M  retention 10 year;


  2. grant flashback archive on fda1 to hr;
复制代码
  1. [oracle@station79 ~]$ sqlplus /nolog

  2. SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 23 16:18:38 2019

  3. Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  4. SQL> conn hr/oracle_4U
  5. Connected.
  6. SQL> alter table employees flashback archive fda1;

  7. Table altered.

  8. SQL>
复制代码



  1. select  * from dba_flashback_archive;

  2. select  * from dba_flashback_archive_tables;

  3. select  * from dba_flashback_archive_ts;
复制代码

   OWNER_NAMEFLASHBACK_ARCHIVE_NAMEFLASHBACK_ARCHIVE#RETENTION_IN_DAYSCREATE_TIMELAST_PURGE_TIMESTATUS
1SYSFDA11365023-10月-19 04.16.50.000000000 下午23-10月-19 04.16.50.000000000 下午


   TABLE_NAMEOWNER_NAMEFLASHBACK_ARCHIVE_NAMEARCHIVE_TABLE_NAMESTATUS
1EMPLOYEESHRFDA1SYS_FBA_HIST_88047ENABLED

   FLASHBACK_ARCHIVE_NAMEFLASHBACK_ARCHIVE#TABLESPACE_NAMEQUOTA_IN_MB
1FDA11USERS10


  1. SQL> update employees set salary=60000 where employee_id=100;

  2. 1 row updated.

  3. SQL> commit;

  4. Commit complete.

  5. SQL> select  * from hr.SYS_FBA_HIST_88047;
  6. select  * from hr.SYS_FBA_HIST_88047
  7.                   *
  8. ERROR at line 1:
  9. ORA-00942: table or view does not exist
复制代码

等待:
  1. SQL> /

  2. RID
  3. --------------------------------------------------------------------------------
  4.   STARTSCN     ENDSCN XID              O EMPLOYEE_ID FIRST_NAME
  5. ---------- ---------- ---------------- - ----------- --------------------
  6. LAST_NAME                 EMAIL                     PHONE_NUMBER
  7. ------------------------- ------------------------- --------------------
  8. HIRE_DATE           JOB_ID         SALARY COMMISSION_PCT MANAGER_ID
  9. ------------------- ---------- ---------- -------------- ----------
  10. DEPARTMENT_ID
  11. -------------
  12. AAAVTFAAFAAAADNAAC
  13.               4962452                            100 Steven
  14. King                      YYYY                      515.123.4567

  15. RID
  16. --------------------------------------------------------------------------------
  17.   STARTSCN     ENDSCN XID              O EMPLOYEE_ID FIRST_NAME
  18. ---------- ---------- ---------------- - ----------- --------------------
  19. LAST_NAME                 EMAIL                     PHONE_NUMBER
  20. ------------------------- ------------------------- --------------------
  21. HIRE_DATE           JOB_ID         SALARY COMMISSION_PCT MANAGER_ID
  22. ------------------- ---------- ---------- -------------- ----------
  23. DEPARTMENT_ID
  24. -------------
  25. 2003-06-17:00:00:00 AD_PRES         50000
  26.            90

复制代码
  1. SQL> create table t_part1 ( a number )
  2.   2  partition by range(a)
  3.   3  (partition t_part1_p1 values less than (100),
  4.   4   partition t_part1_p2 values less than (maxvalue));

  5. Table created.

  6. SQL> insert into t_part1  values (100);

  7. 1 row created.

  8. SQL> commit;

  9. Commit complete.

  10. SQL> insert into t_part1  values(1);

  11. 1 row created.

  12. SQL> commit;

  13. Commit complete.

  14. SQL> select  * from t_part1;

  15.          A
  16. ----------
  17.          1
  18.        100

  19. SQL> select  * from t_part1 (t_part1_p1);
  20. select  * from t_part1 (t_part1_p1)
  21.                        *
  22. ERROR at line 1:
  23. ORA-00933: SQL command not properly ended


  24. SQL> select  * from t_part1  partition  (t_part1_p1);

  25.          A
  26. ----------
  27.          1

  28. SQL> select  * from t_part1  partition  (t_part1_p2);

  29.          A
  30. ----------
  31.        100

  32. SQL>
复制代码
  1. alter flashback archive fda1 set default;
复制代码
  1. SQL> alter table t_part1 flashback archive fda1;

  2. Table altered.

  3. SQL>  alter table t_part1 flashback archive;
  4. alter table t_part1 flashback archive
  5. *
  6. ERROR at line 1:
  7. ORA-55600: The table "HR"."T_PART1" is already enabled for Flashback Archive
复制代码

OTR框架下,有一些DDL操作不能执行:
  1. SQL> drop table t_part1;
  2. drop table t_part1
  3.            *
  4. ERROR at line 1:
  5. ORA-55610: Invalid DDL statement on history-tracked table


  6. SQL>
复制代码
  1. select  * from dba_tab_partitions  tp where tp.table_owner='HR' and tp.table_name='T_PART1';
复制代码
  1. SQL> alter table t_part1 split partition t_part1_p1 at (50)  into ( partition  t_part1_p11, partition t_part1_p12) ;
  2. alter table t_part1 split partition t_part1_p1 at (50)  into ( partition  t_part1_p11, partition t_part1_p12)
  3. *
  4. ERROR at line 1:
  5. ORA-55610: Invalid DDL statement on history-tracked table

复制代码


  1. select  * from dba_flashback_archive_tables;

  2. select * from hr.SYS_FBA_HIST_89592;

  3. update hr.SYS_FBA_HIST_89592 set a=10 where a=1;
复制代码
2.png

  1. begin
  2.    dbms_flashback_archive.disassociate_fba(owner_name => 'HR',
  3.    table_name => 'T_PART1');
  4. end;
复制代码
  1. SQL>  alter table t_part1 split partition t_part1_p1 at (50)  into ( partition  t_part1_p11, partition t_part1_p12) ;

  2. Table altered.
复制代码
  1. update hr.SYS_FBA_HIST_89592 set a=10 where a=1;

  2. commit;
复制代码
  1. begin
  2.    dbms_flashback_archive.reassociate_fba(owner_name => 'HR',
  3.    table_name => 'T_PART1');
  4. end;
复制代码
  1. select  versions_xid, versions_operation, versions_startscn , a  from hr.t_part1
  2. versions between scn minvalue and maxvalue;
复制代码


3.png








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-5-9 07:20 , Processed in 0.050873 second(s), 27 queries .

快速回复 返回顶部 返回列表