oracle adg ddl同步,OGG DDL trigger造成升级数据库后大量SYS对象失效和数据库DDL失效...

OGG的DDL功能真是坑,今天在测试库尝试升级,被OGG的DDL给坑了(以前没摸过这个库,不知道有这个东西……)

以后,做任何大操作以前,一定要仔细检查数据库,是否曾经开启过OGG的DDL功能。

这个功能有很多隐患:

因为OGG的DDL是建立在SYS用户下面的, 与其他普通用户的trigger不同:

1,数据库文件offline后,如果有OGG的DDL曾经被开启,可能因此打不开数据库(先disable ogg ddl才行)

2,升级过程中,如果没有disable ddl trigger,可能出现一些升级后的异常

3,OGG用户删除后,并不能删除OGG的DDL trigger,因为他的属主是SYS,且属于internal trigger,会导致大量SYS用户的对象失效和DDL功能失效。

。。。。

升级数据库,从11.2.0.1到11.2.0.4,升级过程中,没有报错,但是数据库启动后,报错:

Errors in file /u01/oracle/app/diag/rdbms/gpsdb3/gpsdb3/trace/gpsdb3_ora_19939.trc:

ORA-04045: errors during recompilation/revalidation of SYS.OLAPISTARTUPTRIGGER

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLR

Completed: ALTER DATABASE OPEN

尝试删除OGG用户,报错:

SQL> drop user GGUSR;

drop user GGUSR

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

SQL>

检查报错的OLAP过程,为INVALID状态:

SQL> select owner, object_type, status from all_objects where object_name='OLAPIHISTORYRETENTION';

OWNER OBJECT_TYPE STATUS

------------------------------ ------------------- -------

SYS PROCEDURE INVALID

SQL>

但是升级后,检查所有数据库组件是VALID状态:

SQL> set pages 9999

SQL> set linesize 1000

SQL> col comp_id for a14

SQL> col comp_name for a36

SQL> col version for a14

SQL> select COMP_ID, COMP_NAME, VERSION, STATUS from dba_registry;

COMP_ID COMP_NAME VERSION STATUS

-------------- ------------------------------------ -------------- ----------------------

OWB OWB 11.2.0.1.0 VALID

APEX Oracle Application Express 3.2.1.00.10 VALID

AMD OLAP Catalog 11.2.0.4.0 VALID

SDO Spatial 11.2.0.4.0 VALID

ORDIM Oracle Multimedia 11.2.0.4.0 VALID

XDB Oracle XML Database 11.2.0.4.0 VALID

CONTEXT Oracle Text 11.2.0.4.0 VALID

EXF Oracle Expression Filter 11.2.0.4.0 VALID

RUL Oracle Rules Manager 11.2.0.4.0 VALID

OWM Oracle Workspace Manager 11.2.0.4.0 VALID

CATALOG Oracle Database Catalog Views 11.2.0.4.0 VALID

CATPROC Oracle Database Packages and Types 11.2.0.4.0 VALID

JAVAVM JServer JAVA Virtual Machine 11.2.0.4.0 VALID

XML Oracle XDK 11.2.0.4.0 VALID

CATJAVA Oracle Database Java Packages 11.2.0.4.0 VALID

APS OLAP Analytic Workspace 11.2.0.4.0 VALID

XOQ Oracle OLAP API 11.2.0.4.0 VALID

17 rows selected.

SQL>

理论上,升级后,组件都是正常的,为什么出现这种情况?

SQL> select owner, trigger_name, status from dba_triggers where trigger_name like '%OLAPI%';

OWNER TRIGGER_NAME STATUS

------------------------------ ------------------------------ --------

SYS OLAPISTARTUPTRIGGER ENABLED

SYS OLAPISHUTDOWNTRIGGER ENABLED

SQL>

尝试disable 这两个trigger,也报错:

SQL> ALTER TRIGGER SYS.OLAPISTARTUPTRIGGER DISABLE;

ALTER TRIGGER SYS.OLAPISTARTUPTRIGGER DISABLE

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"

SQL>

貌似所有的DDL都失效了:

SQL> create user lunar identified by lunar;

create user lunar identified by lunar

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

SQL>

再一查SYS的无效对象,800多个:

SQL> select count(*) from dba_objects where status='INVALID';

COUNT(*)

----------

814

SQL>

使用utlrp编译,也报错:

SQL> @?/rdbms/admin/utlrp

COMP_TIMESTAMP UTLRP_BGN 2015-04-16 00:36:07

DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid

DOC> objects in the database. Recompilation time is proportional to the

DOC> number of invalid objects in the database, so this command may take

DOC> a long time to execute on a database with a large number of invalid

DOC> objects.

DOC>

DOC> Use the following queries to track recompilation progress:

DOC>

DOC> 1. Query returning the number of invalid objects remaining. This

DOC> number should decrease with time.

DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

DOC>

DOC> 2. Query returning the number of objects compiled so far. This number

DOC> should increase with time.

DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

DOC>

DOC> This script automatically chooses serial or parallel recompilation

DOC> based on the number of CPUs available (parameter cpu_count) multiplied

DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu).

DOC> On RAC, this number is added across all RAC nodes.

DOC>

DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel

DOC> recompilation. Jobs are created without instance affinity so that they

DOC> can migrate across RAC nodes. Use the following queries to verify

DOC> whether UTL_RECOMP jobs are being created and run correctly:

DOC>

DOC> 1. Query showing jobs created by UTL_RECOMP

DOC> SELECT job_name FROM dba_scheduler_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>

DOC> 2. Query showing UTL_RECOMP jobs that are running

DOC> SELECT job_name FROM dba_scheduler_running_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>#

DECLARE

*

ERROR at line 1:

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at "SYS.UTL_RECOMP", line 865

ORA-06512: at line 4

COMP_TIMESTAMP UTLRP_END 2015-04-16 00:36:07

DOC> The following query reports the number of objects that have compiled

DOC> with errors.

DOC>

DOC> If the number is higher than expected, please examine the error

DOC> messages reported with each object (using SHOW ERRORS) to see if they

DOC> point to system misconfiguration or resource constraints that must be

DOC> fixed before attempting to recompile these objects.

DOC>#

0

DOC> The following query reports the number of errors caught during

DOC> recompilation. If this number is non-zero, please query the error

DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors

DOC> are due to misconfiguration or resource constraints that must be

DOC> fixed before objects can compile successfully.

DOC>#

0

CREATE OR REPLACE FUNCTION local_enquote_name (str varchar2)

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

DECLARE

*

ERROR at line 1:

ORA-00904: "LOCAL_ENQUOTE_NAME": invalid identifier

ORA-06512: at line 27

DROP function local_enquote_name

*

ERROR at line 1:

ORA-00604: error occurred at recursive SQL level 1

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 904

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATION

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06512: at line 1027

ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not exist

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

ORA-06508: PL/SQL: could not find program unit being called:

"GGUSR.DDLREPLICATION"

FAILED CHECK FOR INDEXTYPE CONTEXT

Warning: XDB now invalid, could not find xdbconfig

PL/SQL procedure successfully completed.

SQL>

最后一行提示XDB组件有问题:

SQL> SELECT substrb(Comp_ID,1,10)Comp_ID,

2 substrb(Status,1,8)Status,

3 substrb(Version,1,12)Version,

4 substrb(Comp_Name,1,35)Comp_Name

5 FROM DBA_Registry

6 WHERE comp_id = 'XDB';

COMP_ID STATUS VERSION COMP_NAME

---------- -------- ------------ -----------------------------------

XDB INVALID 11.2.0.4.0 Oracle XML Database

SQL>

diable OGG的trigger,然后删除ogg用户后,再次使用utlrp编译,已经正常了:

SQL> @?/rdbms/admin/utlrp

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP UTLRP_BGN 2015-04-16 01:03:22

1 row selected.

DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid

DOC> objects in the database. Recompilation time is proportional to the

DOC> number of invalid objects in the database, so this command may take

DOC> a long time to execute on a database with a large number of invalid

DOC> objects.

DOC>

DOC> Use the following queries to track recompilation progress:

DOC>

DOC> 1. Query returning the number of invalid objects remaining. This

DOC> number should decrease with time.

DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

DOC>

DOC> 2. Query returning the number of objects compiled so far. This number

DOC> should increase with time.

DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

DOC>

DOC> This script automatically chooses serial or parallel recompilation

DOC> based on the number of CPUs available (parameter cpu_count) multiplied

DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu).

DOC> On RAC, this number is added across all RAC nodes.

DOC>

DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel

DOC> recompilation. Jobs are created without instance affinity so that they

DOC> can migrate across RAC nodes. Use the following queries to verify

DOC> whether UTL_RECOMP jobs are being created and run correctly:

DOC>

DOC> 1. Query showing jobs created by UTL_RECOMP

DOC> SELECT job_name FROM dba_scheduler_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>

DOC> 2. Query showing UTL_RECOMP jobs that are running

DOC> SELECT job_name FROM dba_scheduler_running_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>#

PL/SQL procedure successfully completed.

TIMESTAMP

--------------------------------------------------------------------------------

COMP_TIMESTAMP UTLRP_END 2015-04-16 01:04:47

1 row selected.

DOC> The following query reports the number of objects that have compiled

DOC> with errors.

DOC>

DOC> If the number is higher than expected, please examine the error

DOC> messages reported with each object (using SHOW ERRORS) to see if they

DOC> point to system misconfiguration or resource constraints that must be

DOC> fixed before attempting to recompile these objects.

DOC>#

OBJECTS WITH ERRORS

-------------------

0

1 row selected.

DOC> The following query reports the number of errors caught during

DOC> recompilation. If this number is non-zero, please query the error

DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors

DOC> are due to misconfiguration or resource constraints that must be

DOC> fixed before objects can compile successfully.

DOC>#

ERRORS DURING RECOMPILATION

---------------------------

0

1 row selected.

Function created.

PL/SQL procedure successfully completed.

Function dropped.

PL/SQL procedure successfully completed.

SQL>

且数据库已经没有无效对象:

SQL> set heading off

SQL> spool compileinvalid.sql

SQL> select 'alter '||object_type|| ' ' || owner ||'.'||object_name || ' compile;' from dba_objects where status='INVALID';

no rows selected

SQL>

SQL>

SQL>

再次校验XDB的组件,正常了:

SQL> execute dbms_regxdb.validatexdb;

PL/SQL procedure successfully completed.

SQL> SELECT substrb(Comp_ID,1,10)Comp_ID,

substrb(Status,1,8)Status,

substrb(Version,1,12)Version, 2 3

4 substrb(Comp_Name,1,35)Comp_Name

FROM DBA_Registry 5

6 WHERE comp_id = 'XDB';

COMP_ID STATUS VERSION COMP_NAME

-------------------- --------------- ---------- ----------------------------------------

XDB VALID 11.2.0.4.0 Oracle XML Database

SQL> alter trigger MDSYS.SDO_GEOR_ADDL_TRIGGER enable;

alter trigger MDSYS.SDO_GEOR_BDDL_TRIGGER enable;

Trigger altered.

SQL>

Trigger altered.

SQL>

再次查询组建状态,都ok:

SQL> set pages 9999

SQL> set linesize 1000

SQL> col comp_id for a14

SQL> col comp_name for a36

SQL> col version for a14

SQL> select COMP_ID, COMP_NAME, VERSION, STATUS from dba_registry;

COMP_ID COMP_NAME VERSION STATUS

-------------- ------------------------------------ -------------- ----------------------

OWB OWB 11.2.0.1.0 VALID

APEX Oracle Application Express 3.2.1.00.10 VALID

AMD OLAP Catalog 11.2.0.4.0 VALID

SDO Spatial 11.2.0.4.0 VALID

ORDIM Oracle Multimedia 11.2.0.4.0 VALID

XDB Oracle XML Database 11.2.0.4.0 VALID

CONTEXT Oracle Text 11.2.0.4.0 VALID

EXF Oracle Expression Filter 11.2.0.4.0 VALID

RUL Oracle Rules Manager 11.2.0.4.0 VALID

OWM Oracle Workspace Manager 11.2.0.4.0 VALID

CATALOG Oracle Database Catalog Views 11.2.0.4.0 VALID

CATPROC Oracle Database Packages and Types 11.2.0.4.0 VALID

JAVAVM JServer JAVA Virtual Machine 11.2.0.4.0 VALID

XML Oracle XDK 11.2.0.4.0 VALID

CATJAVA Oracle Database Java Packages 11.2.0.4.0 VALID

APS OLAP Analytic Workspace 11.2.0.4.0 VALID

XOQ Oracle OLAP API 11.2.0.4.0 VALID

17 rows selected.

SQL>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值