1Z0-083 · Question #243
Which two statements are true when row-archival management is enabled?
The correct answer is B. The ORA_ARCHIVE_STATE column is only displayed if it is referenced in the column select C. The ROW ARCHIVAL VISIBILITY session parameter defaults to active rows. When Oracle's In-Database Archiving (Row Archival) is enabled on a table, the hidden column ORA_ARCHIVE_STATE is added but deliberately suppressed from SELECT results - you must explicitly name it in your column list for it to appear, making B correct. By default, the session…
Question
Which two statements are true when row-archival management is enabled?
Options
- AThe ORA_ARCHIVE_STATE column may only be queried by users with the DBA role set.
- BThe ORA_ARCHIVE_STATE column is only displayed if it is referenced in the column select
- CThe ROW ARCHIVAL VISIBILITY session parameter defaults to active rows.
- DThe ORA_ARCHIVE_STATE column may only be updated by users with the DBA role set.
- EThe ORA_ARCHIVE_STATE column is updated in an overnight maintenance job based on
How the community answered
(60 responses)- A2% (1)
- B92% (55)
- D5% (3)
- E2% (1)
Explanation
When Oracle's In-Database Archiving (Row Archival) is enabled on a table, the hidden column ORA_ARCHIVE_STATE is added but deliberately suppressed from SELECT * results - you must explicitly name it in your column list for it to appear, making B correct. By default, the session parameter ROW ARCHIVAL VISIBILITY is set to ACTIVE, meaning queries automatically filter to show only rows where ORA_ARCHIVE_STATE = '0' (active), making C correct.
Options A and D are wrong because ORA_ARCHIVE_STATE has no special DBA-only access restriction - any user with the appropriate table privileges can query or update it via a standard UPDATE statement. Option E is wrong because Oracle does not maintain this column through any automated background job; it is the application's responsibility to set the archive state explicitly with UPDATE statements.
Memory tip: Think of it as a "ninja column" - it hides from SELECT * (B) and the session defaults to seeing only the living (active rows, C). Everything else - who can touch it, how it gets set - follows normal privilege rules with no magic automation.
Topics
Community Discussion
No community discussion yet for this question.