遇到的Oracle错误1:
ORA-29538: Java not installed
ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 1017
ORA-06512: at line 2
原因:Oracle数据库JVM组件(JServer JAVA Virtual Machine)没有安装
遇到的Oracle错误2:
ORA-29540: class oracle/CDC/PublishApi does not exist
ORA-06512: at "SYS.DBMS_CDC_PUBLISH", line 810
ORA-06512: at line 1
原因:卸载安装JVM以后,CDC也需要重新卸载安装
/****
题外话:
卸载Oracle JVM命令:
$ cd $ORACLE_HOME/javavm/install
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> @rmjvm.sql
SQL> shutdown immediate
SQL> startup
****/
解决方案:
step1: 确认是否缺少JVM组件
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> SELECT comp_name || ' : '||version|| ' : '|| status FROM dba_registry;
确认JServer JAVA Virtual Machine没有安装
step2: 安装Oracle JVM
$ cd $ORACLE_HOME/javavm/install
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> @initjvm.sql
step3: 重新安装CDC
$ cd $ORACLE_HOME/rdbms/admin/
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> @rmcdc.sql
SQL> @initcdc.sql
如果不执行step3,会报错Oracle错误2。
注意:Oracle从12c开始宣称不再支持CDC(12.1开始宣称废弃,12.2裁剪掉)