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)

相关推荐
廿一夏8 小时前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim10 小时前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室11 小时前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)11 小时前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU12 小时前
Spring IoC&DI
java·数据库·spring
Muscleheng13 小时前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿14 小时前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-14 小时前
Redis 命令
数据库·redis·缓存
小江的记录本14 小时前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`15 小时前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存