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/sdomvdct.sql

Rem
Rem $Header: sdo/admin/sdomvdct.sql /main/14 2017/05/26 16:34:18 rjanders Exp $
Rem
Rem sdomvdct.sql
Rem
Rem Copyright (c) 2002, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sdomvdct.sql - MoVe the DiCTionary data to a new tablespace
Rem
Rem    DESCRIPTION
Rem      This is required for use with sysaux tablespace. This procedure moves
Rem      all spatial dictionary data to a user specified tablespace.
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: sdo/admin/sdomvdct.sql
Rem    SQL_SHIPPED_FILE: md/admin/sdomvdct.sql
Rem    SQL_PHASE: UPGRADE
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    SQL_CALLING_FILE: NONE
Rem    END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    rjanders    05/10/17 - #26037683: Raise 'when other' exceptions
Rem    rjanders    04/27/17 - Correct "SQL_PHASE" metadata values
Rem    rjanders    03/23/17 - #25437999: Remove 'when others then NULL'
Rem                           handlers
Rem    rjanders    03/09/17 - Add missing SQL_FILE_METADATA information
Rem    sravada     01/11/17 - bug 25370681
Rem    rjanders    01/02/15 - long identifier project phase 1
Rem    rjanders    03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem                           initialization
Rem    rjanders    04/22/12 - Correct open cursor exception handling
Rem    sravada     09/15/10 - bug 9935019
Rem    sravada     12/16/03 - bug 3089374 
Rem    sravada     02/05/03 - remove SETs
Rem    sravada     09/27/02 - 
Rem    sravada     03/22/02 - sravada_move_dictionary_sysaux
Rem    sravada     03/21/02 - Created
Rem


Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@@?/rdbms/admin/sqlsessstart.sql
Rem ********************************************************************

CREATE OR REPLACE PROCEDURE MOVE_SDO ( tbl_space IN varchar2)
IS
  new_tblspc varchar2(130);
 type                    cursor_type is REF CURSOR;
 query_crs               cursor_type ;
 ind_crs               cursor_type ;
 tname varchar2(130);
 iname varchar2(130);
 tab_name varchar2(130);
 ind_name varchar2(130);
begin
  new_tblspc := SYS.DBMS_ASSERT.enquote_name(tbl_space,FALSE);
    BEGIN
     EXECUTE IMMEDIATE
     ' drop table mdsys.sdo_index_metadata_table_orig ';
        EXCEPTION
            WHEN OTHERS THEN
    SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                           'EXCEPTION[sdomvdct.sql(' || $$PLSQL_LINE || ')1]: ' || SQLERRM); RAISE;
     END;

     EXECUTE IMMEDIATE
     'create table mdsys.sdo_index_metadata_table_orig as select * from   mdsys.sdo_index_metadata_table';
     EXECUTE IMMEDIATE 
     ' drop table mdsys.sdo_index_metadata_table ';

     EXECUTE IMMEDIATE
     ' create table mdsys.sdo_index_metadata_table tablespace '
       || new_tblspc ||
     ' as select * from mdsys.sdo_index_metadata_table_orig';

    EXECUTE IMMEDIATE
    ' CREATE INDEX MDSYS.SDO_IDX_MDATA_IDX ON ' ||
    ' MDSYS.SDO_INDEX_METADATA_TABLE(SDO_INDEX_OWNER, SDO_INDEX_NAME, ' ||
   '  SDO_INDEX_PARTITION) ';

    BEGIN
     EXECUTE IMMEDIATE
     ' drop table mdsys.sdo_index_metadata_table_orig ';
        EXCEPTION
            WHEN OTHERS THEN
    SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                           'EXCEPTION[sdomvdct.sql(' || $$PLSQL_LINE || ')2]: ' || SQLERRM); RAISE;
     END;



  OPEN query_crs FOR 
    ' select table_name from SYS.all_tables where owner = ''MDSYS'' and temporary = ''N'' ';
  LOOP
     BEGIN
      FETCH query_crs into tname;
      EXIT when query_crs%NOTFOUND ;
      tab_name := SYS.DBMS_ASSERT.enquote_name(tname, FALSE);

     EXECUTE IMMEDIATE ' alter table  MDSYS.'||tab_name|| ' MOVE TABLESPACE '||
                 new_tblspc;
      exception when others then
        dbms_output.put_line(tab_name);
     END;
  END LOOP;
  CLOSE query_crs;

   OPEN ind_crs FOR 
    ' select index_name from SYS.all_indexes where owner=''MDSYS''  ';
      LOOP
        BEGIN
          FETCH ind_crs into iname;
          EXIT when ind_crs%NOTFOUND ;
          ind_name := SYS.DBMS_ASSERT.enquote_name(iname, FALSE);
          EXECUTE IMMEDIATE 
            ' alter index MDSYS.' ||ind_name|| ' REBUILD TABLESPACE '||new_tblspc;
           exception when others then
    SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                           'EXCEPTION[sdomvdct.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM); RAISE;
         END;
       END LOOP;
  CLOSE ind_crs;
end;
/

show errors;



Rem ********************************************************************
Rem #16473696: Indicate Oracle-Supplied object
@?/rdbms/admin/sqlsessend.sql
Rem ********************************************************************


OHA YOOOO