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)

相关推荐
jiushidt16 分钟前
在 DBeaver 中为 SQLite 启用 SpatiaLite
数据库·sqlite
码士集团小青34 分钟前
Google 开源了啥,让 AI Agent 碰数据库不再是定时炸弹
数据库·oracle
CS创新实验室1 小时前
数据库突然断电,凭什么没丢数据?——WAL 日志与崩溃恢复
数据库·mysql
Warolitbos1 小时前
【数据库】SQL面试基础15题,测试/开发必背速查
数据库
ClouGence1 小时前
开源数据库管理工具 CloudDM 新版本上线,新增 AI SQL 助手,支持 Elasticsearch、崖山数据库
数据库·sql·elasticsearch
ly76892 小时前
PostgreSQL 执行计划深读:从 EXPLAIN 输出到代价模型驱动的 SQL 改写
数据库·sql·postgresql·explain·执行计划·代价模型
Python自动化直播2 小时前
自动化笔记:素材管理、命名、轮换的几条土办法
linux·运维·数据库
xiaomuzuirenzhen2 小时前
2027校招ERP实施顾问:大数据管理与应用专业如何用SQL、BI证明业务能力
大数据·数据库
底层玩家老张3 小时前
从副本集到分片:百亿级文档数据的KES架构边界
数据库·分布式架构·分片·架构选型·文档数据库
ss2733 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 16 PostgreSQL子查询与嵌套查询(下)
数据库·笔记·postgresql