重庆思庄Oracle、Redhat认证学习论坛

标题: OGG DDL trigger造成升级数据库后大量SYS对象失效和数据库DDL失效 [打印本页]

作者: 郑全    时间: 2017-2-24 14:29
标题: 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.OLAPISTARTUPTRIGGERORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLRCompleted: ALTER DATABASE OPEN尝试删除OGG用户,报错:
SQL> drop user GGUSR;      drop user GGUSR*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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           INVALIDSQL>但是升级后,检查所有数据库组件是VALID状态:
SQL> set pages 9999SQL> set linesize 1000SQL> col comp_id for a14SQL> col comp_name for a36SQL> col version for a14SQL> select COMP_ID, COMP_NAME, VERSION, STATUS from dba_registry;COMP_ID        COMP_NAME                            VERSION        STATUS-------------- ------------------------------------ -------------- ----------------------OWB            OWB                                  11.2.0.1.0     VALIDAPEX           Oracle Application Express           3.2.1.00.10    VALIDAMD            OLAP Catalog                         11.2.0.4.0     VALIDSDO            Spatial                              11.2.0.4.0     VALIDORDIM          Oracle Multimedia                    11.2.0.4.0     VALIDXDB            Oracle XML Database                  11.2.0.4.0     VALIDCONTEXT        Oracle Text                          11.2.0.4.0     VALIDEXF            Oracle Expression Filter             11.2.0.4.0     VALIDRUL            Oracle Rules Manager                 11.2.0.4.0     VALIDOWM            Oracle Workspace Manager             11.2.0.4.0     VALIDCATALOG        Oracle Database Catalog Views        11.2.0.4.0     VALIDCATPROC        Oracle Database Packages and Types   11.2.0.4.0     VALIDJAVAVM         JServer JAVA Virtual Machine         11.2.0.4.0     VALIDXML            Oracle XDK                           11.2.0.4.0     VALIDCATJAVA        Oracle Database Java Packages        11.2.0.4.0     VALIDAPS            OLAP Analytic Workspace              11.2.0.4.0     VALIDXOQ            Oracle OLAP API                      11.2.0.4.0     VALID17 rows selected.SQL>理论上,升级后,组件都是正常的,为什么出现这种情况?
SQL> select owner, trigger_name, status from dba_triggers where trigger_name like '%OLAPI%';OWNER                          TRIGGER_NAME                   STATUS------------------------------ ------------------------------ --------SYS                            OLAPISTARTUPTRIGGER            ENABLEDSYS                            OLAPISHUTDOWNTRIGGER           ENABLEDSQL>尝试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 1ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called: "GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 1ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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(*)----------       814SQL>使用utlrp编译,也报错:
SQL> @?/rdbms/admin/utlrpCOMP_TIMESTAMP UTLRP_BGN  2015-04-16 00:36:07DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalidDOC>   objects in the database. Recompilation time is proportional to theDOC>   number of invalid objects in the database, so this command may takeDOC>   a long time to execute on a database with a large number of invalidDOC>   objects.DOC>DOC>   Use the following queries to track recompilation progress:DOC>DOC>   1. Query returning the number of invalid objects remaining. ThisDOC>      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 numberDOC>      should increase with time.DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;DOC>DOC>   This script automatically chooses serial or parallel recompilationDOC>   based on the number of CPUs available (parameter cpu_count) multipliedDOC>   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 parallelDOC>   recompilation. Jobs are created without instance affinity so that theyDOC>   can migrate across RAC nodes. Use the following queries to verifyDOC>   whether UTL_RECOMP jobs are being created and run correctly:DOC>DOC>   1. Query showing jobs created by UTL_RECOMPDOC>         SELECT job_name FROM dba_scheduler_jobsDOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';DOC>DOC>   2. Query showing UTL_RECOMP jobs that are runningDOC>         SELECT job_name FROM dba_scheduler_running_jobsDOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';DOC>#DECLARE*ERROR at line 1:ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 865ORA-06512: at line 4COMP_TIMESTAMP UTLRP_END  2015-04-16 00:36:07DOC> The following query reports the number of objects that have compiledDOC> with errors.DOC>DOC> If the number is higher than expected, please examine the errorDOC> messages reported with each object (using SHOW ERRORS) to see if theyDOC> point to system misconfiguration or resource constraints that must beDOC> fixed before attempting to recompile these objects.DOC>#                  0DOC> The following query reports the number of errors caught duringDOC> recompilation. If this number is non-zero, please query the errorDOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errorsDOC> are due to misconfiguration or resource constraints that must beDOC> fixed before objects can compile successfully.DOC>#        0CREATE OR REPLACE FUNCTION local_enquote_name (str varchar2)*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 identifierORA-06512: at line 27DROP function local_enquote_name*ERROR at line 1:ORA-00604: error occurred at recursive SQL level 1ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 904ORA-04045: errors during recompilation/revalidation of GGUSR.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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.DDLREPLICATIONORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-06508: PL/SQL: could not find program unit being called:"GGUSR.DDLREPLICATION"ORA-06512: at line 1027ORA-04067: not executed, package body "GGUSR.DDLREPLICATION" does not existORA-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 CONTEXTWarning: XDB now invalid, could not find xdbconfigPL/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 DatabaseSQL>diable OGG的trigger,然后删除ogg用户后,再次使用utlrp编译,已经正常了:
SQL> @?/rdbms/admin/utlrpTIMESTAMP--------------------------------------------------------------------------------COMP_TIMESTAMP UTLRP_BGN  2015-04-16 01:03:221 row selected.DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalidDOC>   objects in the database. Recompilation time is proportional to theDOC>   number of invalid objects in the database, so this command may takeDOC>   a long time to execute on a database with a large number of invalidDOC>   objects.DOC>DOC>   Use the following queries to track recompilation progress:DOC>DOC>   1. Query returning the number of invalid objects remaining. ThisDOC>      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 numberDOC>      should increase with time.DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;DOC>DOC>   This script automatically chooses serial or parallel recompilationDOC>   based on the number of CPUs available (parameter cpu_count) multipliedDOC>   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 parallelDOC>   recompilation. Jobs are created without instance affinity so that theyDOC>   can migrate across RAC nodes. Use the following queries to verifyDOC>   whether UTL_RECOMP jobs are being created and run correctly:DOC>DOC>   1. Query showing jobs created by UTL_RECOMPDOC>         SELECT job_name FROM dba_scheduler_jobsDOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';DOC>DOC>   2. Query showing UTL_RECOMP jobs that are runningDOC>         SELECT job_name FROM dba_scheduler_running_jobsDOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';DOC>#PL/SQL procedure successfully completed.TIMESTAMP--------------------------------------------------------------------------------COMP_TIMESTAMP UTLRP_END  2015-04-16 01:04:471 row selected.DOC> The following query reports the number of objects that have compiledDOC> with errors.DOC>DOC> If the number is higher than expected, please examine the errorDOC> messages reported with each object (using SHOW ERRORS) to see if theyDOC> point to system misconfiguration or resource constraints that must beDOC> fixed before attempting to recompile these objects.DOC>#OBJECTS WITH ERRORS-------------------                  01 row selected.DOC> The following query reports the number of errors caught duringDOC> recompilation. If this number is non-zero, please query the errorDOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errorsDOC> are due to misconfiguration or resource constraints that must beDOC> fixed before objects can compile successfully.DOC>#ERRORS DURING RECOMPILATION---------------------------        01 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 selectedSQL> 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_NameFROM DBA_Registry  5    6  WHERE comp_id = 'XDB';COMP_ID              STATUS          VERSION    COMP_NAME-------------------- --------------- ---------- ----------------------------------------XDB                  VALID           11.2.0.4.0 Oracle XML DatabaseSQL> 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 9999SQL> set linesize 1000SQL> col comp_id for a14SQL> col comp_name for a36SQL> col version for a14SQL> select COMP_ID, COMP_NAME, VERSION, STATUS from dba_registry;COMP_ID        COMP_NAME                            VERSION        STATUS-------------- ------------------------------------ -------------- ----------------------OWB            OWB                                  11.2.0.1.0     VALIDAPEX           Oracle Application Express           3.2.1.00.10    VALIDAMD            OLAP Catalog                         11.2.0.4.0     VALIDSDO            Spatial                              11.2.0.4.0     VALIDORDIM          Oracle Multimedia                    11.2.0.4.0     VALIDXDB            Oracle XML Database                  11.2.0.4.0     VALIDCONTEXT        Oracle Text                          11.2.0.4.0     VALIDEXF            Oracle Expression Filter             11.2.0.4.0     VALIDRUL            Oracle Rules Manager                 11.2.0.4.0     VALIDOWM            Oracle Workspace Manager             11.2.0.4.0     VALIDCATALOG        Oracle Database Catalog Views        11.2.0.4.0     VALIDCATPROC        Oracle Database Packages and Types   11.2.0.4.0     VALIDJAVAVM         JServer JAVA Virtual Machine         11.2.0.4.0     VALIDXML            Oracle XDK                           11.2.0.4.0     VALIDCATJAVA        Oracle Database Java Packages        11.2.0.4.0     VALIDAPS            OLAP Analytic Workspace              11.2.0.4.0     VALIDXOQ            Oracle OLAP API                      11.2.0.4.0     VALID17 rows selected.SQL>
作者: 郑全    时间: 2017-2-24 14:30
这个问题在配置了 ogg ddl同步的情况下,一定要小心.




欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2