MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/dsqlddl.bsq

REM   aumishra  04/05/16 - Bug 21079174: Description of SPAREs in compression$
REM   shrgauta  05/05/15 - Bug 9361105 Moved compression$ back here
REM   rpang     01/20/15 - 17854208: add diagnostic columns to sqltxl_sql$
REM   rpang     10/23/13 - 17637420: add tracking columns to sqltxl tables
REM   hlakshma  11/07/11 - Move ILM and compression tables to catilmtab.sql
REM   rpang     10/20/11 - Update sqltxl$ flags
REM   liaguo    06/09/11 - add ILM stats tables
REM   awitkows  05/06/11 - add clst tables for table clustering clause
REM   amylavar  04/04/11 - add ILM dictionary tables
REM   traney    03/21/11 - 35209: long identifiers dictionary upgrade
REM   amylavar  03/11/11 - add compression_stat$
REM   jnarasin  03/15/11 - add data dictionary tables for project 35612
REM   rpang     12/24/10 - add SQL translation dictionary tables
REM   jklein    08/01/05 - creation
create table link$                             /* remote database link table */
( owner#        number not null,                        /* owner user number */
  name          varchar2("M_XDBI") not null,                    /* link name */
  ctime         date not null,                              /* creation time */
  host          varchar2("M_CNCT"),    /* optional driver string for connect */
  userid        varchar2("M_IDEN"),             /* optional user to logon as */
  password      varchar2("M_IDEN"),                    /* password for logon */
  flag          number,                        /* to identify type of dblink */
  authusr      varchar2("M_IDEN"),             /* optional user to logon as */
  authpwd      varchar2("M_IDEN"),                    /* password for logon */
  passwordx     raw(128),                                       /* password  */
  authpwdx      raw(128))                                   /*auth  pasword  */
/
create table trusted_list$            /* trusted list for privileged dblinks */
( dbname        varchar2("M_XDBI") not null,                /* database name */
  username      varchar2("M_VCSZ") not null)                    /* user name */
/
insert into trusted_list$ values ('+*','*')     /* default value - allow all */
/
create table com$                                           /* comment table */
( obj#          number not null,                            /* object number */
  col#          number,                /* column number (NULL if for object) */
  comment$      varchar2("M_VCSZ"))            /* user-specified description */
  storage (initial 10k next 100k maxextents unlimited pctincrease 0)
/
create index i_link1 on link$(owner#, name)
/
create unique index i_com1 on com$(obj#, col#)
  storage (initial 10k next 100k maxextents unlimited pctincrease 0)
/
rem
rem  Drop User Cascade
rem
create table duc$
( owner           varchar2("M_IDEN") not null,            /* procedure owner */
  pack            varchar2("M_IDEN") not null,          /* procedure package */
  proc            varchar2("M_IDEN") not null,             /* procedure name */
  field1          number default 0,
  operation#      number not null,                    /* 1=drop user cascade */
  seq             number not null,            /* for ordering the procedures */
  com             varchar2(80))       /* comment on what this routine is for */
/
create unique index i_duc on duc$ (owner,pack,proc,operation#)
/
rem table used to store the dropped objects which are still not purged
create table recyclebin$
( 
  obj#                  number not null,           /* original object number */
  owner#                number not null,                /* owner user number */
  original_name         varchar2("M_IDEN"),          /* Original Object Name */
  operation             number not null,            /* Operation carried out */
                                                                /* 0 -> DROP */
                                            /* 1 -> TRUNCATE (not supported) */
  type#                 number not null,          /* object type (see KQD.H) */
  ts#                   number,                         /* tablespace number */
  file#                 number,                /* segment header file number */
  block#                number,               /* segment header block number */
  droptime              date,                /* time when object was dropped */
  dropscn               number,           /* SCN of Tx which caused the drop */
  partition_name        varchar2("M_IDEN"), /* Name of the partition dropped */
                                                           /* NULL otherwise */
  flags                 number,               /* flags for undrop processing */
  related               number not null,    /* obj one level up in heirarchy */
  bo                    number not null,                      /* base object */
  purgeobj              number not null,   /* obj to purge when purging this */
  base_ts#              number,            /* Base objects Tablespace number */
  base_owner#           number,                 /* Base objects owner number */
  space                 number,       /* number of blocks used by the object */
  con#                  number,       /* con#, if index is due to constraint */
  spare1                number,
  spare2                number,
  spare3                number
)
/
create index recyclebin$_obj on recyclebin$(obj#)
/
create index recyclebin$_ts on recyclebin$(ts#)
/
create index recyclebin$_owner on recyclebin$(owner#)
/
rem index (re)build online state
create table ind_online$
( obj#          number not null,
  type#         number not null,              /* what kind of index is this? */
                                                               /* normal : 1 */
                                                               /* bitmap : 2 */
                                                              /* cluster : 3 */
                                                            /* iot - top : 4 */
                                                         /* iot - nested : 5 */
                                                            /* secondary : 6 */
                                                                 /* ansi : 7 */
                                                                  /* lob : 8 */
                                             /* cooperative index method : 9 */
  flags         number not null
                                      /* index is being online built : 0x100 */
                                    /* index is being online rebuilt : 0x200 */
)
/
create table context$
(
  obj#          number  not null,                       /* object number */
  schema        varchar2("M_IDEN") not null,              /* schema name */
  package       varchar2("M_IDEN") not null,             /* package name */
  flags         number not null             /* for ctx accessed globally */
)
/

create unique index i_context on context$(obj#)
/
create table sql_version$
(
  version#          number not null,                           /* see kpul.h */
  sql_version       varchar2("M_IDEN")     /* sql version string identifier */
)
/
create unique index i_sql_version$_version# on sql_version$(version#)
/

insert into sql_version$ values (0, '8.1.5');    
insert into sql_version$ values (2, '8.1.5');    
insert into sql_version$ values (5, '8.1.5');
insert into sql_version$ values (6, '8.1.6')
/
rem join index join conditions
create table jijoin$
(
  obj#      number not null,                              /* join index obj# */
  tab1obj#  number not null,                           /* table 1 obj number */
  tab1col#  number not null,           /* internal column number for table 1 */
  tab2obj#  number not null,                           /* table 2 obj number */
  tab2col#  number not null,           /* internal column number for table 2 */
  joinop    number not null,           /* Op code as defined in opndef.h (=) */
  flags     number,                                            /* misc flags */
  tab1inst# number default 0,     /* instance of table 1 (for multiple refs) */
  tab2inst# number default 0      /* instance of table 2 (for multiple refs) */
)
/
create index i_jijoin$ on jijoin$(obj#)
/
create index i2_jijoin$ on jijoin$(tab1obj#,tab1col#)
/
create index i3_jijoin$ on jijoin$(tab2obj#,tab2col#)
/
rem join index refresh sql statements
create table jirefreshsql$
(
  iobj#     number not null,                              /* join index obj# */
  tobj#     number not null,                              /* base table obj# */
  sqltext   clob       /* sql to refresh iobj# when tobj# is modified by DML */
)
/
create unique index i1_jirefreshsql$ on jirefreshsql$(iobj#, tobj#)
/
create index i2_jirefreshsql$ on jirefreshsql$(tobj#)
/
create table trigger$                                       /* trigger table */
( obj#          number not null,                            /* object number */
  type#         number not null,                            /* trigger type: */
        /*  0 = BEFORE TABLE, 1 = BEFORE ROW, 2 = AFTER TABLE, 3 = AFTER ROW */
                                                   /* 4 = INSTEAD OF TRIGGER */
  update$       number not null,                           /* fire on update */
  insert$       number not null,                           /* fire on insert */
  delete$       number not null,                           /* fire on delete */
  baseobject    number not null,                        /* triggering object */
  refoldname    varchar2("M_IDEN"),                  /* old referencing name */
  refnewname    varchar2("M_IDEN"),                  /* new referencing name */
  definition    varchar2("M_VCSZ"),                    /* trigger definition */
  whenclause    varchar2("M_VCSZ"),                   /* text of when clause */
  action#       long,                                      /* action to fire */
  actionsize    number,                               /* size of action text */
  enabled       number,                         /* 0 = DISABLED, 1 = ENABLED */
  property      number not null,          /* trigger properties (bit flags): */
                                                /* 0x01 = baseobject is view */
                                                /* 0x02 = Call style trigger */
                                                /* 0x04 = Java Trigger       */
                                            /* 0x08 = baseobject is database */
                                              /* 0x10 = baseobject is schema */
                                              /* 0x20 = Nested table trigger */
                                                 /* 0x40 = baseobject is IOT */
                              /* 0x80 = fire-once-only (fire one place only) */
                              /* 0x100000 = baseobject is Pluggable Database */
  sys_evts      number,                                     /* system events */
  nttrigcol     number,               /* intcol# on which trigger is defined */
  nttrigatt     number,                    /* attribute number within column */
  refprtname    varchar2("M_IDEN"),              /* PARENT referencing name */ 
  actionlineno  number,                         /* action line number offset */
  trignameline  number,             /* trigger name line relative to source$ */
  trignamecol   number,              /* trigger name col relative to source$ */
  trignamecolofs number,              /* trigger name col offset for renames */
  actioncolno   number                           /* action col number offset */
)
/
create table triggercol$
( obj#          number not null,                            /* object number */
  col#          number not null,                            /* column number */
  type#         number not null,                /* type of column reference: */
     /* 6 = OLD IN-ARG, 5 = NEW IN-ARG, 9 = NEW OUT-VAR, 13 = NEW IN/OUT-VAR */
                                                  /* 0x14 = 20 PARENT IN-ARG */
  position#     number,                               /* position in trigger */
  intcol#       number not null)                   /* internal column number */
/
create index i_trigger1 on trigger$(baseobject)
/                                             
create unique index i_trigger2 on trigger$(obj#)
/
create index i_triggercol1 on triggercol$(obj#, col#, type#, position#)
/
create index i_triggercol2 on triggercol$(obj#, intcol#, type#, position#)
/
REM  The following four tables for 8.1 SDK2 specific.
REM  They should be removed before 8.1 beta, assuming we use ILMS
REM services for JAVA trigger invocation. 
create table triggerjavaf$
( obj#          number not null,                            /* object number */
  flags         long raw,                                  /* ub1 flag array */
  flaglength    number)                          /* length of ub1 flag array */
/
create table triggerjavas$
( obj#          number not null,                            /* object number */
  signature     long not null,                           /* method signature */
  siglength     number not null)               /* length of method signature */
/
create table triggerjavac$
( obj#          number not null,                            /* object number */
  ownername     varchar2("M_IDEN") not null,             /* class owner name */
  ownerlength   number not null,               /* length of class owner name */
  classname     long not null,                          /* method class name */
  classlength   number not null)              /* length of method class name */
/
create table triggerjavam$
( obj#          number not null,                            /* object number */
  methodname    long not null,                                /* method name */
  methodlength  number not null,                 /* length of ub1 flag array */
  cookiesize    number not null)                              /* cookie size */
/
create unique index i_triggerjavaf on triggerjavaf$(obj#)
/
create unique index i_triggerjavas on triggerjavas$(obj#)
/
create unique index i_triggerjavac on triggerjavac$(obj#)
/
create unique index i_triggerjavam on triggerjavam$(obj#)
/
create table viewtrcol$                      /* triggering view column table */
( obj#          number not null,             /* object number of base object */
  intcol#       number not null,                   /* internal column number */
  attribute#    number not null,          /* attribute# inside col for views */
  name          varchar2("M_VCSZ") not null)         /* fully-qualified name */
cluster c_obj#(obj#)
/
create unique index i_viewtrcol1 on viewtrcol$(obj#, intcol#,attribute#)
/
create global temporary table atemptab$                     /* see atempind$ */
(
  id    number
)
/
comment on table ATEMPTAB$ is
'Temporary table whose definition is used internally.  Never contains data'
/
create index atempind$ on atemptab$(id) 
/             /* indexes backing up workspaces on disk claim to be atempind$ */

create table triggerdep$       /* trigger dependency. i.e., follows,precedes */
(
  obj#        number,                                        /* trigger obj# */
  p_trgowner  varchar2("M_IDEN"),                    /* parent trigger owner */
  p_trgname   varchar2("M_IDEN"),                     /* parent trigger name */
  flag        number not null,                    /* 0x01 FOLLOWS dependency */
                                                 /* 0x02 PRECEDES dependency */
                                                 /* 0x04 default schema used */
  spare1      number,
  spare2      number
)
/
create index triggerdepind$ on triggerdep$(obj#)
/

REM add table used in online index rebuild without S DML lock
create table indrebuild$                   /* indexes getting rebuilt online */
( obj#          number not null,                            /* object number */
  dataobj#      number,                          /* data layer object number */
  ts#           number not null,                        /* tablespace number */
  file#         number not null,               /* segment header file number */
  block#        number not null,              /* segment header block number */
  pctfree$      number not null, /* minimum free space percentage in a block */
  initrans      number not null,            /* initial number of transaction */
  maxtrans      number not null,            /* maximum number of transaction */
  compcols      number, /* number of compressed cols, NULL if not compressed */
  flags         number                                         /* misc flags */
)
/
create unique index i_indrebuild1 on indrebuild$(obj#)
/

REM transient_iot$ is used to track transient IOTs created during partition
REM maintenance operations (PMOs) on IOTs (bug #5373923)
create table transient_iot$
( obj#            number not null,              /* obj# of the transient IOT */
  parent_obj#     number,                  /* IOT object targeted by the PMO */
  parent_ptn_obj# number             /* partition object targeted by the PMO */
)
/

Rem **********************************************************************
Rem SQL translation (sqltxl) system tables:
Rem   Contact rpang for review of changes to these tables.
Rem **********************************************************************

Rem
Rem SQL translation profile
Rem

create table sqltxl$
(
  obj#      number not null,    /* object number of SQL translation profile  */
  txlrowner varchar2("M_IDEN"), /* translator package owner name             */
  txlrname  varchar2("M_IDEN"), /* translator package name                   */
  flags     number not null,    /* flags                                     */
                                /* 0x01 = foreign SQL dialect                */
                                /* 0x02 = automatic translation registration */
                                /* 0x04 = custom translation miss alert      */
                                /* 0x08 = custom translation miss error      */
                                /* 0x10 = tracing                            */
  audit$    varchar2("S_OPFL") not null /* auditing options                  */
)
/
create unique index i_sqltxl$_1 on sqltxl$(obj#)
/

Rem
Rem SQL translations
Rem

create table sqltxl_sql$
(
  obj#    number not null,      /* object number of SQL translation profile  */
  sqltext clob not null,        /* original sql text                         */
  txltext clob,                 /* translated sql text                       */
  sqlid   varchar2(13) not null,/* sql id                                    */
  sqlhash number not null,      /* sql hash value                            */
  flags   number not null,      /* flags                                     */
                                /* 0x01 = enabled                            */
  rtime   timestamp,            /* registration time                         */
  cinfo   varchar2(64),         /* client_info                               */
  module  varchar2(64),         /* module                                    */
  action  varchar2(64),         /* action                                    */
  puser#  number,               /* parsing current user id                   */
  pschema# number,              /* parsing current schema id                 */
  comment$ varchar2(4000),      /* comment                                   */
  errcode# number,              /* error code encountered                    */
  errsrc  number,               /* source of error encountered               */
  txlmthd number,               /* translation method when error encountered */
  dictid  varchar2(13)          /* dictionary id used during translation     */
)
/
create index i_sqltxl_sql$_1 on sqltxl_sql$(obj#, sqlhash)
/

Rem
Rem Error translations
Rem

create table sqltxl_err$
(
  obj#        number not null,  /* object number of SQL translation profile  */
  errcode#    number not null,  /* original error code                       */
  txlcode#    number,           /* translated error code                     */
  txlsqlstate varchar2(5),      /* translated sqlstate                       */
  flags       number not null,  /* flags                                     */
                                /* 0x01 = enabled                            */
  rtime       timestamp,        /* registration time                         */
  comment$    varchar2(4000)    /* comment                                   */
)
/
create unique index i_sqltxl_err$_1 on sqltxl_err$(obj#, errcode#)
/

REM
REM Clustering Metadata Table clst$
REM 

create table clst$
(
  clstobj#     number not null,  /* object number of the table           */
  clstfunc     number not null,  /* Clustering Function                  */
                                 /* 1 - Hilbert                          */
                                 /* 2 - Order                            */
  clstlastdm   timestamp,        /* Last time the clustering occurred on */
                                 /* Data Movement                        */
  clstlastload timestamp,        /* Last time the clustering occurred on */
                                 /* Load                                 */
  flags        number            
                                 /* 0x00000001 - Load                    */
                                 /* 0x00000002 - Data Movement           */
)
/
Rem Index on clst$
create unique index i_clst$ on clst$(clstobj#)
/

REM
REM Clustering Metadata Table clstkey$
REM 

create table clstkey$
(
  clstobj# number not null,  /* object number of the table              */
  tabobj#  number not null,  /* Clustering column tables                */
  intcol#  number not null,  /* Clustering column                       */
  position number not null,  /* Position of column in clustering clause */
  groupid  number not null   /* Identifier of the Group                 */
)
/

REM
REM Index for Clustering Metadata Table clstkey$
REM 

create index i_clstkey$ on clstkey$(clstobj#)
/


REM
REM Clustering Metadata Table clstdimension$
REM 

create table clstdimension$
(
  clstobj# number not null,  /* object number of the table */
  tabobj#  number not null   /* Clustering column tables   */
)
/

REM
REM Index for Clustering Metadata Table clstdimension$
REM 

create index i_clstdimension$ on clstdimension$(clstobj#)
/

REM
REM Clustering Metadata Table clstjoin$
REM 

create table clstjoin$
(
  clstobj# number not null,  /* object number of the table          */
  tab1obj# number not null,  /* object number of the table in join  */
  int1col# number not null,  /* column number of the column in join */
  tab2obj# number not null,  /* object number of the table in join  */
  int2col# number not null   /* column number of the column in join */
)
/

REM
REM Index Clustering Metadata Table clstjoin$
REM 

create index i_clstjoin$ on clstjoin$(clstobj#)
/

Rem
Rem Orphaned entries from index maintenance optimizations
Rem

create table index_orphaned_entry$
(
  indexobj#     number not null,       /* object number of index (partition) */
  tabpartdobj#  number not null,       /* dataobj number of table partition for
                                        * which there are orphaned entries.
                                        */
  hidden        char(1)                /* is this a hidden (H), orphaned (O),
                                        * or redirected (R) partition? 
                                        */
)
/
create unique index i_index_orphaned_entry$_1 on index_orphaned_entry$
(indexobj#, tabpartdobj#)
/

Rem
Rem Hidden Fragments from Online Operations
Rem
create table online_hidden_frags$
(
  sobj#  number not null,               /* object number of source fragment */
  tobj#  number not null                /* object number of hidden fragment */
)
/

REM
REM archive compression dictionary tables
REM
create table compression$
(
  ts#           number,                                 /* tablespace number */
  file#         number,                        /* segment header file number */
  block#        number,                       /* segment header block number */
  obj#          number not null,                            /* object number */
  dataobj#      number,                          /* data layer object number */
  ulevel        number not null,         /* user specified compression level */
  sublevel      number,                              /* compression sublevel */
  ilevel        number,                                /* internal algorithm */
  flags         number,                                        /* misc flags */
  bestsortcol   number,             /* Best sort column computed by analyzer */
  tinsize       number,            /* target input size computed by analyzer */
  ctinsize      number,                         /* current target input size */
  toutsize      number,            /* target output size passed to cu engine */
  cmpsize       number,                    /* total compressed size of table */
  uncmpsize     number,                  /* total uncompressed size of table */
  mtime         date,                        /* timestamp of compression map */
  analyzer      blob,                                /* analyzer information */
  spare1        number,                                /* average row length */
  spare2        number,              /* number of blocks to pack target rows */
  spare3        number,                                      /* analyzer scn */
  spare4        number                                /* target row estimate */
)
/
create unique index i_compression1 on compression$(obj#, ulevel, mtime)
/



OHA YOOOO