If you have a database, you have the x$ tables as the base tables for the data dictionary. As far as i know, these are undocumented,and are created during the create database statement. If you know the name of the table you want you can simply select from it.
A good example would be select * from X$KTURD.
In fact, X$ tables are not a base tables for data dictionary. Base table for data dictionary are real tables, owned by SYS, created during database creation, like OBJ$, FILE$, FET$ etc...
X$ tables are the base "tables" for dynamyc prerformance views (V_$) and they are not real tables - they are not written anywhere in the disk, so they don't have physycal attributes (extents, storage...). AFAIK they are some kind of C constructs, residing in the memory as long as database is up and runing. Once the instance goes down they dissapear and when instance starts again they got created in the memory again.
Jurij Modic ASCII a stupid question, get a stupid ANSI
24 hours in a day .... 24 beer in a case .... coincidence?
1. open oracle binary (oracle.exe for winNT) with text editor and search for X$ entries.
Create list of them and insert into db table.
2. Generate and run a script to create views on them: create view V_<X$tablename> as select * from <X$tablename>. 3. Then query DBA_TAB_COLUMNS for those views.