Which two statements are true when row-archival management is enabled?
A.
Visibility of the ORA_ARCHIVE_STATE column is controlled by the row archival visibility
session parameter.
B.
The ORA_ARCHIVE_STATE column is updated manually or by a program that can
reference activity tracking columns, to indicate that a row is no longer considered active.
C.
The row archival visibility session parameter defaults to all rows.
D.
The ORA_ARCHIVE_STATE column is visible if it is referenced in the select list of a
query.
E.
The ORA_ARCHIVE_STATE column is updated automatically by the database based on
activity tracking columns, to indicate that a row is no longer considered active.
D – correct, anything else wrong. B – close, but not exactly
A and D
why A ?
The hidden rows can be made visible to a session by setting ROW ARCHIVAL VISIBILITY to the value ALL. Setting it back to ACTIVE makes the rows invisible again.
I don’t agree with A . Visibility of the ROWS is controlled by the row archival visibility
session parameter, not visibility of the column!
Thanks Vonpire!
D is fine for me and no idea for other 🙂
A is here
http://www.dba-oracle.com/t_ora_archive_state.htm
A is here too 🙂
To manage In-Database Archiving for a table, you must enable ROW ARCHIVAL for the table and manipulate the ORA_ARCHIVE_STATE hidden column of the table. Optionally, you specify either ACTIVE or ALL for the ROW ARCHIVAL VISIBILITY session parameter.
https://docs.oracle.com/database/121/VLDBG/GUID-5A76B6CE-C96D-49EE-9A89-0A2CB993A933.htm#VLDBG14154
BD
B: “a program that can reference activity tracking columns…” adds some confusion, but it is simply a program that you might write.
D: It is only visible when you reference it in a SELECT list.
I dont agree, for instance when you enable row archiving:
Enable row archival on HR.emp_arch.
alter table emp_arch row archival;
With this command.
and:
Now, query the HR.emp_arch table. Display the ora_archive_state column in the query result.
select employee_id, first_name, ora_archive_state from emp_arch;
So you can just query the table and you does not update it manually or by a program as stated in answer B
B and D!
Which options are correct?
I will go with A and D
BD
B:
From Student Guide New features 12c for Administartors:
“As a hidden column, ORA_ARCHIVAL_STATE is visible only when explicitly specified in select lists of queries.
The administrator hat to update the value of ORA_ARCHIVAL_STATE column to one to set the row in archive state”
C:
From Student Guide New features 12c for Administartors:
“By default, sessions have the visibility of active rows only.
(…)
The ALTER SESSION statement is extended with a new ROW ARCHIVAL VISIBLITY clause. By default the value is ALL.”
BD
AD
http://www.vitalsofttech.com/in-database-archiving-in-oracle-12c/
B,D
A – incorrect, ROW_ARCHIVAL_VISIBILITY controls visilibity of rows ,not visibility of column (thanks Vonpire)
C -incorrect, default is ACTIVE
E- incorrect, you can update this column manually. So this answer is completely or partially incorrect
A and D (Refer http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm/row_archival/row_archival.html)
A- To manage in-database archiving for a table, you must enable ROW ARCHIVAL for the table, manipulate the ORA_ARCHIVE_STATE hidden column of the table, and specify either ACTIVE or ALL for the ROW ARCHIVAL VISIBILITY session parameter.
D – Display the ora_archive_state column in the query result.
e.g.
select employee_id, first_name, ora_archive_state from emp_arch;
A is wrong.
D is for sure.
B may be right.
BD