MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/md/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/md/admin/sdoepsgx.sql

Rem
Rem $Header: sdo/admin/sdoepsgx.sql /st_sdo_18.0/2 2018/02/08 08:52:21 sravada Exp $
Rem
Rem sdoepsgx.sql
Rem
Rem Copyright (c) 2004, 2018, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sdoepsgx.sql - <one-line expansion of the name>
Rem
Rem    DESCRIPTION
Rem      <short description of component this file declares/defines>
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem    BEGIN SQL_FILE_METADATA 
Rem    SQL_SOURCE_FILE: sdo/admin/sdoepsgx.sql 
Rem    SQL_SHIPPED_FILE: md/admin/sdoepsgx.sql 
Rem    SQL_PHASE: SDOEPSGX
Rem    SQL_STARTUP_MODE: NORMAL 
Rem    SQL_IGNORABLE_ERRORS: NONE 
Rem    SQL_CALLING_FILE: sdo/admin/catmdlocp1.sql 
Rem    END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    rjanders    06/30/17 - Add SYS/MDSYS prefixes
Rem    rjanders    05/10/17 - #26037683: Raise 'when other' exceptions
Rem    rjanders    04/17/17 - More 'exception when others' changes
Rem    rjanders    03/23/17 - #25437999: Remove 'when others then NULL'
Rem                           handlers
Rem    rjanders    01/02/15 - long identifier project phase 1
Rem    rjanders    03/15/13 - #16473696: Start/End _ORACLE_SCRIPT
Rem                           initialization
Rem    rjanders    03/14/12 - Change upper() to nls_upper() [security]
Rem    rjanders    02/07/12 - Remove DOC> C-style comments (security)
Rem    sravada     11/19/11 - temporarily disable epsg_data
Rem    mhorhamm    09/08/06 - Do not load .asc file
Rem    mhorhamm    09/01/06 - Load sample GEOID03 grid file for Hawaii
Rem    mhorhamm    06/24/05 - Drop two directories 
Rem    mhorhamm    06/24/05 - work directory does not match all platforms, 
Rem                           correctly 
Rem    mhorhamm    06/07/05 - Initially deregister XML schema, if necessary 
Rem    mhorhamm    04/05/05 - Close file after closing LOB 
Rem    mhorhamm    12/09/04 - Do not load NTv2 file 
Rem    sravada     08/31/04 - sravada_lrg_1733556
Rem    sravada     08/31/04 - Created
Rem

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

ALTER SESSION SET current_schema=SYS;

DECLARE
  ORCL_HOME_DIR VARCHAR2(128);
  ORCL_WORK_DIR VARCHAR2(128);
  Src_loc       BFILE;
  Dest_loc      CLOB;
  CURSOR PARAM_FILES IS
    SELECT
      COORD_OP_ID,
      PARAMETER_ID,
      PARAM_VALUE_FILE_REF
    FROM
      MDSYS.SDO_COORD_OP_PARAM_VALS
    WHERE
      PARAMETER_ID IN (8656, 8657, 8658, 8666)
    ORDER BY
      PARAMETER_ID,
      COORD_OP_ID;
  PARAM_FILE PARAM_FILES%ROWTYPE;
  ACTUAL_FILE_NAME VARCHAR2(128);
  platform NUMBER;
  con_id number := sys_context('userenv', 'con_id');
  object_not_found exception;
  pragma exception_init(object_not_found, -04043);
BEGIN
  SELECT platform_id INTO platform FROM v$database;

--  if(not (con_id > 1)) then -- is not PDB
    IF(platform = 15) THEN /* On the VMS platform, GET_ENV cannot be used */
      EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY sdo_dir_admin AS ''ORA_ROOT:[MD.ADMIN]''';
      EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY sdo_dir_work AS ''ORA_ROOT:[WORK]''';
    ELSE
      DBMS_SYSTEM.GET_ENV('T_WORK', ORCL_WORK_DIR);
      DBMS_SYSTEM.GET_ENV('ORACLE_HOME', ORCL_HOME_DIR);
      EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY sdo_dir_admin AS ''' || ORCL_HOME_DIR || '/md/admin''';
      EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY sdo_dir_work AS ''' || ORCL_WORK_DIR || '''';
    END IF;
--  end if;

  FOR PARAM_FILE IN PARAM_FILES LOOP
    CASE nls_upper(PARAM_FILE.PARAM_VALUE_FILE_REF)
      /* NADCON */
      WHEN 'ALASKA.LAS'   THEN ACTUAL_FILE_NAME := 'alaska.laa';
      WHEN 'ALASKA.LOS'   THEN ACTUAL_FILE_NAME := 'alaska.loa';
      WHEN 'ALHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'alhpgn.laa';
      WHEN 'ALHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'alhpgn.loa';
      WHEN 'ARHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'arhpgn.laa';
      WHEN 'ARHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'arhpgn.loa';
      WHEN 'AZHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'azhpgn.laa';
      WHEN 'AZHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'azhpgn.loa';
      WHEN 'CNHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'cnhpgn.laa';
      WHEN 'CNHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'cnhpgn.loa';
      WHEN 'COHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'cohpgn.laa';
      WHEN 'COHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'cohpgn.loa';
      WHEN 'CONUS.LAS'    THEN ACTUAL_FILE_NAME := 'conus.laa';
      WHEN 'CONUS.LOS'    THEN ACTUAL_FILE_NAME := 'conus.loa';
      WHEN 'CSHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'cshpgn.laa';
      WHEN 'CSHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'cshpgn.loa';
      WHEN 'EMHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'emhpgn.laa';
      WHEN 'EMHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'emhpgn.loa';
      WHEN 'ESHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'eshpgn.laa';
      WHEN 'ESHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'eshpgn.loa';
      WHEN 'ETHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'ethpgn.laa';
      WHEN 'ETHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'ethpgn.loa';
      WHEN 'FLHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'flhpgn.laa';
      WHEN 'FLHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'flhpgn.loa';
      WHEN 'GAHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'gahpgn.laa';
      WHEN 'GAHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'gahpgn.loa';
      WHEN 'HAWAII.LAS'   THEN ACTUAL_FILE_NAME := 'hawaii.laa';
      WHEN 'HAWAII.LOS'   THEN ACTUAL_FILE_NAME := 'hawaii.loa';
      WHEN 'HIHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'hihpgn.laa';
      WHEN 'HIHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'hihpgn.loa';
      WHEN 'IAHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'iahpgn.laa';
      WHEN 'IAHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'iahpgn.loa';
      WHEN 'ILHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'ilhpgn.laa';
      WHEN 'ILHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'ilhpgn.loa';
      WHEN 'INHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'inhpgn.laa';
      WHEN 'INHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'inhpgn.loa';
      WHEN 'KSHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'kshpgn.laa';
      WHEN 'KSHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'kshpgn.loa';
      WHEN 'KYHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'kyhpgn.laa';
      WHEN 'KYHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'kyhpgn.loa';
      WHEN 'LAHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'lahpgn.laa';
      WHEN 'LAHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'lahpgn.loa';
      WHEN 'MDHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mdhpgn.laa';
      WHEN 'MDHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mdhpgn.loa';
      WHEN 'MEHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mehpgn.laa';
      WHEN 'MEHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mehpgn.loa';
      WHEN 'MIHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mihpgn.laa';
      WHEN 'MIHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mihpgn.loa';
      WHEN 'MNHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mnhpgn.laa';
      WHEN 'MNHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mnhpgn.loa';
      WHEN 'MOHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mohpgn.laa';
      WHEN 'MOHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mohpgn.loa';
      WHEN 'MSHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'mshpgn.laa';
      WHEN 'MSHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'mshpgn.loa';
      WHEN 'NBHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'nbhpgn.laa';
      WHEN 'NBHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'nbhpgn.loa';
      WHEN 'NDHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'ndhpgn.laa';
      WHEN 'NDHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'ndhpgn.loa';
      WHEN 'NEHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'nehpgn.laa';
      WHEN 'NEHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'nehpgn.loa';
      WHEN 'NJHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'njhpgn.laa';
      WHEN 'NJHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'njhpgn.loa';
      WHEN 'NMHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'nmhpgn.laa';
      WHEN 'NMHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'nmhpgn.loa';
      WHEN 'NVHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'nvhpgn.laa';
      WHEN 'NVHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'nvhpgn.loa';
      WHEN 'NYHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'nyhpgn.laa';
      WHEN 'NYHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'nyhpgn.loa';
      WHEN 'OHHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'ohhpgn.laa';
      WHEN 'OHHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'ohhpgn.loa';
      WHEN 'OKHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'okhpgn.laa';
      WHEN 'OKHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'okhpgn.loa';
      WHEN 'PRVI.LAS'     THEN ACTUAL_FILE_NAME := 'prvi.laa';
      WHEN 'PRVI.LOS'     THEN ACTUAL_FILE_NAME := 'prvi.loa';
      WHEN 'PVHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'pvhpgn.laa';
      WHEN 'PVHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'pvhpgn.loa';
      WHEN 'SDHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'sdhpgn.laa';
      WHEN 'SDHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'sdhpgn.loa';
      WHEN 'STGEORGE.LAS' THEN ACTUAL_FILE_NAME := 'stgeorge.laa';
      WHEN 'STGEORGE.LOS' THEN ACTUAL_FILE_NAME := 'stgeorge.loa';
      WHEN 'STLRNC.LAS'   THEN ACTUAL_FILE_NAME := 'stlrnc.laa';
      WHEN 'STLRNC.LOS'   THEN ACTUAL_FILE_NAME := 'stlrnc.loa';
      WHEN 'STPAUL.LAS'   THEN ACTUAL_FILE_NAME := 'stpaul.laa';
      WHEN 'STPAUL.LOS'   THEN ACTUAL_FILE_NAME := 'stpaul.loa';
      WHEN 'TNHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'tnhpgn.laa';
      WHEN 'TNHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'tnhpgn.loa';
      WHEN 'UTHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'uthpgn.laa';
      WHEN 'UTHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'uthpgn.loa';
      WHEN 'VAHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'vahpgn.laa';
      WHEN 'VAHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'vahpgn.loa';
      WHEN 'WIHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wihpgn.laa';
      WHEN 'WIHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wihpgn.loa';
      WHEN 'WMHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wmhpgn.laa';
      WHEN 'WMHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wmhpgn.loa';
      WHEN 'WOHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wohpgn.laa';
      WHEN 'WOHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wohpgn.loa';
      WHEN 'WSHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wshpgn.laa';
      WHEN 'WSHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wshpgn.loa';
      WHEN 'WTHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wthpgn.laa';
      WHEN 'WTHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wthpgn.loa';
      WHEN 'WVHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wvhpgn.laa';
      WHEN 'WVHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wvhpgn.loa';
      WHEN 'WYHPGN.LAS'   THEN ACTUAL_FILE_NAME := 'wyhpgn.laa';
      WHEN 'WYHPGN.LOS'   THEN ACTUAL_FILE_NAME := 'wyhpgn.loa';
      /* NTv2 */
/*    WHEN 'NTV2_0.GSB'   THEN ACTUAL_FILE_NAME := 'ntv20.gsa';*/
      WHEN 'NTF_R93.GSB'  THEN ACTUAL_FILE_NAME := 'ntf_r93.gsa';
      /* GEOID03 */
/*    WHEN 'G2003H01.ASC' THEN ACTUAL_FILE_NAME := 'g2003h01.asc'; */
      ELSE                     ACTUAL_FILE_NAME := NULL;
    END CASE;
    IF(NOT (ACTUAL_FILE_NAME IS NULL)) THEN
--ACTUAL_FILE_NAME := ACTUAL_FILE_NAME || '2';
      BEGIN
        Src_loc := BFILENAME('SDO_DIR_ADMIN', ACTUAL_FILE_NAME);
        DBMS_LOB.OPEN(Src_loc, DBMS_LOB.LOB_READONLY);
        EXCEPTION
          WHEN OTHERS THEN
            BEGIN
              DBMS_LOB.CLOSE(Src_loc);
              Src_loc := BFILENAME('SDO_DIR_WORK', ACTUAL_FILE_NAME);
              DBMS_LOB.OPEN(Src_loc, DBMS_LOB.LOB_READONLY);
              EXCEPTION
                WHEN OTHERS THEN
                  --dbms_output.put_line('Could not load (1) flat file ' || ACTUAL_FILE_NAME || '.');
                  DBMS_LOB.CLOSE(Src_loc);
            END;
      END;

      BEGIN
      UPDATE
        MDSYS.SDO_COORD_OP_PARAM_VALS
      SET
        PARAM_VALUE_FILE = EMPTY_CLOB()
      WHERE
        COORD_OP_ID = PARAM_FILE.COORD_OP_ID AND
        PARAMETER_ID = PARAM_FILE.PARAMETER_ID
      RETURNING
        PARAM_VALUE_FILE
      INTO
        Dest_loc;

      DBMS_LOB.OPEN(Dest_loc, DBMS_LOB.LOB_READWRITE);
--      DBMS_LOB.LOADFROMFILE(Dest_loc, Src_loc, DBMS_LOB.LOBMAXSIZE);

      declare
        src_offset number := 1 ;
        dst_offset number := 1 ;
        lang_ctx   number := dbms_lob.default_lang_ctx;
        warning    number;
      begin
        DBMS_LOB.LOADCLOBFROMFILE(Dest_loc, Src_loc, DBMS_LOB.LOBMAXSIZE,
          dst_offset,
          src_offset,                               
          dbms_lob.default_csid,
          lang_ctx,
          warning) ;
        if (warning = dbms_lob.warn_inconvertible_char) then
          dbms_output.put_line('Warning: Inconvertible character');
        end if;
      end;

      DBMS_LOB.CLOSE(Dest_loc);
      DBMS_LOB.CLOSE(Src_loc);
      DBMS_LOB.FILECLOSE(Src_loc);
      EXCEPTION
        WHEN OTHERS THEN
          --dbms_output.put_line('Could not load (2) flat file ' || ACTUAL_FILE_NAME || '.');
          DBMS_LOB.CLOSE(Dest_loc);
          DBMS_LOB.CLOSE(Src_loc);
      END;
    END IF;
  END LOOP;

--  DECLARE
--    usr VARCHAR2(128);
--    url VARCHAR2(200);
--    cnt NUMBER;
--  BEGIN
--    usr := 'MDSYS';
--    url := 'http://www.oracle.com/2004/spatial/epsg/gridfile/schema/sdoepsggrid.xsd';
--
--    EXECUTE IMMEDIATE
--      'SELECT count(*) FROM sys.dba_xml_schemas WHERE owner=:1 AND schema_url=:2'
--      INTO cnt using usr, url;
--    IF (cnt <> 0) THEN
--      DBMS_XMLSCHEMA.deleteSchema(url, DBMS_XMLSCHEMA.DELETE_CASCADE);
--    end if;
--    EXCEPTION WHEN OTHERS THEN
--      DBMS_OUTPUT.PUT_LINE('Delete Schema ' || url || ' failed.');
--  END;

--  DECLARE
--    usr VARCHAR2(128);
--    url VARCHAR2(200);
--    cnt NUMBER;
--  BEGIN
--    usr := 'MDSYS';
--    url := 'http://www.oracle.com/2009/spatial/vis3d/schema/sdo3d.xsd';
--
--    EXECUTE IMMEDIATE
--      'SELECT count(*) FROM sys.dba_xml_schemas WHERE owner=:1 AND schema_url=:2'
--      INTO cnt using usr, url;
--    IF (cnt <> 0) THEN
--      DBMS_XMLSCHEMA.deleteSchema(url, DBMS_XMLSCHEMA.DELETE_CASCADE);
--    end if;
--    EXCEPTION WHEN OTHERS THEN
--      DBMS_OUTPUT.PUT_LINE('Delete Schema ' || url || ' failed.');
--  END;

  BEGIN 

  DECLARE
    no_trigger exception;
    pragma exception_init(no_trigger, -04080);
    already_exists exception;
    pragma exception_init(already_exists, -31003);
  BEGIN /* Load .xsd and .xsl files into XML DB: */
--    BEGIN
--      DBMS_XMLSCHEMA.registerSchema(
--        SCHEMAURL => 'http://www.oracle.com/2004/spatial/epsg/gridfile/schema/sdoepsggrid.xsd',
--        SCHEMADOC => BFILENAME('SDO_DIR_WORK', 'sdoepsggrid.xsd'),
--        LOCAL     => FALSE,
--        OWNER     => 'MDSYS');
--    EXCEPTION WHEN OTHERS THEN
--      DBMS_OUTPUT.PUT_LINE('Register Schema sdoepsggrid.xsd failed.');
--    end;

--    begin
--      DBMS_XMLSCHEMA.registerSchema(
--        SCHEMAURL => 'http://www.oracle.com/2009/spatial/vis3d/schema/sdo3d.xsd',
--        SCHEMADOC => BFILENAME('SDO_DIR_WORK', 'sdo3d.xsd'),
--        LOCAL     => FALSE,
--        OWNER     => 'MDSYS');
--    EXCEPTION WHEN OTHERS THEN
--      DBMS_OUTPUT.PUT_LINE('Register Schema sdo3d.xsd failed.');
--    end;

    begin
      IF(DBMS_XDB.CREATEFOLDER('/home') = FALSE) THEN
        DBMS_OUTPUT.PUT_LINE('Creation of folder /home in XML DB failed.');
      END IF;
      EXCEPTION
        WHEN already_exists THEN NULL;
        WHEN OTHERS THEN
          SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                                 'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')3]: ' || SQLERRM); RAISE;
    end;

    begin
      IF(DBMS_XDB.CREATEFOLDER('/home/MDSYS') = FALSE) THEN
        DBMS_OUTPUT.PUT_LINE('Creation of folder /home/MDSYS in XML DB failed.');
      END IF;
      EXCEPTION
        WHEN already_exists THEN NULL;
        WHEN OTHERS THEN
          SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                                 'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')4]: ' || SQLERRM); RAISE;
    end;

    begin
      IF(DBMS_XDB.CREATEFOLDER('/home/MDSYS/epsg') = FALSE) THEN
        DBMS_OUTPUT.PUT_LINE('Creation of folder /home/MDSYS/epsg in XML DB failed.');
      END IF;
      EXCEPTION
        WHEN already_exists THEN NULL;
        WHEN OTHERS THEN
          SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                                 'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')5]: ' || SQLERRM); RAISE;
    end;

    EXCEPTION
      WHEN no_trigger THEN NULL;
      WHEN OTHERS THEN
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')6]: ' || SQLERRM); RAISE;
   END;

   DECLARE
     no_trigger exception;
     pragma exception_init(no_trigger, -04080);
     already_exists exception;
     pragma exception_init(already_exists, -31003);
     fopen_failed exception;
     pragma exception_init(fopen_failed, -22288);
     no_directory exception;
     pragma exception_init(no_directory, -22285);
   BEGIN
    BEGIN
      IF( DBMS_XDB.createResource(
            '/home/MDSYS/epsg/sdoepsggrid2nadcon.xsl',
            BFILENAME('SDO_DIR_ADMIN', 'sdoepsggrid2nadcon.xsl'),
            NLS_CHARSET_ID('AL32UTF8')) = FALSE) THEN
        DBMS_OUTPUT.PUT_LINE('Loading of sdoepsggrid2nadcon.xsl failed.');
      END IF;
      EXCEPTION
        WHEN OTHERS THEN
          IF( DBMS_XDB.createResource(
                '/home/MDSYS/epsg/sdoepsggrid2nadcon.xsl',
                BFILENAME('SDO_DIR_WORK', 'sdoepsggrid2nadcon.xsl'),
                NLS_CHARSET_ID('AL32UTF8')) = FALSE) THEN
            DBMS_OUTPUT.PUT_LINE('Loading of sdoepsggrid2nadcon.xsl failed.');
          END IF;
    END;
    EXCEPTION
      when fopen_failed then NULL;
      when no_directory then NULL;
      when already_exists then NULL;
      WHEN OTHERS THEN
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')7]: ' || SQLERRM); RAISE;
    END;


   DECLARE
     already_exists exception;
     pragma exception_init(already_exists, -31003);
     fopen_failed exception;
     pragma exception_init(fopen_failed, -22288);
     no_directory exception;
     pragma exception_init(no_directory, -22285);
   BEGIN
    BEGIN
      IF( DBMS_XDB.createResource(
            '/home/MDSYS/epsg/sdoepsggrid2ntv2.xsl',
            BFILENAME('SDO_DIR_ADMIN', 'sdoepsggrid2ntv2.xsl'),
            NLS_CHARSET_ID('AL32UTF8')) = FALSE) THEN
        DBMS_OUTPUT.PUT_LINE('Loading of sdoepsggrid2ntv2.xsl failed.');
      END IF;
      EXCEPTION
        WHEN OTHERS THEN
          IF( DBMS_XDB.createResource(
                '/home/MDSYS/epsg/sdoepsggrid2ntv2.xsl',
                BFILENAME('SDO_DIR_WORK', 'sdoepsggrid2ntv2.xsl'),
                NLS_CHARSET_ID('AL32UTF8')) = FALSE) THEN
            DBMS_OUTPUT.PUT_LINE('Loading of sdoepsggrid2ntv2.xsl failed.');
          END IF;
    END;
    EXCEPTION
      when fopen_failed then NULL;
      when no_directory then NULL;
      when already_exists then NULL;
      WHEN OTHERS THEN
        SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.TRACE_FILE,
                               'EXCEPTION[sdoepsgx.sql(' || $$PLSQL_LINE || ')8]: ' || SQLERRM); RAISE;
    END;
  END;
END;
/

--grant all on directory sdo_dir_admin to mdsys;

-- /*
-- -- Load matrices via datapump:
-- select
--   param_value_file_ref,
--   count(*) "#"
-- from
--   mdsys.sdo_coord_op_param_vals
-- where
--   not(param_value_file is null)
-- group by
--   param_value_file_ref
-- order by
--   param_value_file_ref;
-- 
-- ALTER SESSION SET current_schema=system;
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- 
-- --host impdp system/manager DIRECTORY=SDO_DIR_ADMIN DUMPFILE=SDO_DIR_ADMIN:sdoepsg.dmp FULL=Y LOGFILE=DATA_PUMP_DIR:import_epsg_data.log
-- 
-- 
-- 
-- ALTER SESSION SET current_schema=sys;
-- 
-- DECLARE
--   l_dp_handle       NUMBER;
--   l_job_state       VARCHAR2(128) := 'UNDEFINED';
--   l_sts             KU$_STATUS;
-- BEGIN
--   l_dp_handle := DBMS_DATAPUMP.open(
--     operation   => 'IMPORT',
--     job_mode    => 'TABLE',
--     remote_link => NULL,
--     job_name    => 'EPSG_IMPORT',
--     version     => 'LATEST');
-- 
--   DBMS_DATAPUMP.add_file(
--     handle    => l_dp_handle,
--     filename  => 'sdoepsg.dmp',
--     directory => 'SDO_DIR_ADMIN');
-- 
--   DBMS_DATAPUMP.add_file(
--     handle    => l_dp_handle,
--     filename  => 'import_epsg_data.log',
--     directory => 'DATA_PUMP_DIR',
--     filetype  => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
-- 
--   DBMS_DATAPUMP.metadata_filter(
--     handle => l_dp_handle,
--     name   => 'INCLUDE_NAME_EXPR',
--     value  => 'IN (''EPSG_DATA'')');
-- 
--   DBMS_DATAPUMP.start_job(l_dp_handle);
-- 
--   l_job_state := 'UNDEFINED';
--   while((l_job_state != 'COMPLETED') and
--         (l_job_state != 'STOPPED')) loop
--     dbms_datapump.get_status(
--       l_dp_handle,
--       dbms_datapump.ku$_status_job_error +
--       dbms_datapump.ku$_status_job_status +
--       dbms_datapump.ku$_status_wip,
--       -1,
--       l_job_state,
--       l_sts);
--   end loop;
-- 
--   DBMS_DATAPUMP.detach(l_dp_handle);
-- END;
-- /
-- 
-- 
-- 
-- 
-- ALTER SESSION SET current_schema=system;
-- 
-- desc system.epsg_data
-- 
-- select
--   param_value_file_ref,
--   count(*) "#"
-- from
--   epsg_data
-- group by
--   param_value_file_ref
-- order by
--   param_value_file_ref;
-- 
-- update
--   mdsys.sdo_coord_op_param_vals target
-- set
--   target.param_value_file = (
--     select
--       param_value_file
--     from
--       system.epsg_data source
--     where
--       source.coord_op_id = target.coord_op_id and
--       source.parameter_id = target.parameter_id)
-- where
--   (target.coord_op_id || ':' || target.parameter_id) in (
--     select
--       (coord_op_id || ':' || parameter_id)
--     from
--       system.epsg_data);
-- 
-- drop table epsg_data;
-- 
-- 
-- */


--DROP DIRECTORY SDO_DIR_ADMIN;
--DROP DIRECTORY SDO_DIR_WORK;

ALTER SESSION SET current_schema=MDSYS;

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


OHA YOOOO