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)

相关推荐
这个DBA有点耶11 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶13 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技13 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend14 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence17 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung2 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql