6

Under normal conditions (not using SYS or maybe using it)-

SQL> select * from dual;

D
-
X

Under not so normal conditions (connected as SYS)-

SQL> alter database close;
Statement processed.

SQL> select * from dual;
ADDR     INDX       INST_ID    D
-------- ---------- ---------- -
00FA6E50          0          1 X

I know DUAL is a special magic table (etc. etc.) but

What is different with DUAL when the DB is on standby? What is the relevance if ADDR, INDX, INST_ID in standby?

LittleBobbyTables - Au Revoir
  • 32,008
  • 25
  • 109
  • 114
Anjan Biswas
  • 7,746
  • 5
  • 47
  • 77

1 Answers1

2

Tom Kyte did an excellent job answering this question quite a few years ago, here:

http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:1562813956388

Hope that helps.

Mark J. Bobak
  • 13,720
  • 6
  • 39
  • 67
  • 1
    I have seen this post but I don't see where he explained the columns `ADDR`,`INDX`, `INST_ID` and their relevance, and why these column would only show up on DB Standby. I guess its just one of the things in Oracle's "black box". – Anjan Biswas Sep 20 '12 at 16:08
  • 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. INST_ID is the instance id. For single instance (non-RAC) databases, it's always 1. For RAC databases, it varies from 1 to n, where n is the number of nodes in the RAC cluster. And INDX, I think is an internal array that indexes all the X$ tables. So, if there are n X$ tables in the system, each X$ will have a unique value, from 1 to n. – Mark J. Bobak Sep 22 '12 at 04:09