IS or (WHEN IS) DUAL considered an X$ hidden table (file)?

164 views Asked by At

This is in reference to Mark J. Bobak's last comment to his answer on:

The magic of DUAL post

Those are all standard columns in any X$ table. ADDR is the address, literally, the memory address where that particular row is mapped in the SGA.

I read fully through the 1/3 of the linked Tom Kyte's responses to questions on the DUAL table, skimmed [as well as I could manage] through the rest (the page became quite lengthy :)), and looked outside of SO also. But all this effort did not quite help me to decipher the answer to the question which Mark's comment raised for me in my mind.

(@Mark) In your paragraph above you seem to refer to the DUAL table as an x$ table. Does this imply that DUAL is an X$ table? Or is the DUAL table no longer quite the same DUAL table after the alter database close command?

P.S.: This is posted as a separate question due to not being able to comment on the original answer/comment. If you deem this inappropriate placing or format, please let me know so that I might revise. Thank you!

1

There are 1 answers

0
APC On

Unfortunately you over-skimmed that thread, because Tom did address this question in posts on October 9, 2001 - 8am UTC

closing the database makes this special dual table come into play (there for RMAN to have a dual table to select from even when the database isn't fully up)

It looks like DUAL in a closed database points to X$DUAL:

SQL> select * from x$dual;

ADDR           INDX    INST_ID D
-------- ---------- ---------- -
10714254          0          1 X

SQL> alter database close;

Database altered.

SQL> select * from dual;

ADDR           INDX    INST_ID D
-------- ---------- ---------- -
10714254          0          1 X

SQL>