MINI MINI MANI MO

Path : /proc/self/root/opt/oracle/product/18c/dbhomeXE/md/admin/
File Upload :
Current File : //proc/self/root/opt/oracle/product/18c/dbhomeXE/md/admin/prvtimd.plb

@@?/rdbms/admin/sqlsessstart.sql
declare
  already_exists exception;
  pragma exception_init(already_exists, -00955);
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
  begin
  
  

   execute immediate
  ' CREATE TABLE MDSYS.SDO_INDEX_AGGREGATES_TABLE
     (SDO_INDEX_OWNER varchar2(32),
      SDO_INDEX_NAME varchar2(32),
      SDO_INDEX_OID varchar2(32),
      SDO_NUMTILES NUMBER,
      SDO_RTREE_NUM_NODES NUMBER,
      SDO_NUM_ROWS NUMBER,
      SDO_NUM_BLKS NUMBER,
      CONSTRAINT unique_aggregate
        PRIMARY KEY (SDO_INDEX_OWNER, SDO_INDEX_NAME)) ';
    exception
      when already_exists then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')1]: ' || SQLERRM); RAISE;
  end;

  

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_AGGREGATES_TABLE
   modify (SDO_INDEX_OWNER varchar2(130),
           SDO_INDEX_NAME varchar2(130)) ';
  exception
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
  end;

  
  

  begin
   execute immediate
  ' CREATE  TABLE MDSYS.SDO_INDEX_METADATA_TABLE
     (SDO_INDEX_OWNER varchar2(32),
      SDO_INDEX_TYPE varchar2(32),
      SDO_LEVEL NUMBER,
      SDO_NUMTILES NUMBER,
      SDO_MAXLEVEL NUMBER,
      SDO_COMMIT_INTERVAL NUMBER,
      SDO_INDEX_TABLE varchar2(32),
      SDO_INDEX_NAME varchar2(32),
      SDO_INDEX_PRIMARY NUMBER,
      SDO_TSNAME varchar2(32),
      SDO_COLUMN_NAME varchar2(2048),
      SDO_RTREE_HEIGHT  number,
      SDO_RTREE_NUM_NODES number,
      SDO_RTREE_DIMENSIONALITY number,
      SDO_RTREE_FANOUT number,
      SDO_RTREE_ROOT varchar2(32),
      SDO_RTREE_SEQ_NAME varchar2(32),
      SDO_FIXED_META RAW(255),
      SDO_TABLESPACE varchar2(32),
      SDO_INITIAL_EXTENT varchar2(32),
      SDO_NEXT_EXTENT varchar2(32),
      SDO_PCTINCREASE NUMBER,
      SDO_MIN_EXTENTS NUMBER,
      SDO_MAX_EXTENTS NUMBER) ';
    exception
      when already_exists then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE
   modify (SDO_COLUMN_NAME varchar2(2048)) ';
  exception
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')4]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add ( SDO_INDEX_DIMS number)   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')5]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add ( SDO_LAYER_GTYPE varchar2(32)) ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')6]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_RTREE_PCTFREE number)   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')7]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_INDEX_PARTITION varchar2(32))   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')8]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_PARTITIONED number)   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')9]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_RTREE_QUALITY number)   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')10]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_INDEX_VERSION number)   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')11]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_INDEX_GEODETIC varchar2(8))   ' ;
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')12]: ' || SQLERRM); RAISE;
  end;

  begin
  execute immediate
 ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE add
( SDO_INDEX_STATUS varchar2(32))   ';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')13]: ' || SQLERRM); RAISE;
  end;

  
  begin
    execute immediate
    ' update MDSYS.sdo_index_metadata_table set SDO_INDEX_STATUS = '||
    '''VALID''  where SDO_INDEX_STATUS is NULL';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')14]: ' || SQLERRM); RAISE;
  end;

  begin
    execute immediate
    'update MDSYS.sdo_index_metadata_table set SDO_INDEX_DIMS =  2 ' ||
    ' where SDO_INDEX_GEODETIC  = ''TRUE'' and SDO_RTREE_DIMENSIONALITY=3';
  exception
    when column_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')15]: ' || SQLERRM); RAISE;
  end;


 begin
  execute immediate
  ' alter table MDSYS.sdo_index_metadata_table add
      (SDO_NL_INDEX_TABLE varchar2(33)) ';
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')16]: ' || SQLERRM); RAISE;
 end;



 begin
 execute immediate
 ' alter table MDSYS.sdo_index_metadata_table add
      (SDO_DML_BATCH_SIZE number) ';
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')17]: ' || SQLERRM); RAISE;
 end;


 begin
 execute immediate
 'alter table MDSYS.sdo_index_metadata_table add
      (SDO_RTREE_ENT_XPND number) ';
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')18]: ' || SQLERRM); RAISE;
 end;


 begin
 execute immediate
 'ALTER TABLE MDSYS.sdo_index_metadata_table
  ADD (SDO_ROOT_MBR mdsys.sdo_geometry) ';
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')19]: ' || SQLERRM); RAISE;
 end;

end;
/
declare
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
 begin
 execute immediate
  ' ALTER TABLE MDSYS.sdo_index_metadata_table ' ||
  ' ADD (SDO_NUM_ROWS NUMBER default null)' ;
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')20]: ' || SQLERRM); RAISE;
 end;
end;
/
declare
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
 begin
 execute immediate
  ' ALTER TABLE MDSYS.sdo_index_metadata_table ' ||
  ' ADD (SDO_NUM_BLKS NUMBER default null)' ;
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')21]: ' || SQLERRM); RAISE;
 end;
end;
/
declare
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
 begin
 execute immediate
  ' ALTER TABLE MDSYS.sdo_index_metadata_table ' ||
  ' ADD (SDO_OPTIMIZED_NODES NUMBER default null)' ;
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')22]: ' || SQLERRM); RAISE;
 end;
end;
/
SHOW ERRORS
declare
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
 begin
 execute immediate
  ' ALTER TABLE MDSYS.sdo_index_metadata_table ' ||
  ' ADD (SDO_TABLE_NAME VARCHAR2(130) default null)' ;
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')23]: ' || SQLERRM); RAISE;
 end;
end;
/
declare
  column_exists exception;
  pragma exception_init(column_exists, -01430);
begin
 begin
 execute immediate
  ' Alter table MDSYS.SDO_INDEX_METADATA_TABLE
    modify (SDO_INDEX_OWNER varchar2(130),
            SDO_INDEX_TABLE varchar2(130),
            SDO_NL_INDEX_TABLE varchar2(131),
            SDO_INDEX_NAME varchar2(130),
            SDO_TSNAME varchar2(130),
            SDO_RTREE_SEQ_NAME varchar2(130),
            SDO_TABLESPACE varchar2(130),
            SDO_INDEX_PARTITION varchar2(130)) ';
 exception
   when column_exists then NULL;
   when others then
     SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                            'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')24]: ' || SQLERRM); RAISE;
 end;
end;
/
SHOW ERRORS
create or replace view mdsys.my_sdo_index_metadata as
 select SDO_INDEX_OWNER, SDO_INDEX_TYPE,
        SDO_LEVEL, SDO_NUMTILES, SDO_MAXLEVEL,
        SDO_COMMIT_INTERVAL, SDO_INDEX_TABLE,
        SDO_INDEX_NAME,  SDO_INDEX_PRIMARY,
        SDO_TSNAME, SDO_COLUMN_NAME,
        SDO_RTREE_HEIGHT, SDO_RTREE_NUM_NODES,
        SDO_RTREE_DIMENSIONALITY, SDO_RTREE_FANOUT,
        SDO_RTREE_ROOT, SDO_RTREE_SEQ_NAME,
        SDO_FIXED_META, SDO_TABLESPACE,
        SDO_INITIAL_EXTENT, SDO_NEXT_EXTENT,
        SDO_PCTINCREASE, SDO_MIN_EXTENTS,
        SDO_MAX_EXTENTS, SDO_INDEX_DIMS,
        SDO_LAYER_GTYPE, SDO_RTREE_PCTFREE,
        SDO_INDEX_PARTITION, SDO_PARTITIONED,
        SDO_RTREE_QUALITY, SDO_INDEX_VERSION,
        SDO_INDEX_GEODETIC, SDO_INDEX_STATUS,
        SDO_NL_INDEX_TABLE,
        SDO_DML_BATCH_SIZE, SDO_RTREE_ENT_XPND,
        SDO_TABLE_NAME,
        SDO_ROOT_MBR
 from MDSYS.SDO_INDEX_METADATA_TABLE
 where sdo_index_owner = sys_context('userenv', 'CURRENT_USER');
create or replace view mdsys.user_sdo_index_metadata as
 select SDO_INDEX_OWNER, SDO_INDEX_TYPE,
        SDO_LEVEL, SDO_NUMTILES, SDO_MAXLEVEL,
        SDO_COMMIT_INTERVAL, SDO_INDEX_TABLE,
        SDO_INDEX_NAME,  SDO_INDEX_PRIMARY,
        SDO_TSNAME, SDO_COLUMN_NAME,
        SDO_RTREE_HEIGHT, SDO_RTREE_NUM_NODES,
        SDO_RTREE_DIMENSIONALITY, SDO_RTREE_FANOUT,
        SDO_RTREE_ROOT, SDO_RTREE_SEQ_NAME,
        SDO_FIXED_META, SDO_TABLESPACE,
        SDO_INITIAL_EXTENT, SDO_NEXT_EXTENT,
        SDO_PCTINCREASE, SDO_MIN_EXTENTS,
        SDO_MAX_EXTENTS, SDO_INDEX_DIMS,
        SDO_LAYER_GTYPE, SDO_RTREE_PCTFREE,
        SDO_INDEX_PARTITION, SDO_PARTITIONED,
        SDO_RTREE_QUALITY, SDO_INDEX_VERSION,
        SDO_INDEX_GEODETIC, SDO_INDEX_STATUS,
        SDO_NL_INDEX_TABLE,
        SDO_DML_BATCH_SIZE, SDO_RTREE_ENT_XPND,
        SDO_NUM_ROWS,                                           --- bug9743250
        SDO_NUM_BLKS,
        SDO_OPTIMIZED_NODES,
        SDO_TABLE_NAME,                                         --- bug21925692
        SDO_ROOT_MBR                                            --- bug2719909
 from MDSYS.SDO_INDEX_METADATA_TABLE
 where
 (exists
   (select index_name from sys.user_indexes
    where index_name=sdo_index_name and
          sdo_index_owner = sys_context('userenv', 'CURRENT_USER')));
create or replace view mdsys.all_sdo_index_metadata as
 select SDO_INDEX_OWNER, SDO_INDEX_TYPE,
        SDO_LEVEL, SDO_NUMTILES, SDO_MAXLEVEL, SDO_COMMIT_INTERVAL,
        SDO_INDEX_TABLE, SDO_INDEX_NAME, SDO_INDEX_PRIMARY, SDO_TSNAME,
        SDO_COLUMN_NAME, SDO_RTREE_HEIGHT, SDO_RTREE_NUM_NODES,
        SDO_RTREE_DIMENSIONALITY, SDO_RTREE_FANOUT, SDO_RTREE_ROOT,
        SDO_RTREE_SEQ_NAME, SDO_FIXED_META, SDO_TABLESPACE,
        SDO_INITIAL_EXTENT, SDO_NEXT_EXTENT, SDO_PCTINCREASE,
        SDO_MIN_EXTENTS, SDO_MAX_EXTENTS, SDO_INDEX_DIMS, SDO_LAYER_GTYPE,
        SDO_RTREE_PCTFREE, SDO_INDEX_PARTITION, SDO_PARTITIONED,
        SDO_RTREE_QUALITY, SDO_INDEX_VERSION, SDO_INDEX_GEODETIC,
        SDO_INDEX_STATUS,
        SDO_NL_INDEX_TABLE,
        SDO_DML_BATCH_SIZE, SDO_RTREE_ENT_XPND,
        SDO_NUM_ROWS,                                           --- bug9743250
        SDO_NUM_BLKS,
        SDO_OPTIMIZED_NODES,
        SDO_TABLE_NAME,                                         --- bug21925692
        SDO_ROOT_MBR                                            --- bug2719909
 from MDSYS.SDO_INDEX_METADATA_TABLE
 where
 (exists
   (select index_name from SYS.all_indexes
    where index_name=sdo_index_name and
          owner = sdo_index_owner));
declare
  table_not_found exception;
  pragma exception_init(table_not_found, -00942);
begin
  execute immediate 'DROP TABLE MDSYS.SDO_TTS_METADATA_TABLE FORCE';
  exception
    when table_not_found then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM);
      RAISE;
end;
/
SHOW ERRORS
declare
  already_exists exception;
  pragma exception_init(already_exists, -00955);
begin
  begin
   execute immediate
   'CREATE TABLE MDSYS.SDO_INDEX_HISTOGRAM_TABLE
    (SDO_INDEX_OBJNO NUMBER,
     BKT_ID NUMBER,
     NUM_MBRS NUMBER,
     START1 NUMBER,
     END1 NUMBER,
     AVGMBRLEN1 NUMBER,
     START2 NUMBER,
     END2 NUMBER,
     AVGMBRLEN2 NUMBER,
     START3 NUMBER,
     END3 NUMBER,
     AVGMBRLEN3 NUMBER
    )';
  exception
    when already_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')25]: ' || SQLERRM); RAISE;
  end;

  begin
    execute immediate
    'CREATE INDEX MDSYS.SDO_INDEX_HISTOGRAM_TABLE_IDX ON
     MDSYS.SDO_INDEX_HISTOGRAM_TABLE(SDO_INDEX_OBJNO, BKT_ID)';
  exception
    when already_exists then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')26]: ' || SQLERRM); RAISE;
  end;
end;
/
SHOW ERRORS
create or replace view mdsys.user_sdo_index_histogram as
 select OBJECT_NAME SDO_INDEX_NAME,
        BKT_ID, NUM_MBRS,
        START1, END1, AVGMBRLEN1,
        START2, END2, AVGMBRLEN2,
        START3, END3, AVGMBRLEN3
 from MDSYS.SDO_INDEX_HISTOGRAM_TABLE a, SYS.ALL_OBJECTS b
 where a.sdo_index_objno = b.object_id
   and b.owner = sys_context('userenv', 'CURRENT_USER')
 order by SDO_INDEX_NAME, BKT_ID;
create or replace view mdsys.all_sdo_index_histogram as
 select OBJECT_NAME SDO_INDEX_NAME,
        BKT_ID, NUM_MBRS,
        START1, END1, AVGMBRLEN1,
        START2, END2, AVGMBRLEN2,
        START3, END3, AVGMBRLEN3
 from MDSYS.SDO_INDEX_HISTOGRAM_TABLE a, SYS.ALL_OBJECTS b
 where a.sdo_index_objno = b.object_id
 order by SDO_INDEX_NAME, BKT_ID;
grant read on mdsys.sdo_index_histogram_table to public;
create or replace public synonym sdo_index_histogram_table for
mdsys.sdo_index_histogram_table;
grant read on mdsys.user_sdo_index_histogram to public;
grant read on mdsys.all_sdo_index_histogram to public;
create or replace public synonym sdo_index_histogram for
mdsys.user_sdo_index_histogram;
create or replace public synonym user_sdo_index_histogram for
mdsys.user_sdo_index_histogram;
create or replace public synonym all_sdo_index_histogram for
mdsys.all_sdo_index_histogram;
commit;
declare
  index_not_found exception;
  pragma exception_init(index_not_found, -01418);
begin
  begin
  execute immediate
    ' drop index MDSYS.sdo_idx_mdata_idx';
  exception
    when index_not_found then NULL;
    when others then
      SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                             'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')27]: ' || SQLERRM); RAISE;
  end;
end;
/
create index MDSYS.sdo_idx_mdata_idx on
 mdsys.sdo_index_metadata_table(sdo_index_owner, SDO_INDEX_NAME, SDO_INDEX_PARTITION);
grant read on mdsys.user_sdo_index_metadata to public;
grant read on mdsys.my_sdo_index_metadata to public;
grant read on mdsys.all_sdo_index_metadata to public;
create or replace public synonym my_sdo_index_metadata for
mdsys.my_sdo_index_metadata;
create or replace public synonym sdo_index_metadata for
mdsys.user_sdo_index_metadata;
create or replace public synonym user_sdo_index_metadata for
mdsys.user_sdo_index_metadata;
create or replace public synonym all_sdo_index_metadata for
mdsys.all_sdo_index_metadata;
commit;
create or replace view mdsys.user_sdo_index_info as
 select SDO_INDEX_NAME index_name,  table_owner, table_name,
       REPLACE(sdo_column_name, '"') column_name,
       SDO_INDEX_TYPE, SDO_INDEX_TABLE, SDO_INDEX_STATUS
 from mdsys.user_sdo_index_metadata,
     sys.user_indexes
 where index_name = sdo_index_name;
grant read on mdsys.user_sdo_index_info to public;
create or replace public synonym user_sdo_index_info for
   mdsys.user_sdo_index_info;
create or replace view mdsys.all_sdo_index_info as
 select SDO_INDEX_OWNER, SDO_INDEX_NAME index_name, table_owner, table_name,
       REPLACE(sdo_column_name, '"')  column_name,
       SDO_INDEX_TYPE, SDO_INDEX_TABLE, SDO_INDEX_STATUS, SDO_INDEX_PARTITION
 from mdsys.all_sdo_index_metadata, SYS.all_indexes
 where index_name = sdo_index_name and owner=sdo_index_owner;
grant read on mdsys.all_sdo_index_info to public;
create or replace public synonym all_sdo_index_info for
  mdsys.all_sdo_index_info;
declare
  table_not_found exception;
  pragma exception_init(table_not_found, -00942);
  synonym_not_found exception;
  pragma exception_init(synonym_not_found, -01432);
begin
   
   begin
   execute immediate
   'DROP TABLE MDSYS.SDO_DIST_METADATA_TABLE ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')28]: ' || SQLERRM); RAISE;
   end;

   
   begin
   execute immediate
   'DROP TABLE MDSYS.SDO_TXN_JOURNAL ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                              'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')29]: ' || SQLERRM); RAISE;
   end;

   begin
   execute immediate
   'DROP public synonym SDO_TXN_JOURNAL ';
    exception
      when synonym_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')30]: ' || SQLERRM); RAISE;
   end;

   
   begin
   execute immediate
   'DROP TABLE MDSYS.SDO_TXN_JOURNAL_REG ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')31]: ' || SQLERRM); RAISE;
   end;

   
   begin
   execute immediate
   'DROP TABLE MDSYS.SDO_TXN_JOURNAL_GTT ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')32]: ' || SQLERRM); RAISE;
   end;

   
   begin
   execute immediate
   'DROP TABLE MDSYS.SDO_TXN_IDX_INSERTS ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')33]: ' || SQLERRM); RAISE;
   end;

   begin
   execute immediate
   'DROP public synonym SDO_TXN_IDX_INSERTS ';
    exception
      when synonym_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')34]: ' || SQLERRM); RAISE;
   end;

   
   begin
   execute immediate
   ' DROP TABLE MDSYS.SDO_TXN_IDX_DELETES ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')35]: ' || SQLERRM); RAISE;
   end;

   begin
   execute immediate
   ' DROP public synonym SDO_TXN_IDX_DELETES ';
    exception
      when synonym_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')36]: ' || SQLERRM); RAISE;
   end;

   begin
   execute immediate
   ' DROP TABLE MDSYS.SDO_TXN_IDX_EXP_UPD_RGN ';
    exception
      when table_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')37]: ' || SQLERRM); RAISE;
   end;

   begin
   execute immediate
   ' DROP public synonym SDO_TXN_IDX_EXP_UPD_RGN ';
    exception
      when synonym_not_found then NULL;
      when others then
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[prvtimd.sql(' || $$PLSQL_LINE || ')38]: ' || SQLERRM); RAISE;
   end;

end;
/
CREATE GLOBAL TEMPORARY TABLE MDSYS.SDO_TXN_JOURNAL_GTT
  (SID                  NUMBER NOT NULL, -- not really used for GTT
   SDO_TXN_IDX_ID       varchar2(130) NOT NULL,
   OPERATION            number NOT NULL, -- delete=1/insert=2 operation
   RID                  varchar2(24) NOT NULL,
   INDEXPTNIDEN         number NOT NULL, -- index partition identifier
   TABLEPTNIDEN         number NOT NULL, -- table partition identifier
   START_1              binary_double,
   END_1                binary_double,
   START_2              binary_double,
   END_2                binary_double,
   START_3              binary_double,
   END_3                binary_double,
   START_4              binary_double,
   END_4                binary_double,
   primary key(sdo_txn_idx_id, indexptniden, operation, rid)
);
grant insert, delete, update, select on mdsys.sdo_txn_journal_gtt to public;
create or replace public synonym sdo_txn_journal_gtt
  for mdsys.sdo_txn_journal_gtt;
DECLARE
  stmt varchar2(4000);
  tblspc varchar2(260);
  ptn_clause varchar2(1000);
  local_clause varchar2(1000);
  block_size number;
  e_no_feature EXCEPTION;
  PRAGMA EXCEPTION_INIT(e_no_feature, -439);
  e_block_size EXCEPTION;
  PRAGMA EXCEPTION_INIT(e_block_size, -14520);
BEGIN
  tblspc := 'SYSAUX';
  ptn_clause := 'partition by range (sid) interval (50) ' ||
                '(partition p1 values less than (50)) ';
  local_clause := 'LOCAL';
  for i in 1..2
  loop
    stmt :=
      'CREATE TABLE MDSYS.SDO_TXN_JOURNAL_REG ' ||
      '(SID            NUMBER NOT NULL, ' || 
       'SDO_TXN_IDX_ID varchar2(130) NOT NULL, ' ||
       'OPERATION      number NOT NULL, ' || 
       'RID            varchar2(24) NOT NULL, ' ||
       'INDEXPTNIDEN   number NOT NULL, ' || 
       'TABLEPTNIDEN   number NOT NULL, ' || 
       'START_1        binary_double, ' ||
       'END_1          binary_double, ' ||
       'START_2        binary_double, ' ||
       'END_2          binary_double, ' ||
       'START_3        binary_double, ' ||
       'END_3          binary_double, ' ||
       'START_4        binary_double, ' ||
       'END_4          binary_double ' ||
      ') ' ||
      ptn_clause ||
      'TABLESPACE ' || tblspc;

    begin
      execute immediate stmt;
      exit; 

      exception
          
         when e_no_feature then
           ptn_clause := '';
           local_clause := '';
         when others then
            MDERR.RAISE_MD_ERROR('MD','SDO',-13199, 'CREATE INDEX=' || SQLERRM);
    end;
  end loop;

  
  stmt := 'select block_size from sys.dba_tablespaces ' ||
          'where tablespace_name = ''SYSAUX'' ';
  execute immediate stmt into block_size;

  
  stmt := 'select tablespace_name from sys.dba_tablespaces ' ||
          'where contents = ''PERMANENT'' ' ||
          'and tablespace_name <> ''SYSTEM'' ' ||
          'and status = ''ONLINE'' ' ||
          'and block_size = :blk ' ||
          'and rownum = 1 ' ||
          'order by tablespace_name ';
  begin
    
    execute immediate stmt into tblspc using block_size;
    exception
      when others then
        tblspc := 'SYSAUX';
  end;

  

  if (tblspc is not NULL) and (tblspc <> 'SYSAUX') then
    dbms_output.put_line('Moving to tablespace ' || tblspc);
    if ( local_clause = 'LOCAL' ) then
      begin
        stmt := 'ALTER TABLE "MDSYS"."SDO_TXN_JOURNAL_REG" MOVE PARTITION "P1" TABLESPACE ' || tblspc;
        execute immediate stmt;

        
        
        
        
        
        
        stmt := 'ALTER TABLE "MDSYS"."SDO_TXN_JOURNAL_REG" MODIFY DEFAULT ATTRIBUTES TABLESPACE ' || tblspc;
        execute immediate stmt;

        exception
          when e_block_size then
            NULL;
          when others then
            MDERR.RAISE_MD_ERROR('MD','SDO',-13199, 'MOVE TABLE=' || SQLERRM);
      end;
    else
      begin
        stmt := 'ALTER TABLE "MDSYS"."SDO_TXN_JOURNAL_REG" MOVE TABLESPACE ' || tblspc;
        execute immediate stmt;

        exception
          when e_block_size then
            NULL;
          when others then
            MDERR.RAISE_MD_ERROR('MD','SDO',-13199, 'MOVE TABLE=' || SQLERRM);
      end;
    end if;
  end if;

  

  stmt :=
    'create index MDSYS.SDO_TXN_JOURNAL_REG_IDX ' ||
    'on MDSYS.SDO_TXN_JOURNAL_REG(sdo_txn_idx_id, indexptniden, operation, rid) ' ||
    local_clause || ' TABLESPACE ' || tblspc;

  begin
    execute immediate stmt;
    exception
      when others then
        MDERR.RAISE_MD_ERROR('MD','SDO',-13199, 'CREATE TABLE=' || SQLERRM);
  end;
END;
/
SHOW ERRORS
grant insert, delete, update, select on mdsys.sdo_txn_journal_reg to public;
create or replace public synonym sdo_txn_journal_reg
  for mdsys.sdo_txn_journal_reg;
commit;
CREATE TABLE MDSYS.SDO_DIST_METADATA_TABLE
(
  SDO_INDEX_OWNER VARCHAR2(130) NOT NULL,    -- 2. ischema_mdtxnMetadata
  SDO_INDEX_NAME VARCHAR2(130) NOT NULL,     -- 3. iname_mdtxnMetadata
  SDO_PARTITION_NAME VARCHAR2(130) NOT NULL, -- 4. iptn_mdtxnMetadata
  TXNID VARCHAR2(128) NOT NULL,              -- 1. oidstr_mdtxnMetadata
  SDO_TSNAME VARCHAR2(130),                  -- 5. pTsName_mdtxnMetadata
  SDO_TABLE_NAME VARCHAR2(130),              -- 6. pTableName_mdtxnMetadata
  IS_GEODETIC NUMBER,                        -- 7. is_geodetic_mdtxnMetadata
  DML_CHAR NUMBER,                           -- 8. dml_char_mdtxnMetadata
  UNITFACTOR NUMBER,                         -- 9. unitfactor_mdtxnMetadata
  TOLERANCE NUMBER,                          -- 10. tolerance_mdtxnMetadata
  LAYER_GTYPE NUMBER,                        -- 11. layer_gtype_mdtxnMetadata
  LAYER_SRID NUMBER,                         -- 12. layer_srid_mdtxnMetadata
  INDX_DIMS NUMBER,                          -- 13. indx_dims_mdtxnMetadata
  DATA_DIMS NUMBER,                          -- 14. data_dims_mdtxnMetadata
  INS_BB_START1 NUMBER,                      -- 15. insbb_mdtxnMetadata[0]
  INS_BB_END1 NUMBER,                        -- 16. insbb_mdtxnMetadata[0]
  INS_BB_START2 NUMBER,                      -- 17. insbb_mdtxnMetadata[0]
  INS_BB_END2 NUMBER,                        -- 18. insbb_mdtxnMetadata[0]
  INS_BB_START3 NUMBER,                      -- 19. insbb_mdtxnMetadata[0]
  INS_BB_END3 NUMBER,                        -- 20. insbb_mdtxnMetadata[0]
  INS_BB_START4 NUMBER,                      -- 21. insbb_mdtxnMetadata[0]
  INS_BB_END4 NUMBER,                        -- 22. insbb_mdtxnMetadata[0]
  DEL_BB_START1 NUMBER,                      -- 23. insbb_mdtxnMetadata[0]
  DEL_BB_END1 NUMBER,                        -- 24. insbb_mdtxnMetadata[0]
  DEL_BB_START2 NUMBER,                      -- 25. insbb_mdtxnMetadata[0]
  DEL_BB_END2 NUMBER,                        -- 26. insbb_mdtxnMetadata[0]
  DEL_BB_START3 NUMBER,                      -- 27. insbb_mdtxnMetadata[0]
  DEL_BB_END3 NUMBER,                        -- 28. insbb_mdtxnMetadata[0]
  DEL_BB_START4 NUMBER,                      -- 29. insbb_mdtxnMetadata[0]
  DEL_BB_END4 NUMBER,                        -- 30. insbb_mdtxnMetadata[0]
  INS_NO NUMBER,                             -- 31. ins_no_mdtxnMetadata
  DEL_NO NUMBER                              -- 32. del_no_mdtxnMetadata
) INITRANS 255;
grant insert, delete, update, select on MDSYS.SDO_DIST_METADATA_TABLE to public;
create or replace public synonym SDO_DIST_METADATA_TABLE
  for MDSYS.SDO_DIST_METADATA_TABLE;
CREATE GLOBAL TEMPORARY TABLE MDSYS.SDO_TXN_IDX_EXP_UPD_RGN
  (SDO_TXN_IDX_ID       varchar2(32),
   RID                  varchar2(24),
   START_1              number,
   END_1                number,
   START_2              number,
   END_2                number,
   START_3              number,
   END_3                number,
   START_4              number,
   END_4                number,
   primary key(sdo_txn_idx_id, rid)
);
grant insert, delete, update, select on mdsys.sdo_txn_idx_exp_upd_rgn to public;
create or replace  public synonym sdo_txn_idx_exp_upd_rgn
  for mdsys.sdo_txn_idx_exp_upd_rgn;
@?/rdbms/admin/sqlsessend.sql

OHA YOOOO