Oracle PL/SQL Tutorial/System Tables Data Dictionary/all views

Материал из SQL эксперт
Перейти к: навигация, поиск

Get information on all the indexes you have access to using all_views

   <source lang="sql">

SQL> SQL> desc all_views;

Name                       Null?    Type
---------------------------
OWNER                      NOT NULL VARCHAR2(30)
VIEW_NAME                  NOT NULL VARCHAR2(30)
TEXT_LENGTH                         NUMBER
TEXT                                LONG
TYPE_TEXT_LENGTH                    NUMBER
TYPE_TEXT                           VARCHAR2(4000)
OID_TEXT_LENGTH                     NUMBER
OID_TEXT                            VARCHAR2(4000)
VIEW_TYPE_OWNER                     VARCHAR2(30)
VIEW_TYPE                           VARCHAR2(30)
SUPERVIEW_NAME                      VARCHAR2(30)

SQL> SQL> --select * from all_views; SQL></source>


Get the script of a certain view

   <source lang="sql">

SQL> set long SQL> SQL> SQL> select text

 2        from all_views
 3       where view_name = "USER_TABLES";
set pagesize 1000

TEXT


select o.name, decode(bitand(t.property, 2151678048), 0, ts.name, null),

      decode(bitand(t.property, 1024), 0, null, co.name),
      decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),
             0, null, co.name),
      decode(bitand(t.trigflag, 1073741824), 1073741824, "UNUSABLE", "VALID"),
      decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
         decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)),
      decode(bitand(t.property, 32), 0, t.initrans, null),
      decode(bitand(t.property, 32), 0, t.maxtrans, null),
      s.iniexts * ts.blocksize,
      decode(bitand(ts.flags, 3), 1, to_number(NULL),
                                     s.extsize * ts.blocksize),
      s.minexts, s.maxexts,
      decode(bitand(ts.flags, 3), 1, to_number(NULL),
                                     s.extpct),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
        decode(bitand(o.flags, 2), 2, 1, decode(s.lists, 0, 1, s.lists))),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
        decode(bitand(o.flags, 2), 2, 1, decode(s.groups, 0, 1, s.groups))),
      decode(bitand(t.property, 32+64), 0,
               decode(bitand(t.flags, 32), 0, "YES", "NO"), null),
      decode(bitand(t.flags,1), 0, "Y", 1, "N", "?"),
      t.rowcnt,
      decode(bitand(t.property, 64), 0, t.blkcnt, null),
      decode(bitand(t.property, 64), 0, t.empcnt, null),
      decode(bitand(t.property, 64), 0, t.avgspc, null),
      t.chncnt, t.avgrln, t.avgspc_flb,
      decode(bitand(t.property, 64), 0, t.flbcnt, null),
      lpad(decode(t.degree, 32767, "DEFAULT", nvl(t.degree,1)),10),
      lpad(decode(t.instances, 32767, "DEFAULT", nvl(t.instances,1)),10),
      lpad(decode(bitand(t.flags, 8), 8, "Y", "N"),5),
      decode(bitand(t.flags, 6), 0, "ENABLED", "DISABLED"),
      t.samplesize, t.analyzetime,
      decode(bitand(t.property, 32), 32, "YES", "NO"),
      decode(bitand(t.property, 64), 64, "IOT",
              decode(bitand(t.property, 512), 512, "IOT_OVERFLOW",
              decode(bitand(t.flags, 536870912), 536870912, "IOT_MAPPING", null

))),

      decode(bitand(o.flags, 2), 0, "N", 2, "Y", "N"),
      decode(bitand(o.flags, 16), 0, "N", 16, "Y", "N"),
      decode(bitand(t.property, 8192), 8192, "YES",
             decode(bitand(t.property, 1), 0, "NO", "YES")),
      decode(bitand(o.flags, 2), 2, "DEFAULT",
            decode(s.cachehint, 0, "DEFAULT", 1, "KEEP", 2, "RECYCLE", NULL)),
      decode(bitand(t.flags, 131072), 131072, "ENABLED", "DISABLED"),
      decode(bitand(t.flags, 512), 0, "NO", "YES"),
      decode(bitand(t.flags, 256), 0, "NO", "YES"),
      decode(bitand(o.flags, 2), 0, NULL,
          decode(bitand(t.property, 8388608), 8388608,
                 "SYS$SESSION", "SYS$TRANSACTION")),
      decode(bitand(t.flags, 1024), 1024, "ENABLED", "DISABLED"),
      decode(bitand(o.flags, 2), 2, "NO",
          decode(bitand(t.property, 2147483648), 2147483648, "NO",
             decode(ksppcv.ksppstvl, "TRUE", "YES", "NO"))),
      decode(bitand(t.property, 1024), 0, null, cu.name),
      decode(bitand(t.flags, 8388608), 8388608, "ENABLED", "DISABLED"),
      decode(bitand(t.property, 32), 32, null,
               decode(bitand(s.spare1, 2048), 2048, "ENABLED", "DISABLED")),
      decode(bitand(o.flags, 128), 128, "YES", "NO")

from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,

    sys.obj$ cx, sys.user$ cu, x$ksppcv ksppcv, x$ksppi ksppi

where o.owner# = userenv("SCHEMAID")

 and o.obj# = t.obj#
 and bitand(t.property, 1) = 0
 and bitand(o.flags, 128) = 0
 and t.bobj# = co.obj# (+)
 and t.ts# = ts.ts#
 and t.file# = s.file# (+)
 and t.block# = s.block# (+)
 and t.ts# = s.ts# (+)
 and t.dataobj# = cx.obj# (+)
 and cx.owner# = cu.user# (+)
 and ksppi.indx = ksppcv.indx
 and ksppi.ksppinm = "_dml_monitoring_enabled"

SQL> set long 10000 SQL> /

--

TEXT


select o.name, decode(bitand(t.property, 2151678048), 0, ts.name, null),

      decode(bitand(t.property, 1024), 0, null, co.name),
      decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),
             0, null, co.name),
      decode(bitand(t.trigflag, 1073741824), 1073741824, "UNUSABLE", "VALID"),
      decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
         decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)),
      decode(bitand(t.property, 32), 0, t.initrans, null),
      decode(bitand(t.property, 32), 0, t.maxtrans, null),
      s.iniexts * ts.blocksize,
      decode(bitand(ts.flags, 3), 1, to_number(NULL),
                                     s.extsize * ts.blocksize),
      s.minexts, s.maxexts,
      decode(bitand(ts.flags, 3), 1, to_number(NULL),
                                     s.extpct),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
        decode(bitand(o.flags, 2), 2, 1, decode(s.lists, 0, 1, s.lists))),
      decode(bitand(ts.flags, 32), 32, to_number(NULL),
        decode(bitand(o.flags, 2), 2, 1, decode(s.groups, 0, 1, s.groups))),
      decode(bitand(t.property, 32+64), 0,
               decode(bitand(t.flags, 32), 0, "YES", "NO"), null),
      decode(bitand(t.flags,1), 0, "Y", 1, "N", "?"),
      t.rowcnt,
      decode(bitand(t.property, 64), 0, t.blkcnt, null),
      decode(bitand(t.property, 64), 0, t.empcnt, null),
      decode(bitand(t.property, 64), 0, t.avgspc, null),
      t.chncnt, t.avgrln, t.avgspc_flb,
      decode(bitand(t.property, 64), 0, t.flbcnt, null),
      lpad(decode(t.degree, 32767, "DEFAULT", nvl(t.degree,1)),10),
      lpad(decode(t.instances, 32767, "DEFAULT", nvl(t.instances,1)),10),
      lpad(decode(bitand(t.flags, 8), 8, "Y", "N"),5),
      decode(bitand(t.flags, 6), 0, "ENABLED", "DISABLED"),
      t.samplesize, t.analyzetime,
      decode(bitand(t.property, 32), 32, "YES", "NO"),
      decode(bitand(t.property, 64), 64, "IOT",
              decode(bitand(t.property, 512), 512, "IOT_OVERFLOW",
              decode(bitand(t.flags, 536870912), 536870912, "IOT_MAPPING", null

))),

      decode(bitand(o.flags, 2), 0, "N", 2, "Y", "N"),
      decode(bitand(o.flags, 16), 0, "N", 16, "Y", "N"),
      decode(bitand(t.property, 8192), 8192, "YES",
             decode(bitand(t.property, 1), 0, "NO", "YES")),
      decode(bitand(o.flags, 2), 2, "DEFAULT",
            decode(s.cachehint, 0, "DEFAULT", 1, "KEEP", 2, "RECYCLE", NULL)),
      decode(bitand(t.flags, 131072), 131072, "ENABLED", "DISABLED"),
      decode(bitand(t.flags, 512), 0, "NO", "YES"),
      decode(bitand(t.flags, 256), 0, "NO", "YES"),
      decode(bitand(o.flags, 2), 0, NULL,
          decode(bitand(t.property, 8388608), 8388608,
                 "SYS$SESSION", "SYS$TRANSACTION")),
      decode(bitand(t.flags, 1024), 1024, "ENABLED", "DISABLED"),
      decode(bitand(o.flags, 2), 2, "NO",
          decode(bitand(t.property, 2147483648), 2147483648, "NO",
             decode(ksppcv.ksppstvl, "TRUE", "YES", "NO"))),
      decode(bitand(t.property, 1024), 0, null, cu.name),
      decode(bitand(t.flags, 8388608), 8388608, "ENABLED", "DISABLED"),
      decode(bitand(t.property, 32), 32, null,
               decode(bitand(s.spare1, 2048), 2048, "ENABLED", "DISABLED")),
      decode(bitand(o.flags, 128), 128, "YES", "NO")

from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,

    sys.obj$ cx, sys.user$ cu, x$ksppcv ksppcv, x$ksppi ksppi

where o.owner# = userenv("SCHEMAID")

 and o.obj# = t.obj#
 and bitand(t.property, 1) = 0
 and bitand(o.flags, 128) = 0
 and t.bobj# = co.obj# (+)
 and t.ts# = ts.ts#
 and t.file# = s.file# (+)
 and t.block# = s.block# (+)
 and t.ts# = s.ts# (+)
 and t.dataobj# = cx.obj# (+)
 and cx.owner# = cu.user# (+)
 and ksppi.indx = ksppcv.indx
 and ksppi.ksppinm = "_dml_monitoring_enabled"

SQL></source>