MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/olap/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/olap/admin/cataps.sql

Rem
Rem *************************************************************************
Rem *** IF YOU CHANGE THIS FILE,                                          ***
Rem ***        edit oraolap/test/olapdev/src/txolapsq.tsc accordingly!    ***
Rem *************************************************************************
Rem
Rem  cataps.sql
Rem
Rem Copyright (c) 2002, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      cataps.sql
Rem
Rem    DESCRIPTION
Rem      Create OLAP AW
Rem
Rem    NOTES
Rem
Rem    
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: oraolap/admin/cataps.sql
Rem    SQL_SHIPPED_FILE:olap/admin/cataps.sql
Rem    SQL_PHASE: CATAPS 
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    END SQL_FILE_METADATA
Rem    
Rem    MODIFIED   (MM/DD/YY)
Rem    jcarey      07/07/17 - better error level calc
Rem    jcarey      03/31/17 - Bug 25684134 - better olap_on handling
Rem    jcarey      08/02/13 - shut down olap after validate
Rem    cchiappa    03/14/13 - Backport cchiappa_set_oracle_script_121010
Rem    awesley     04/27/12 - set registry status to OPTION OFF
Rem    awesley     03/21/12 - deprecate cwm tx 13068864 
Rem                           remove mvtabgs.sql, creatind.sql    
Rem    cchiappa    01/11/05 - Move AW_XML into XOQ 
Rem    cchiappa    12/15/04 - Include AWXML 
Rem    zqiu        09/25/03 - include apsviews.sql
Rem    esoyleme    06/20/03 - validation procedure
Rem    cdalessi    10/14/02 - Change to cataps
Rem    cdalessi    02/25/02 - Creation

@@?/rdbms/admin/sqlsessstart.sql

CREATE OR REPLACE PROCEDURE aps_validate IS
   AWok BOOLEAN;
   OBJok BOOLEAN;
   x NUMBER; -- dummy output spot
   junklob CLOB;
   v_Value varchar2(64);
   running BOOLEAN;
   stmt VARCHAR2(100);
   e_level BINARY_INTEGER;
   new_e_level BINARY_INTEGER;
BEGIN

   -- get current event level
    sys.dbms_system.read_ev(37396, e_level);
    select e_level + 2048 - bitand(e_level, 2048) into new_e_level from dual;
    EXECUTE IMMEDIATE 'alter session set events=''37396 trace name context forever,  level '||to_char(new_e_level)||'''';      

   if sys.dbms_aw.olap_running() then
     running := TRUE;
   else
     running := FALSE;
   end if;
   -- AWs are valid if we can read an option
   BEGIN
     junklob := sys.dbms_aw.INTERP('show SESSCACHE');
     AWok := TRUE;
   EXCEPTION
     WHEN OTHERS THEN 
       AWok := FALSE;
   END;

   -- supporting object things
   BEGIN
     SELECT 0 INTO x FROM DBA_OBJECTS
       WHERE STATUS = 'INVALID' AND rownum <=1 AND
         OWNER='SYS' AND OBJECT_NAME IN
        ('OLAP_TABLE', 'OLAPIMPL_T', 'OLAP_SRF_T', 'OLAP_NUMBER_SRF',
         'OLAP_EXPRESSION', 'OLAP_TEXT_SRF', 'OLAP_EXPRESSION_TEXT', 
         'OLAP_BOOL_SRF', 'OLAP_EXPRESSION_BOOL');
     -- at least one object is invalid so component is invalid
     OBJok := FALSE;
   EXCEPTION
   WHEN NO_DATA_FOUND THEN
     -- no invalid objects were found so component is valid
     OBJok := TRUE;
   END;

   IF NOT running THEN
      sys.dbms_aw.shutdown(TRUE);
   END IF;
   stmt := 'alter SESSION SET EVENTS ''37396 trace name context off''';
   execute immediate stmt;
   IF AWok AND OBJok THEN 
     SELECT value INTO v_Value FROM v$option WHERE parameter = 'OLAP';
     if v_Value = 'FALSE' then
       sys.dbms_registry.Option_Off('APS');
     else
       sys.dbms_registry.valid('APS');
     end if;
   ELSE
     sys.dbms_registry.invalid('APS');
   END IF;
   EXCEPTION
   WHEN OTHERS THEN
     execute immediate 'ALTER SESSION SET EVENTS ''37396 trace name context level to_char(e_level)''';
     raise;     
  END;
/
show errors;

execute sys.dbms_registry.loading('APS' ,'OLAP Analytic Workspace' ,'aps_validate');

@@xumuts.plb

@@apsviews.sql

BEGIN
 sys.dbms_registry.loaded('APS');
 aps_validate;
END;
/

@@?/rdbms/admin/sqlsessend.sql

OHA YOOOO