| 
 July
2004 Weird Oracle
ErrorBy Neil
Armstrong, Robelle
 Recently we had a support call and email from a customer
saying that they thought they had a problem with their Suprtool/UX
licensing of the Oracle module. The strange part was how seemingly
unrelated the initial problem was from the eventual solution:
 
 Open Oracle
somedatabase someuser
 SELECT * FROM V_ITP
 
 Error:
Unable to process the select statement
 
 Error:
ORA-01116: error in opening database file 14
 ORA-01110:
data file 14:
/u03/oracle/amdv/data/amisys_data_tb3.dbf
 ORA-27092: skgfof
 Error:  Fatal
problem during processing
 
 The
first thing we did was check the licensing information, and also we
Googled the Oracle error message. If licensing was an issue, the
customers script would have failed on the preceding OPEN
command rather than on the Select command. So licensing was not the
problem.
 We
called the Oracle error message routines in our Oracle Call
Interface, so we knew the error message was coming from Oracle. We
did a Google search on the Oracle error messages and found strong
indications that there was most likely a data file missing from the
database. The following links indicate that after mistakenly deleting
an Oracle datafile other users got the error message that our
customer encountered: (You can read the full messages at
www.baseltd.com/wwwboard/messages/
 1444.html and
www.jlcomp.demon.co.uk/faq/lostdatafile
 _nobackup.html)
 Similarly, PowerHouse was also failing for the customer, as
follows:
 
 *E* Data
access error. (UITP)
 *E*
DMS-E-GENERAL, A general exception has occurred during operation
 asynchronous open. (UITP)
 *E*
ORA-01116: error in opening database file
 
 After
asking whether the customer could confirm that the data files had not
been deleted, the customer replied that the error was related to the
fact that the version of at on their system could not
handle large files:
 Thanks for your help. We figured out the problem. The
error only occurred for some tables, and only in batch. Turns out
these are large tables (2.5Gb in this case), and the version of
at on the HP-UX machine has a problem with this. Only
some versions of UX 11i standard, at some patch level, have this
issue (and possibly some older enterprise versions from before
7/2002). When they do have the problem, a file .proto
needs to be added to /var/adm/cron.
 Ive included the .proto file for you to add to
your knowledge base. When I switched the code to simply access the
table using SQLPLUS, I got a better error message, which is what
clued us in, the exceeds file size limit of the process
message.
 
 SQL>
SELECT * FROM UITP where letter_id_who = somerecord
 *
 ERROR at line 1:
 ORA-01116:
error in opening database file 15
 ORA-01110:
data file 15:
/u41/oracle/amdv/data/amisys_indexes_tx1.dbf
 ORA-27092:
skgfofi: size of file exceeds file size limit of the process
 
 Heres the .proto file that helps with the problem:
 
 cat
/var/adm/cron/.proto
 
 # @(#)B.11.11_LR
 cd $d
 echo starting
..proto l is $l
 if [ $l -ge
4194303 ]
 then
 echo
setting to unlimited
 ulimit unlimited
 else
 echo
setting to $l
 ulimit $l
 fi
 umask $m
 $<
 echo ending .proto
 
 Subsequent research on the HP ITRC forums found a fairly
cryptic message that did refer to patches which did help with the
problem:
 1.
Check the .profile file of the oracle user to see whether the oraenv
script is present in the startup file.  This oraenv file sets the
ulimit value as 4194303. Remove the script from .profile or change
the script from 4194303 to unlimited in the
if condition.
 2. If
that is not present, Load the patches PHCO_26783 (11.00) and
PHCO_27019(11.11) which should make the ulimit values for ksh to
unlimited.
 A
subsequent message did indicate that this resolved the similar issue
as reported on the ITRC. It just goes to show that errors can come
from anywhere and are not always directly related to the immediate
application being used that generated the error.
 Next
month: Debugging a client-server application is MORE interesting.
 
 Copyright The
3000 NewsWire. All rights reserved. |