Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: RUN the script(UTL_FILE) as system/manager

Re: RUN the script(UTL_FILE) as system/manager

From: Pete Finnigan <plsql_at_petefinnigan.com>
Date: Wed, 18 Feb 2004 17:37:19 +0000
Message-ID: <hUp4duAPL6MARx31@peterfinnigan.demon.co.uk>


Hi,

UTL_FILE should be owned by SYS, check on your system that it is. On mine its:

Personal Oracle9i Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production

SQL>
SQL> select object_name,object_type,owner   2 from dba_objects
  3 where object_name='UTL_FILE';

OBJECT_NAME



OBJECT_TYPE OWNER
------------------ ------------------------------
UTL_FILE
PACKAGE            SYS

UTL_FILE
PACKAGE BODY       SYS

UTL_FILE
SYNONYM            PUBLIC


SQL> If its owned by SYSTEM then it may be valid when compiled but could fail with an ICD vector missing error when run as Oracle internally manages its internal packages where they call C stubs. The C stubs and package functions calling them have to be owned by SYS to match the ICD vecors (whatever they are! - some sort of function table I guess).

So probably if you ran utlfile.sql as SYSTEM then run your program calling utl_file it would call the one installed as SYSTEM and fail, when you run as SYS you will call the real package and it will work.

Check how many UTL_FILE's that you have and drop the one owned by SYSTEM or any others and then re-run utlfile.sql as SYS connected AS SYSDBA.

hope this helps

Kind regards

Pete

-- 
Pete Finnigan
email:pete_at_petefinnigan.com
Web site: http://www.petefinnigan.com - Oracle security audit specialists
Book:Oracle security step-by-step Guide - see http://store.sans.org for details.
Received on Wed Feb 18 2004 - 11:37:19 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US