Oracle Text 安装

Applies To

All Users

Oracle E-Business Suite Technology Stack - Version 12.1.2 to Version 12.1.3

Summary

On : 11.2.0.4 version, Data Pump Import

While following the steps from the below documents, error occurs.

Export/import process for 12.0 or 12.1 using 11gR1 or 11gR2 ( Doc ID 741818.1 )

Section 2: Prepare a target Release 12 database instance >> Set CTXSYS parameter (conditional)

SQL> exec ctxsys.ctx_adm.set_parameter('file_access_role', 'public');

BEGIN ctxsys.ctx_adm.set_parameter('file_access_role', 'public'); END;

*

ERROR at line 1:

ORA-06550: line 1, column 7:

PLS-00201: identifier 'CTXSYS.CTX_ADM' must be declared

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored

Solution

To implement the solution, please execute the following steps:

Check CTXSYS schema exists or not

SQL> select COMP_NAME,VERSION,STATUS,SCHEMA from dba_registry where COMP_NAME like '%Text%';

If the above query returns no rows, means oracle Text not installed whereas source instance it would have been installed

If you don't have CTXSYS schema, you need to install Oracle Text as following:

  1. Sqlplus / as sysdba

  2. @$ORACLE_HOME/ctx/admin/catctx.sql password sysaux temp NOLOCK

  3. connect CTXSYS/password

  4. @$ORACLE_HOME/ctx/admin/default/drdefus.sql

While performing the above steps, if below error is reported,

begin

*

ERROR at line 1:

ORA-04063: package body "CTXSYS.DRIXMD" has errors

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

ORA-06512: at "CTXSYS.CTX_DDL", line 52

ORA-06512: at line 13

....

.....

begin

*

ERROR at line 1:

ORA-04063: package body "CTXSYS.DRIXMD" has errors

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

ORA-06512: at "CTXSYS.DRUE", line 145

ORA-06512: at "CTXSYS.CTX_DDL", line 1143

ORA-04063: package body "CTXSYS.DRIXMD" has errors

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

ORA-06512: at line 2

That indicates that the issue is with right privileges.

The exact problem is that PUBLIC does not have execute on some DBMS_..packages and those are required by Oracle Text.

To fix it, do followings:

  1. Sqlplus / as sysdba

  2. grant execute on DBMS_SCHEDULER to PUBLIC;

  3. grant execute on DBMS_JOB to PUBLIC;

  4. grant execute on UTL_FILE to PUBLIC;

  5. grant execute on UTL_HTTP to PUBLIC;

Now deinstall/install Oracle Text and if you try to execute the packages related to Oracle Text, it should ok:

  1. conn / as sysdba

  2. @ORACLE_HOME/ctx/admin/catnoctx.sql

(it will remove Oracle Text)

  1. drop procedure sys.validate_context;

  2. $ORACLE_HOME/ctx/admin/catctx.sql password sysaux temp NOLOCK

(Installing it again. The 'password' is an example. Any password can be given.)

  1. connect CTXSYS/password

  2. @$ORACLE_HOME/ctx/admin/default/drdefus.sql

  3. conn / as sysdba

  4. alter user CTXSYS account lock;

Cause

Oracle Text not installed or Permission not provided properly

CTXSYS Does not exists

FROM Target DB:

SQL> select COMP_NAME,VERSION,STATUS,SCHEMA from dba_registry where COMP_NAME like '%Text%';

no rows selected

References

MOS document id: 2387341.1

Product Versions

product: Oracle E-Business Suite Technology Stack - min_version: 12.1.2 - max_version: 12.1.3; Information in this article applies to GENERIC (All Platforms)

相关推荐
m0_748554813 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
早日退休!!!5 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
xcLeigh5 小时前
KES数据库性能优化实战
数据库·sql·性能优化·sql优化·数据性能
阿正呀5 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
yoyo_zzm5 小时前
Laravel9.x新特性全解析
数据库·mysql·nginx
2501_901200535 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
m0_495496416 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume7 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
2301_809204707 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
虹科网络安全7 小时前
艾体宝产品|深度解读 Redis 8.4 新增功能:原子化 Slot 迁移(上)
数据库·redis·bootstrap