SQL> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
--建立db_link,并验证是否正确。
CREATE PUBLIC DATABASE LINK "TESTB.COM"
CONNECT TO SCOTT
IDENTIFIED BY
USING '192.168.XXX.YYY:1521/orcl';
--启动数据库到read only模式:
SQL> select open_mode from v$database ;
OPEN_MODE
--------------------
READ ONLY
2.开始测试:
$ cat viewredo.sql
SELECT b.NAME, a.statistic#, a.VALUE
FROM v$mystat a, v$statname b
WHERE b.NAME IN ('redo size', 'redo wastage','user commits') AND a.statistic# = b.statistic#;
SQL> @viewredo
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 6 0
redo size 178 0
redo wastage 183 0
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
no rows selected
SQL> select sysdate from dual@testb.com;
SYSDATE
-------------------
2013-07-01 09:42:28
--奇怪,居然成功!
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
no rows selected
SQL> @viewredo
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 6 0
redo size 178 0
redo wastage 183 0
--在11G下没有回滚段产生,没有redo产生。
SQL> select dbms_transaction.local_transaction_id() x from dual ;
X
------------------------------
65535.0.599562215
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBAREC STATUS XID
---------- ---------- ---------- ---------- ---------- ---------- ---------------- ----------------
-1 0 599562215 0 0 0 IDLE FFFF0000E797BC23
SQL> select * from FLASHBACK_TRANSACTION_QUERY where xid=hextoraw('FFFF0000E923393B');
no rows selected
SQL> @viewredo
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 6 0
redo size 178 0
redo wastage 183 0
SQL> select * from dba_rollback_segs where segment_id=-1 ;
no rows selected
SQL> rollback ;
Rollback complete.
SQL> select dbms_transaction.local_transaction_id() x from dual ;
X
------------------------------
SQL> ver.sql
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
SQL> column name format a30
SQL> @viewredo.sql
NAME STATISTIC# VALUE
------------------------------ ---------- ----------
user commits 4 0
redo size 134 0
redo wastage 136 0
SQL> select sysdate from dual@mid ;
SYSDATE
-------------------
2013-07-01 11:27:58
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBAREC STATUS XID
---------- ---------- ---------- ---------- ---------- ---------- ---------------- ----------------
5 67 414045 0 0 0 ACTIVE 050043005D510600
SQL> @viewredo.sql
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 4 0
redo size 134 340
redo wastage 136 0
SQL> select * from FLASHBACK_TRANSACTION_QUERY where xid=hextoraw('050043005D510600');XID START_SCN START_TIMESTAMP COMMIT_SCN COMMIT_TIMESTAMP LOGON_USER UNDO_CHANGE# OPERATION TABLE_NAME TABLE_OWNER ROW_ID UNDO_SQL
---------------- ---------- ------------------- ---------- ------------------- ---------- ------------ ---------- ---------- ----------- ---------------
050043005D510600 9672478702 2013-07-01 11:27:58 XXXX 1 BEGIN
SQL> @ver.sql
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
SQL> set transaction read only;
Transaction set.
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
no rows selected
SQL> @viewredo.sql
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 4 0
redo size 134 0
redo wastage 136 0
SQL> select sysdate from dual@mid ;
SYSDATE
-------------------
2013-07-01 11:42:00
SQL> @viewredo.sql
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 4 0
redo size 134 0
redo wastage 136 0
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
no rows selected
SQL> select dbms_transaction.local_transaction_id() c20 from dual ;
C20
--------------------
5.25.414049
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBAREC STATUS XID
---------- ---------- ---------- ---------- ---------- ---------- ---------------- ----------------
5 25 414049 0 0 0 ACTIVE 0500190061510600
SQL> select open_mode from v$database ;
OPEN_MODE
--------------------
READ WRITE
SQL> @viewredo
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 6 0
redo size 178 724
redo wastage 183 0
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
no rows selected
SQL> select sysdate from dual@testb.com;
SYSDATE
-------------------
2013-07-01 12:04:05
SQL> select XIDUSN,XIDSLOT,XIDSQN,UBAFIL,UBABLK,UBAREC,STATUS,xid from v$transaction;
XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBAREC STATUS XID
---------- ---------- ---------- ---------- ---------- ---------- ---------------- ----------------
9 13 15788 0 0 0 ACTIVE 09000D00AC3D0000
SQL> @viewredo
NAME STATISTIC# VALUE
-------------------- ---------- ----------
user commits 6 0
redo size 178 980
redo wastage 183 0
SQL> select dbms_transaction.local_transaction_id() x from dual ;
X
------------------------------
9.13.15788
SQL> select * from FLASHBACK_TRANSACTION_QUERY where xid=hextoraw('09000D00AC3D0000');
XID START_SCN START_TIMESTAMP COMMIT_SCN COMMIT_TIMESTAMP LOGON_USER UNDO_CHANGE# OPERATION TABLE_NAME TABLE_OWNER ROW_ID UNDO_SQL
---------------- ---------- ------------------- ---------- ----------------- ---------- ------------ ---------- ---------- ----------- ------ --------
09000D00AC3D0000 3237659553 2013-07-01 12:04:04 SCOTT 1 BEGIN
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-765207/ ,如需转载,请注明出处,否则将追究法律责任。