Which two statements are true about Flashback Version Query?
A.
The result of a query can be used as part of a DML statement.
B.
It can be used to create views.
C.
It can be used only if Flashback Data Archive is enabled for a table.
D.
It retrieves all versions of rows that exist in a time interval, including the start time and end
time.
E.
It can be used to retrieve the SQL that is required to undo a row change and the user
responsible for the change.
D and E…
A, B and D should be answers.
option C is needed for Flashback Data Archive (Oracle Total Recall).
options E is applicable to Flashback Transaction query, not flashback version query.
A, D in my opinion
DE
https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_flashback.htm#ADFNS01004
E: The information is available through VERSIONS_OPERATION pseudocolumn
A & B are for Flashback Query
I agree.
A and B are wrong.
C I think its wrong also
D is for sure
E also is true in conjunction with flashback transaction query
Pseudocolumn VERSIONS_XID provides a unique identifier for the transaction that put the data in that state. You can use this value in connection with a Flashback Transaction Query to locate metadata about this transaction in the FLASHBACK_TRANSACTION_QUERY view, including the SQL required to undo the row change and the user responsible for the change
D, E
DE always use the Oracle PDFs with the relevant (in this case 12c) version:
The time interval includes (start and end).
You can use VERSIONS_XID with Oracle Flashback Transaction Query to locate this transaction’s metadata, including the SQL required to undo the row change and the user responsible for the change.
Good work vaunter
There is nothing wrong with B. I tried it out:
SQL> create or replace view v as select empno, ename, versions_starttime, versions_endtime from emp versions between scn minvalue and maxvalue;
View created.
D is also the exact description of what a flashback Version Query does.
I go for BD.
E is wrong. It describes rather the Flashback Transaction Query and not the Flashback Version Query.
C is nonsense. You don’t need a Flashback Data Archive in order to proceed a Flashback Version Query. I could execute my example above (SELECT statement) in the SCOTT schema without having created a Flashback Data Archive.
A describes the usage of a Flashback Query and not the one of the Flashback Version Query.
BD are the right choises.
ACE are wrong.
You used Flashback Query
and NOT Flashback Transaction Query
You can NOT see in this case UNDO SQL
To use Flashback TRANSACTION Query You must query the view
FLASHBACK_TRANSACTION_QUERY
One of columns of this view is UNDO_SQL
Sorry I mixed up everything 🙂
It is is A and B
B is correct
You cannot use the VERSIONS clause in flashback queries to views. However, you CAN use the VERSIONS syntax in the defining query of a view.
D is wrong
A given row version is valid starting at its time VERSIONS_START* up to, but NOT including, its time VERSIONS_END*. That is, it is valid for any time t such that VERSIONS_START* <= t < VERSIONS_END*. For example, this output indicates that the salary was 10243 from September 9, 2002, included, to November 25, 2003, excluded.
E is wrong
You must use Flashback Transaction query
View FLASHBACK_TRANSACTION_QUERY
One of columns of this view is UNDO_SQL
I agree it’s B and D: http://docs.oracle.com/database/121/ADFNS/adfns_flashback.htm#ADFNS01004
DE
http://docs.oracle.com/cd/E16338_01/appdev.112/b56259/adfns_flashback.htm#i1019938
D & E
D- Use Oracle Flashback Version Query to retrieve the different versions of specific rows that existed during a given time interval. A row version is created whenever a COMMIT statement is executed.
E- You can use VERSIONS_XID with Oracle Flashback Transaction Query to locate this transaction’s metadata, including the SQL required to undo the row change and the user responsible for the change
https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_flashback.htm#ADFNS01005
DE