1 PROCEDURE aps_validate IS
2 AWok BOOLEAN;
3 OBJok BOOLEAN;
4 x NUMBER; -- dummy output spot
5 junklob CLOB;
6 BEGIN
7
8 -- AWs are valid if we can read an option
9 BEGIN
10 junklob := dbms_aw.INTERP('show SESSCACHE');
11 AWok := TRUE;
12 EXCEPTION
13 WHEN OTHERS THEN
14 AWok := FALSE;
15 END;
16
17 -- supporting object things
18 BEGIN
19 SELECT 0 INTO x FROM DBA_OBJECTS
20 WHERE STATUS = 'INVALID' AND rownum <=1 AND
21 OWNER='SYS' AND OBJECT_NAME IN
22 ('OLAP_TABLE', 'OLAPIMPL_T', 'OLAP_SRF_T', 'OLAP_NUMBER_SRF',
23 'OLAP_EXPRESSION', 'OLAP_TEXT_SRF', 'OLAP_EXPRESSION_TEXT',
24 'OLAP_BOOL_SRF', 'OLAP_EXPRESSION_BOOL');
25 -- at least one object is invalid so component is invalid
26 OBJok := FALSE;
27 EXCEPTION
28 WHEN NO_DATA_FOUND THEN
29 -- no invalid objects were found so component is valid
30 OBJok := TRUE;
31 END;
32
33 IF AWok AND OBJok THEN
34 dbms_registry.valid('APS');
35 ELSE
36 dbms_registry.invalid('APS');
37 END IF;
38 END;