Capturing Oracle SQL Error Codes


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Capturing Oracle SQL Error Codes
# 1  
Old 03-12-2014
Capturing Oracle SQL Error Codes

My issue pertains to earlier posts like
exit unix script after sqlerror in procedure - dBforums
SQLPLUS Error Capturing | Unix Linux Forums | Shell Programming and Scripting

We are executing PL/SQL blocks from shell scripts using SQLPLUS. The error code has to be captured into a logfile that is sent to an operations team(and hence has to be accurate and complete)
I am getting a MODDED Error Code due to the 2 byte restriction on the return code from SQLPLUS. What is the workaround to get the actual Oracle Error Code?
# 2  
Old 03-12-2014
When a process (or child process exits) the resulting status is an 8 bit word. Therefore valid values in a status are 0-255 of signed or unsigned char if you like.

So: You cannot get values like ORA-0412 passed as 412.
You will have to write something to a log file, or insert into an oracle table.

Example: sqlplus does write errors to stderr, so if you redirect from inside a shell script you capture the error.:
Code:
sqlplus user/passwd@oracledb <<EOF  2 >> somerrorlog
WHENEVER SQLERROR EXIT SQL.SQLCODE
begin
  SELECT COLUMN_DOES_NOT_EXIST FROM DUAL;
END;
EXIT;
EOF

This will appear in the file somerrorlog
Code:
SELECT COLUMN_DOES_NOT_EXIST FROM DUAL;
       *
ERROR at line 2:
ORA-06550: line 2, column 10:
PLS-00201: identifier 'COLUMN_DOES_NOT_EXIST' must be declared
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored

This User Gave Thanks to jim mcnamara For This Post:
# 3  
Old 03-13-2014
In most situations I have done as suggested above.
Also after the sql statement I just check for $?
sqlplus does assign $? a 0 on success and non zero on failure( in most cases)
but other oracle client tools like sqlldr are natorious in honoring the exit code.
# 4  
Old 03-13-2014
I definitely check for $?. My conundrum was more on the lines of capturing why the error occurred. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Capturing error codes in SFTP commands

Hi, I have been using the SFTP commands in my reusable shell scripts to perform Get/Put operation. The script has a list of 6 errors which i am capturing through the log file using grep command. But I feel there might me more errors which the script might need to capture. I tried to capture the... (2 Replies)
Discussion started by: Bobby_2000
2 Replies

2. Shell Programming and Scripting

Shell script with Oracle PL/SQL

Hi Gurus, I am new to this unix world...I need your help to walk through. I want to learn shell scripting..... The shell script which can be able to use with oracle pl/sql... So please suggest me which shell is good. Which Unix/Linux version is good for this to Install to get practice the... (8 Replies)
Discussion started by: GaneshAnanth
8 Replies

3. Shell Programming and Scripting

rm error codes and logging

Afternoon ladies and gents, I am trying to create a simple script to remove a certain file from a user's network profile location. The removal works ok, but in the interest of overkill I would like to add a simple error detection (such as file doesn't exist or permission denied) Currently, it... (2 Replies)
Discussion started by: hateborne
2 Replies

4. Shell Programming and Scripting

perl- oracle sql query

Hi, I am new to perl.How to query oracle database with perl??? Thanks (1 Reply)
Discussion started by: tdev457
1 Replies

5. Programming

SQL Oracle error

Am trying to run this : DECLARE CURSOR c1 IS SELECT customer_id, num3 FROM table1 WHERE text1 = 'pp' AND customer_id IS NOT NULL; custcount INTEGER; oldtext24 VARCHAR2 (80); commit_counter INTEGER := 0; BEGIN FOR i IN c1 ... (1 Reply)
Discussion started by: maiooi90
1 Replies

6. UNIX and Linux Applications

Oracle return codes?

Having searched high and low through Oracles documentation, I came to think that they're very scripting-averse, as there's (apparently) no list of possible return/exit codes for their various command line utilities. Is anyone here in possession of such a list, or knows where to find one? It... (16 Replies)
Discussion started by: pludi
16 Replies

7. Shell Programming and Scripting

Capturing SQL O/P in Unix Script

Hi, I would like to run a job based on the output from the SQL output. Eg: Select count(*) from A ...if count(*) = 1 then execute the next step or else exit. Please advise. Thanks S (2 Replies)
Discussion started by: pyaranoid
2 Replies

8. UNIX for Advanced & Expert Users

Capturing Oracle Shutdown error

Hi, Iam calling 3 sql scripts through one shell script 'rmia.sh'. Till now this was working fine, but last time while calling the SQL scripts, Oracle was down. But amazingly the exit status was '0' (success)!!! Below is the shell code: #!/usr/bin/ksh -x assign_file asql a.sql 1... (15 Replies)
Discussion started by: ganapati
15 Replies

9. UNIX for Dummies Questions & Answers

capturing oracle procedure out param value

I have a procedure with an out parameter, I want to use this value in a shell script, I've done this in perl before but they want this to be a ksh script. what is the syntax to do this. this was my first thought; #!/usr/bin/ksh sqlplus -s scott/tiger@db << EOF ... (1 Reply)
Discussion started by: edog
1 Replies
Login or Register to Ask a Question