Flashback transaction

HI,
I have deleted one row from a table and corresponding query from flashback_transaction_query gives following output:
SQL> select start_timestamp,operation,commit_timestamp from flashback_transaction_query where xid=hextoraw('07000E0023020000');
START_TIMESTAMP OPERATION COMMIT_TIMESTAMP
20-feb-2006 13:07:37 DELETE 20-feb-2006 13:07:49
20-feb-2006 13:07:37 BEGIN 20-feb-2006 13:07:49
It also shows operation BEGIN in specified interval. Whats its significance as only delete operation takes place.
Neeraj

There are multiple demos of Flashback technology demonstrating what they do in Morgan's Library at www.psoug.org.
The impact of undo_retention is important in 10g though it is certainly no guarantee. In 11g use Flashback Archive to create a more-or-less permanent storage facility for undo information and then undo retention is meaningless with regard to Flashback Tx.

Similar Messages

  • Flashback Transaction Query very SLOWWWW

    We are planning to make numerous changes to data in our database soon and we
    want to be able to use flashback_transaction to rollback these changes if we
    need to. I have been able to use flashback_transaction_query to capture and
    create the undo sql but it is a VERY slow process. I have lowered the
    db_flashback_retention_target from 1140 to 360 in an attempt to reduce the
    amount of data we have to read to capture the undo sql but that didn't seem to
    help. Even with the db_flashback_retention_target set to 360 I am seeing
    statements over 6 hours old. Is there any way to speed up the process of
    capturing the undo sql? Here is the sql I use:
    select undo_sql
    from flashback_transaction_query
    where logon_user = 'ROLLOUT';

    This information is form the documentation -> http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_flashback.htm#sthref1493
    Flashback Tips – Performance
    * For better performance, generate statistics on all tables involved in a Flashback Query by using the DBMS_STATS package, and keep the statistics current. Flashback Query always uses the cost-based optimizer, which relies on these statistics.
    * The performance of a query into the past depends on how much undo data must be accessed. For better performance, use queries to select small sets of past data using indexes, not to scan entire tables. If you must do a full table scan, consider adding a parallel hint to the query.
    * The performance cost in I/O is the cost of paging in data and undo blocks that are not already in the buffer cache. The performance cost in CPU use is the cost of applying undo information to affected data blocks. When operating on changes in the recent past, flashback features essentially CPU bound.
    * Use index structures for Flashback Version Query: the database keeps undo data for index changes as well as data changes. Performance of index lookup-based Flashback Version Query is an order of magnitude faster than the full table scans that are otherwise needed.
    * In a Flashback Transaction Query, the type of the xid column is RAW(8). To take advantage of the index built on the xid column, use the HEXTORAW conversion function: HEXTORAW(xid).
    * Flashback Query against a materialized view does not take advantage of query rewrite optimizations.
    See Also:
    Oracle Database Performance Tuning Guide
    Also taking sql trace and analysing would help -> http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14211/sqltrace.htm#PFGRF01020

  • Flashback 기능 관련 질문 드립니다.[FLASHBACK TRANSACTION QUERY]

    flashback 기능을 공부 중에 있습니다.
    테스트 환경 은 10GR1 입니다.
    scott 에 dba 권한을 주구 쉽게 테스트 진행 중에
    예제와 좀 다른 결과가 나와서, 좀 이상하게 생각이 되서요..
    원래 이게 맞는지도 잘 모르겠네요..
    제가 테스트 진행에 참고하는 문서는
    Reviewed by Oracle Certified Master Korea Community
    ( http://www.ocmkorea.com http://cafe.daum.net/oraclemanager )
    A REWIND BUTTON FOR ORACLE 10G DATABASE
    – FLASHBACK BEST PRACTICES
    입니다. 오타가 좀 있더군요..
    아래와 같이 테스트를 진행 하였습니다.
    ### Test 시작
    # sysdate check
    --select sysdate from dual
    --2007/02/21 20:14:57
    # emp data check
    --select * from emp
    --7782     CLARK     MANAGER     7839     1981/06/09 00:00:00     2450          10
    --7788     SCOTT     ANALYST     7566     1982/12/09 00:00:00     3000          20
    --7839     KING     PRESIDENT          1981/11/17 00:00:00     5000          10
    --7844     TURNER     SALESMAN     7698     1981/09/08 00:00:00     1500     0     30
    --7876     ADAMS     CLERK     7788     1983/01/12 00:00:00     1100          20
    --7900     JAMES     CLERK     7698     1981/12/03 00:00:00     950          30
    --7902     FORD     ANALYST     7566     1981/12/03 00:00:00     3000          20
    --7934     MILLER     CLERK     7782     1982/01/23 00:00:00     1300          10
    ## 3rows 삭제
    --delete emp where empno in ( 7782,7788,7839 )
    --commit
    ## 삭제 결과 확인
    --select * from emp
    --7844     TURNER     SALESMAN     7698     1981/09/08 00:00:00     1500     0     30
    --7876     ADAMS     CLERK     7788     1983/01/12 00:00:00     1100          20
    --7900     JAMES     CLERK     7698     1981/12/03 00:00:00     950          30
    --7902     FORD     ANALYST     7566     1981/12/03 00:00:00     3000          20
    --7934     MILLER     CLERK     7782     1982/01/23 00:00:00     1300          10
    ## Sysdate Check
    -- select sysdate from dual
    -- 2007/02/21 20:16:19
    ## 원래 이부분은 원문은 where 절을 추가하여 아래와 같습니다.
    SELECT version xid, ename
    FROM emp
    VERSIONS BETWEEN
    TO_TIMESTAMP('03/15/2005 15:30:00', 'MM/DD/YYYY HH24:MI:SS') AND
    TO_TIMESTAMP('03/15/2005 16:10:00', 'MM/DD/YYYY HH24:MI:SS')
    WHERE empno = ‘7900’;
    제가 테스트 한건 특정 시간에 delete 혹은 dml 에 의해서 변경된 전체를
    찾는 다는 의미에서 where 절을 주지 않았습니다.
    ==> 이 부분이 맞는지 모르겠네요..
    -- select versions_xid, ename from emp versions between timestamp
    -- to_timestamp('2007.02.21 19:40:00','YYYY.MM.DD HH24:MI:SS') and
    -- to_timestamp('2007/02/21 20:16:19','YYYY.MM.DD HH24:MI:SS')
    ## Return 된 결과
    -- 0004002D0002F847     KING
    --0004002D0002F847     SCOTT
    --0004002D0002F847     CLARK
    --     CLARK
    --     SCOTT
    --     KING
    --     TURNER
    --     ADAMS
    --     JAMES
    --     FORD
    --     MILLER
    ## xid 값을 통해서 undo_sql 문장을 찾고 이를 통해서 손쉽게
    복구가 가능하다고 하는데 실제로 return 되는 undo_sql 문장은
    전체가 아닌 한 row 에 대한 undo_sql 문장만 return 되서요..
    --SELECT operation, undo_sql
    --FROM FLASHBACK_TRANSACTION_QUERY
    --WHERE xid = HEXTORAW('0004002D0002F847');
    --DELETE     insert into "SCOTT"."EMP"("EMPNO","ENAME","JOB","MGR","HIREDATE","SAL","COMM","DEPTNO")
    -- values ('7782','CLARK','MANAGER','7839',TO_DATE('81/06/09', 'RR/MM/DD'),'2450',NULL,'10');
    --BEGIN     
    ==> undo 로 return 되는것은 한 row 에 대한 undo_sql 문 !!
    # 이건 참고 문서 원문 입니다. xid 값을 통해서 원하는 문장 찾기
    SELECT operation, undo_sql
    FROM FLASHBACK_TRANSACTION_QUERY
    WHERE xid = HEXTORAW(‘0400260021450000’);
    ## Test 끝
    이것이 정상적인지 제가 miss 하고 가는 것이 있는지 조언
    부탁드립니다.
    좋은 하루 되세요 .
    글 수정:
    darkturtle
    글 수정:
    darkturtle

    flashback 기능은 9i때 도입된건 맞습니다. 다만 9i 때는 [flashback query] 만 제공 되었고,
    10g 이후부터
    lashback Database
    Flashback Drop
    Flashback Query
    Flashback Version Query
    Flashback Transaction Query
    Flashback Table
    모두 지원되며, 11g에서도 물론 지원됩니다.... 아마 더 추가된 flashback 기능이 있을 겁니다.. ^^

  • Flashback transaction query output

    Hi there,
    Here is my small demo.
    C:\Documents and Settings\Aman>net start oracleserviceorcl
    The OracleServiceORCL service is starting.............................
    The OracleServiceORCL service was started successfully.
    C:\Documents and Settings\Aman>sqlplus aman/
    SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 9 19:38:00 2007
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    Enter password:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL> create table a ( a number);
    create table a ( a number)
    ERROR at line 1:
    ORA-00955: name is already used by an existing object
    SQL> drop table a purge;
    Table dropped.
    SQL> create table a ( a number);
    Table created.
    SQL> insert into a values(1);
    1 row created.
    SQL> insert into a values(2);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> update a set a=100;
    2 rows updated.
    SQL> commit;
    Commit complete.
    SQL> select versions_xid from a
    2 versions between scn minvalue and maxvalue;
    VERSIONS_XID
    0A001100F2010000
    0A001100F2010000
    04001C00DD010000
    04001C00DD010000
    SQL> select xid, undo_sql
    2 from flashback_transaction_query
    3 where xid=hextoraw('0A001100F2010000');
    XID
    UNDO_SQL
    0A001100F2010000
    update "AMAN"."A" set "A" = '1' where ROWID = 'AAAM5kAAEAAAAG+AAA';
    0A001100F2010000
    update "AMAN"."A" set "A" = '2' where ROWID = 'AAAM5kAAEAAAAG+AAB';
    0A001100F2010000
    What I am not able to get is that I should be seeing 2 rows in the output of flashback transaction query view but I am seeing 3 with in one, there is no undo_sql shown but xid is shown. Can anyone let me know why there is this additional third row available and what does it signify?I assume it to be some what associated with commit that I gave but I amot sure as its just a hunch.Any inputs are highly welcome.
    Thanks and best regards,
    Aman....

    Yes, the transaction starts with your first dml statement.
    The BEGIN record in flashback_transaction_query marks the beginning of the transaction. If you order the rows by UNDO_CHANGE# you see that the dml statements are returned in reverse order and the last row is the BEGIN row. The view just displays it to mark the beginning of that transaction.
    It is a little bit strange as we can identify a single transaction by the XID column, but maybe that row is used for some other internal processing, I am just guessing.
    SQL> create table a ( a number);
    Table created.
    SQL> insert into a values(1);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select versions_xid from a
      2  versions between scn minvalue and maxvalue;
    VERSIONS_XID
    0029001B0000450B
    SQL> column operation format a10
    SQL> column table_name format a10
    SQL> set lines 100
    SQL> column undo_sql format a20
    SQL> select xid, undo_sql, table_name, operation, undo_change# from flashback_transaction_query
      2  where xid=hextoraw('0029001B0000450B')
      3  order by undo_change#;
    XID              UNDO_SQL             TABLE_NAME OPERATION  UNDO_CHANGE#
    0029001B0000450B delete from "SYS"."A A          INSERT                1
                     " where ROWID = 'AAA
                     w4gAABAAAZHrAAA';
    0029001B0000450B                                 BEGIN                 2

  • Flashback transaction query advice

    I need to be able to see all transactions on a table during a specific period of time (about every 15 minutes). I have a choice of creating a DB trigger on the table that captures the transactions and writes them to a new table or using the flashback transaction query feature. I haven't used flashback transaction query before in a production DB and was wondering if there were any performance issues I need to worry about (since there will be continous changes to the table being made). I think my query would be something like below and would be executing it very 15 minutes. Any advice/tips would be appreciated.
    SELECT last_name, versions_starttime, versions_operation
    FROM emp versions BETWEEN TIMESTAMP
    SYSTIMESTAMP - INTERVAL '15' MINUTE AND SYSTIMESTAMP
    WHERE versions_starttime is not null
    ORDER BY versions_endtime asc
    Edited by: bobmagan on Feb 7, 2013 5:32 AM

    Actually, this is a Flashback Versions query ( http://docs.oracle.com/cd/E11882_01/appdev.112/e17125/adfns_flashback.htm#i1019938 ), not a Flashback Transaction query (http://docs.oracle.com/cd/E11882_01/appdev.112/e17125/adfns_flashback.htm#i1007455 ). I found that the Flashback Version Queries were more reliable than the Flashback Transaction Queries.
    Be aware that truncates and other DDL will cause a 'break' and you will not be able to query before that.
    Make sure your undo_retention is set to keep undo long enough for your purposes.
    Test well. You may or may not see versions that were created within the same transaction.

  • Difference between Flashback Versions Query vs Flashback Transaction Query

    plz somebody can clearly tell me difference between
    --Flashback Versions Query
    --Flashback Transaction Query                                                                                                                                                                                                                                   

    Hi,
    I was able to test the data given by you
    CREATE TABLE test1(a number);
    INSERT INTO test1 values(1);
    INSERT INTO test1 values(3);
    COMMIT;
    UPDATE test1 SET a=10 WHERE a=1;
    COMMIT;
    ALTEr TABLE test1 ENABLE ROW MOVEMENT;
    INSERT INTO test1 values(1);
    INSERT INTO test1 values(3);
    COMMIT;
    ALTEr TABLE test1 ENABLE ROW MOVEMENT;
    SELECT * FROM test1 VERSIONS BETWEEN TIMESTAMP
    TO_TIMESTAMP('2011-07-25 15:50:00', 'YYYY-MM-DD HH24:MI:SS') AND
    TO_TIMESTAMP('2011-07-25 15:56:00', 'YYYY-MM-DD HH24:MI:SS');
    A
    3
    1
    10
    3
    I didnt get any error. Please check again.

  • No flashback versions query and flashback transaction query tools on EM?

    No Flashback Versions Query and Flashback Transaction Query tools on EM Console?
    How to do Flashback Versions Query work and Flashback Transaction Query on EM Console?

    No Flashback Versions Query and Flashback Transaction
    Query tools on EM Console?WOrks on mine.
    How to do Flashback Versions Query work and Flashback
    Transaction Query on EM Console?Part of the Maintenance , Recovery wizard. Not intended to be a casual query tool.

  • Problem with Flashback transaction query in 10g

    Hello,
    I'm having a problem when working with FLASHBACK_TRANSACTION_QUERY.
    When I make a simple update of table PARTIES with some trigger (one transaction with XID=000300310027ACAA), expected result can be found in FLASBACK_TRANSACTION_QUERY:
    select xid, start_scn, commit_scn, logon_user, undo_change#, operation, table_name, table_owner, undo_sql from flashback_transaction_query f
    where xid = hextoraw('000300310027ACAA');
    XID               START_SCN     COMMIT_SCN     LOGON_USER     UNDO_CHANGE#     OPERATION     TABLE_NAME          TABLE_OWNER     UNDO_SQL
    000300310027ACAA     170337630398     170337630411     SYSTEM     1               UPDATE     PARTY_HIST_LOGS     ODS_OWNER          update ...
    000300310027ACAA     170337630398     170337630411     SYSTEM     2               UPDATE     PARTIES          ODS_OWNER          update ...
    000300310027ACAA     170337630398     170337630411     SYSTEM     3               BEGIN          null               null               null     
    But after a while (cca 1 minute) all rows representing DML operations changes to one row with operation=UNKNOWN. And in the same time TABLE_OWNER, UNDO_SQL, ROW_ID is lost.
    select xid, start_scn, commit_scn, logon_user, undo_change#, operation, table_name, table_owner, undo_sql from flashback_transaction_query f
    where xid = hextoraw('000300310027ACAA');
    XID     START_SCN     COMMIT_SCN     LOGON_USER     UNDO_CHANGE#     OPERATION     TABLE_NAME     TABLE_OWNER     UNDO_SQL
    000300310027ACAA     170337630398     0     SYS     1     UNKNOWN     PARTIES     null          null               null
    000300310027ACAA     170337630398     0     SYS     2     BEGIN          null          null          null               null
    Do you have any explanations, why this happens?
    Thanks a lot Filip
    Here are some DB parameters:
    Oracle 10g - 10.2.0.3.0 - 64bit Production
    noarchive log mode
    minimal supplemental logging enabled
    UNDO_MANAGEMENT=AUTO
    UNDO_RETENTION=57600
    v$undostat.tuned_undoretention=345600
    RETENTION GUARANTEE=YES

    SELECT
    o1.GRP_CODE
    , o1.GRP_DESC
    , o1.GRP_GROUP
    , o1.GRP_KATEG
    , o2.actual_amount
    , o2.budg_amount
    , o2.branch
    FROM
    vw_budget_codes o1 LEFT OUTER JOIN dw_fbudget_star o2 ON (o1.grp_code = o2.grp_code)
    WHERE
    o2.branch= '5455345'
    Message was edited by:
    TanteKaethe
    Message was edited by:
    TanteKaethe

  • 关于 flashback transaction query

    我的数据库版本如下:
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE 11.2.0.3.0 Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    我在一张表的执行了几个操作,通过flashback versions query 可以看到如下内容:
    SQL> select versions_startscn,versions_endscn,versions_xid,versions_operation,versions_starttime,versions_endtime,tt.id,tt.name from tt versions between scn minvalue and maxvalue order by versions_startscn;
    VERSIONS_STARTSCN VERSIONS_ENDSCN VERSIONS_XID V VERSIONS_STARTTIME VERSIONS_ENDTIME ID NAME
    1239547 1239632 08001C00C3030000 I 24-OCT-12 11.25.03 AM 24-OCT-12 11.27.39 AM 1 tan
    1239632 1239801 04001A0016030000 U 24-OCT-12 11.27.39 AM 24-OCT-12 11.31.13 AM 1 jia
    1239801 1239836 02001700B7030000 U 24-OCT-12 11.31.13 AM 24-OCT-12 11.32.31 AM 1 ping
    1239836 0A000D000B030000 D 24-OCT-12 11.32.31 AM 1 ping
    但是:
    SQL> select * from flashback_transaction_query where table_name='TT';
    XID START_SCN START_TIM COMMIT_SCN COMMIT_TI LOGON_USER UNDO_CHANGE# OPERATION TABLE_NAME TABLE_OWNER ROW_ID UNDO_SQL
    02001700B7030000 1239632 24-OCT-12 1239801 24-OCT-12 SCOTT 1 UNKNOWN TT
    04001A0016030000 1239547 24-OCT-12 1239632 24-OCT-12 SCOTT 1 UNKNOWN TT
    08001C00C3030000 1239546 24-OCT-12 1239547 24-OCT-12 SCOTT 1 UNKNOWN TT
    0A000D000B030000 1239801 24-OCT-12 1239836 24-OCT-12 SCOTT 1 UNKNOWN TT
    可以看到当查询 flashback_transaction_query 时,却看不到UNDO_SQL 并且OPERATION为UNKNOWN,有哪位大神遇到过此问题,求助!

    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for 64-bit Windows: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> drop table people purge;
    drop table people purge
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> create table people(empno number primary key, empname varchar2(16), salary
      2  number);
    Table created.
    SQL> insert into people values(111,'James', 100);
    1 row created.
    SQL> create table dept(deptno number, deptname varchar2(32));
    Table created.
    SQL> insert into dept values(10, 'Accounting');
    1 row created.
    SQL>
    SQL> commit;
    Commit complete.
    SQL>
    SQL> update people set salary = salary + 100 where empno = 111;
    1 row updated.
    SQL> insert into dept values(20, 'Finance');
    1 row created.
    SQL>
    SQL> delete from people where empno=111;
    1 row deleted.
    SQL>
    SQL> insert into people values(111,'Tom', 100);
    1 row created.
    SQL> update people set salary = salary + 100 where empno = 111;
    1 row updated.
    SQL> update people set salary = salary + 50 where empno = 111;
    1 row updated.
    SQL> commit;
    Commit complete.
    SQL>
    SQL> select versions_xid xid, versions_startscn start_scn, versions_endscn
      2  end_snc,
      3  versions_operation operation, empname, salary
      4  from people
      5  versions between scn minvalue and maxvalue
      6  where empno = 111
      7  order by start_scn
      8  /
    XID               START_SCN    END_SNC OP EMPNAME
        SALARY
    0900120064060000    2391498    2391514 I  James
           100
    0A000D0068060000    2391514            I  Tom
           250
    0A000D0068060000    2391514            D  James
           100
      1* select undo_sql,OPERATION from flashback_transaction_query where table_name='PEOPLE' order by start_scn
    SQL> /
    UNDO_SQL                                           OPERATION
                                                       UNKNOWN
                                                       UNKNOWN
                                                       UNKNOWN
                                                       UNKNOWN
                                                       UNKNOWN
                                                       UNKNOWN
    6 rows selected.
            这是一个 flashback_transaction_query 在11.2的一个BUG
    Hdr: 9056188 11.2.0.1.0 RDBMS 11.2.0.1.0 LOGMINER PRODID-5 PORTID-46
    Abstract: FLASHBACK_TRANSACTION_QUERY IS NOT SHOWING ANY UNDO_SQL
    该BUG似乎一直没有被FIX
    REPRODUCIBILITY:
    Reproduable atwill in 11.2
    Not reproducing in 11.1.0.7

  • Flashback version and transaction

    Hi
    Does flashback versions and flashback transactions query use the undo data.How long can we use flashback versions query..

    Sekar_BLUE4EVER wrote:
    Hi
    Does flashback versions and flashback transactions query use the undo data.How long can we use flashback versions query..Yes they both use UNDO data. You need to specify UNDO_RETENTION
    Check the following link:
    http://www.databasejournal.com/features/oracle/article.php/3819031/Is-Your-UNDO-Tablespace-Prepared-for-Oracles-Flashback-Technology.htm
    Kamran Agayev A.
    Oracle ACE
    My Oracle Video Tutorials - http://kamranagayev.wordpress.com/oracle-video-tutorials/

  • Can I use flashback database to flashback a pluggable database?

    Hi All,
    I created a container database and then created a pluggable database.
    In the pluggable 12.1 datbase, I loaded the user data.
    I performed the below
    sqlplus / as sysdba;
    create restore point CLEAN_DB guarantee flashback database;
    And I performed the transactions on the pdb.
    Now my intention is to restore to the restore point CLEAN_DB as created from the above step.
    If I perform the below, will it restore my pdb to the initial state?
    flashback database to restore point CLEAN_DB;
    Regards,
    Kamal.

    Hi,
    You cannot use FLASHBACK DATABASE for pluggable database.
    Flashback query/versions queryis UNDO based and work in PDB’s
    Flashback transaction query/flashback transactionis UNDO and REDO based and work in PDB’s
    Flashback data archiveUNDO gernerated archives
    Flashback table
    before drop –> Rename segment name of recylebin, which is based on UNDO, work in PDB’s
    flashback table to –> is UNDO based, work in PDB’s
    Flashback databasedoesn’t work in PDB’s:
    RMAN> flashback pluggable database prmdb01 to time "to_date('23:00 20-11-2013','hh24:mi dd-mm-yyyy')";
    Starting flashback at 25-NOV-13
    using channel ORA_DISK_1
    using channel ORA_DISK_2
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of flashback command at 11/20/2013 23:00:00
    RMAN-05108: Command is not supported for pluggable database
    Regards
    Mahir M. Quluzade
    p.s. Command exists but not supporting, may be next release come support.

  • Using restore points WITHOUT flashback possible (in Oracle Express versio)?

    For development I am using Oracle Express 10g version rather than Enterprise version.
    Unfortunately the "Flashback" feature is NOT available in Express version (only in Enterprise).
    I can CREATE a RESTORE POINT but I can NOT go back to it with a Flashback instruction like
    FLASHBACK DATABASE TO RESTORE POINT myrp234;
    Is there a workaround for this in Oracle Express?
    Being able to CREATE a RESTORE POINT is useless if I cannot go back to this RP.
    So I guess there must be another way?
    Peter

    user559463 wrote:
    Does 11g Express support only flashback query or even flashback database?
    Or is the latter feature only available in the 11g ENTERPRISE version?Flashback Database is Enterprise Edition feature and not available in XE edition.
    Feature Restrictions
    XE has most important application development features included, including Flashback Query (but no Flashback Data Archive), Analytical Functions, DBMS_EPG (embedded PL/SQL gateway for http support), Advanced Queuing, APEX, Oracle Text, LOB, Temporary Table, Model Clause, External Tables…
    XE 11gR2 does not have any EE features, nor does it have the Result Cache (SQL nor PL/SQL), Database WebServices, Materialized Views, Java in the Database, Flashback Database /Data Archive/Flashback Table/Flashback Transaction, Fine Grained Auditing or Fine Grained Access Control (VPD), Client Side Query Cache, any of the Database (extra option) Packs, bitmapped index, OLAP, Data Mining, Parallel features, Gateways, Streams, Spatial, Multi Media, Compression, Semantic...
    Resources
    Documentation – http://www.oracle.com/pls/xe112/portal.all_books
    Feature availability – http://download.oracle.com/docs/cd/E17781_01/license.112/e18068/toc.htm#BABJBGGA
    Licensing Restrictions – http://download.oracle.com/docs/cd/E17781_01/install.112/e18803/toc.htm#BABIECJA
    Edited by: user130038 on Sep 27, 2011 8:45 AM

  • Oracle Flashback Vs IBM FlashCopy

    Hi,
    I am evaluating options to implement Oracle Flashback and/or IBM FlashCopy as a backup and recovery solution.
    Does any one know of a good source for comparing and contrasting these two technologies.
    What I am looking for, in particular, is how each compares against other (pros and cons) in terms of
    1. Storage - I know flashback storage requirement based on the feature I would want to use could be more than that required for FlashCopy
    2. Recovery time - My initial assessment is that recovery with Flashback is faster than that with FlashCopy
    3. Backup - Both flashback and FlashCopy can be used to run backup against them (instead of primary DB site)
    4. Site failure - From my reading, I take it that Flashback will not protect DB against site failure while FlashCopy would.
    The features below, from my reading, are not available in FlashCopy but are integral part of 10gR2
    5. Flashback Database
    6. Flashback table
    7. Flashback Query
    8. Flashback Version Query
    9. Flashback Transaction Query
    10. Flashback Drop
    My question(s): Are any of the features (5 - 10) available with IBM FlashCopy? If so how easy/difficult it would be to flash back tables/queries/transactions using FlashCopy.
    For site failure, Oracle Data Guard (physical) standby DB is what I am planning to propose.
    Any thoughts/ideas/opinions are highly appreciated.
    Thanks in advance.

    Marko, I can give you the short version...
    IBM designed DataLinks to be a single point of access to content stored on multiple servers. Like many IBM products, DataLinks is (1) predicated on the idea that leaving content where it is now is the right approach, and (2) giving you a toolkit is preferable to a finished product. There isn't anything like the Oracle 9iFS out of the box file server capabilities, and a lot of their content management features are missing or incomplete. As someone at Oracle, of course, I'm also more than a bit skeptical about leaving content where it is an then providing a bunch of pointers (with some additional metadata) to this content. Consolidation is the better approach, if you're looking for economies of scale and greater manageability.
    Microsoft's Sharepoint Server is a hybrid "collaborative portal" product. It has features that look like Oracle Portal as well as a very basic collaboration environment with things like versioning and discussion groups. SharePoint also leaves content in the file system, but in this case, it does its best to obfuscate where it is, giving you instead a WebDAV and HTTP interface to it and then using Access and flat files to store all the metadata in it. This doesn't seem like a formula for scalability (and, in fact, Microsoft is pretty circumspect when it talks about scalability in the SharePoint documentation), and there isn't a development environment that lets you customize SharePoint or use it to host applications.
    Is that helpful?
    null

  • Flashback VERSIONS_XID

    Hi,
    I found the following question and do not understand the answer:
    You want to use the Flashback Transaction Query to identify the SQL needed to reverse a transaction in the HR. EMPLOYEES table. Where can you find out the value of the transaction ID column XID to use when you query FLASHBACK_TRANSACTION_QUERY?
    a) from the VERSIONS_XID column of HR.EMPLOYEES
    b) from LogMiner
    c) from XID column of HR.EMPLOYEES
    d) from the VERSIONS_XID column of FLASHBACK_VERSION_QUERY
    Answer A
    Every table has the pseudo-column VERSIONS_XID that you can query for a transaction ID of a past transaction with the AS OF clause.
    D is incorrect because there is no such column VERSIONS_XID of the FLASHBACK_VERSION_QUERY; you need to have the XID or SCN before querying FLASHBACK_VERSION_QUERY and retreive the SQL to reverse the transaction.
    I think the answer is D and not A. A is a flashback query that does not show the VERSIONS_XID column. Flashback version query using VERSIONS BETWEEN shows the VERSION_XID column. Can somebody confirm this or explain please?
    Thanks.

    Dude wrote:
    Aman wrote:
    D is anyways incorrect since there is no such table or view with the name flashback_version_query.Are you saying this because of the underlines in the name: I suggest that this is a typo and FLASHBACK_VERSION_QUERY should read FLASHBACK VERSION QUERY.No, I am saying because there is no such view at all, underlines being there or not there has nothing to do with it. Please see,
    SQL> desc flashback_version_query
    ERROR:
    ORA-04043: object flashback_version_query does not exist
    SQL> desc flashback_versions_query
    ERROR:
    ORA-04043: object flashback_versions_query does not exist
    SQL> desc flashback_transaction_query
    Name
    XID
    START_SCN
    START_TIMESTAMP
    COMMIT_SCN
    COMMIT_TIMESTAMP
    LOGON_USER
    UNDO_CHANGE#
    OPERATION
    TABLE_NAME
    TABLE_OWNER
    ROW_ID
    UNDO_SQL
    SQL> select  * from V$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL>This should be sufficient to prove that there is no such view with the name Flashback_version_query . Its a term NOT a view's name by itself. Please see,
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17157/unplanned.htm#sthref167
    Whereas, the flashback_transaction_query is a documented view.
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/statviews_5120.htm#REFRN29086
    I hope the above mentioned points must remove the confusion between the two. If not, we need to sort this out before going further. PLease confirm this. If you do agree to it, let's continue.
    >
    That's possible from the pseudo column versions_xid which appears if one uses the Version Query. So the correct answer is A. Nope , that's a psedo column in the query and since the view with the name flasback_version_query( without underlines too) is NOT there, we are talking about two different things. The pseudo column versions_xid is an actual column BUT with the name XID in the FLashback_transaction_query . BIG DIFFERENCE!! . So not the same but if you are still thinking that they are, please read the above mentioned point which you must agree before we discuss this current point.
    Than D must be correct, getting the VERSIONS_XID column of FLASHBACK VERSION QUERY. Answer A does not say anything about using flashback.
    It doesn't need to. That's why it's a trick question.
    a) from the VERSIONS_XID column of HR.EMPLOYEES
    d) from the VERSIONS_XID column of FLASHBACK_VERSION_QUERY
    I think the given explanation why A is correct, saying that every table provides Version XID using AS OF clause is incorrect, because it is normal flashback query.
    are you sure about this statement Dude since it's incorrect! PLease see,
    SQL> select  * from V$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> conn aman/aman
    ERROR:
    ORA-28002: the password will expire within 7 days
    Connected.
    SQL> create table test_test as select * from scott.emp;
    Table created.
    SQL> select current_scn from V$database;
    CURRENT_SCN
        2628878
    SQL> select current_scn from V$database;
    CURRENT_SCN
        2628881
    SQL> select versions_xid from test_test as of scn 2628878;
    select versions_xid from test_test as of scn 2628878
    ERROR at line 1:
    ORA-00904: "VERSIONS_XID": invalid identifier
    SQL> select versions_xid from test_test versions between scn minvalue and maxvalue;'
      2
    SQL> select versions_xid from test_test versions between scn minvalue and maxvalue;
    VERSIONS_XID
    14 rows selected.
    SQL>Saw the difference? There is no versions_xid column returned with the vanilla Flashback query . When added Flashback version query, then only its becoming visible. So your assumption is incorrect completely.
    Flashback version query is using VERSIONS BETWEEN. Anyway, answer A does not say anything about using Flashback technology at all.
    PhoenixBai wrote:
    You don`t read careful enough. I have told you where that '00200030000002D' come from, from the first sql I listed:Yes, sorry, but then again, VERSIONS BETWEEN is flashback version query. Answer A does not mention any Flashback operation.It doesn't need to as I said already. That's what the trick in the question. There won't be any fun if it would be a straight-forward question.
    Sorry for being persistent, but I cannot see why A is right and D is wrong.
    IF you are still going to be persistent, I am sorry to say that you have got one question of yours wrong and it would be purely your fault :) .
    HTH
    Aman....

  • Flashback questions - particularly flashback table

    Hi,
    Oracle 10GR2
    The docs state that flashback must be turned on in order to enable the functionality. Subsequently, a flashback logfile is started where designated. Now, for flashback table the docs also state that data comes from the UNDO iin order to restore. My first question is: What is kept in the flashback log and how does it fit in (given that the restore is done via UNDO)? The docs also state that if a flashback database is done that you should perform a resetlogs, but nothing is specified with respect to after a flashback table is done. I could see why you wouldn't want to but still wonder about the table that was flashed back and if it is in a vulnerable state.
    I'm also interested in understanding the significance of flashback retention time vs undo_retention.
    I guess I see some overlap here between the UNDO and FLASHBACK and want to understand the difference.
    Thanks

    Know that Flashback logs are not the only thing
    stored in Flashback Recovery Area. Archived redo logs
    and RMAN backups are also stored and they are used
    for Flashback Table, Flashback Drop, Flashback
    Versions Query, and Flashback Transaction Query
    features.Hmm....this is news to me. Are you are sure about this????? Archived logs, backups are stored in the FRA, but it doesn't mean that they are used for Flashback table, Flashback drop, and FBQ or FTQ....
    So yes, I would say, you need flashback on to
    flashback a table.Again, NO, this is not required. You may like to review the facts associated with these technologies once again.
    Thanks
    Chandra

Maybe you are looking for

  • How do i restore a deleted admin on my macbook air

    How do i restore a deleted admin on my macbook air

  • HTTP response code 302

    When sending an HTTP POST request from a java application, I get a response code 200 but nothing is done. And when I look at the http access log on the server (responses.0.trc), a 302 response code is logged. Any idea to solve this problem? Thanks in

  • App store / full content?

    following the categories in the itunes store /app store (for iphone/kids/kids between 6-8) I can only find a very few apps/games ("the best new apps and games) the result: is about 28 att all. how can I get the full content of all available apps? tha

  • How does one stop Firefox from opening at login ?

    I have Firefox opening up at login even though the 'open at login is unchecked'. I had firefox 'open at login'checked for a week. Now I do not want firefox to 'open at login'. I have unchecked 'open at login' and I still get Firefox opening up at log

  • SMC 3.6 can not detect  A5k module

    Hi All , I just install smc 3.6 on solaris 10 special for monitor A5k + zone , on pdf say if i want see a5k module i must install SUNWluxox , any body know abaut the package ? because the patch release only support solaris 8 and 9 ?. thanks