Shell scripting+connect to oracle database+spooling


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Shell scripting+connect to oracle database+spooling
# 1  
Old 05-07-2009
Bug Shell scripting+connect to oracle database+spooling

Hi! Everyone

I am new to the shell scripting basically.I have been asked to create a shell script that connect to a oracle database to read data from a particular schema then spool it into a csv file then email to customer.

Can anybody let me know how to go about that.

I have create this but I get no results,what am I doin wrong?

sqlplus username/password@database << EOF
SPOOL /app/oracle/product/dummy.txt
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM table_name;
SPOOL OFF
EXIT;
EOF
# 2  
Old 05-07-2009
What do you get when you run this command in SQLPLUS w/o trying to run it from a shell script
using the here doc?
# 3  
Old 05-07-2009
This is how I do it.
--------------------------------------

sqlplus -s <<-! > sql_results.out 2>&1
username/password@database

select sysdate from dual ;

exit
!


### Check the output file for Oracle errors.
grep 'ORA-' sql_results.out > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "`date` - Oracle error: Check sql_results.out" >> log_file.txt
exit 1
fi

Last edited by 0rebar0; 05-07-2009 at 04:52 PM..
# 4  
Old 05-08-2009
Hi! Thanx

when i run that from PLSQL I get the expected results(data is being pulled from database) but I want to put it from the database to a file.

Any suggestions
# 5  
Old 05-08-2009
So you're saying:

Code:
select * from tablename;

does return the data you need in sqlplus? But issuing the SPOOL command before the select statement, is not collecting that data into the specified file.

Did you try using the SPOOL command then issuing the select statement in SQLPLUS then turn the SPOOL OFF and look for the file? (i.e. do everything inside SQLPLUS not just the select statement).

It's puzzling, because your command looks correct, though, I would set your linesize and pagesize before turning on the SPOOL command otherwise you would see those commands in the output, assuming you get output to the file.

Does the underlying OS user have write privileges to where you are tyring to write the file? I'd assume you'd get an error if you didn't, but it's worth checking. Assuming the OS user is 'oracle' you should have write privileges to an /app/oracle ... directory structure, but maybe you've logged on under your own login and you don't. If you're using your own OS login, try spooling it to your own home directory.
# 6  
Old 05-08-2009
Looks ok to me.

You can find a complete shell script example here:
fahd.blog: Creating a Report with SQLPlus
# 7  
Old 05-13-2009
Hi! I can be ble to select data from oracle bd tables.I can spool it to the a csv file.What I need is to format the data in order to put in the column titles.

Any help will be appreciated.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Connect to database with shell output

Dear All, I am trying to write a script which will generate output to a file based on input files on basis of a pattern which I am able to do so. But, I am stuck as I am trying to connect this to database server. Below is my command and output details. Input Code filedate=$(date... (6 Replies)
Discussion started by: grvk101
6 Replies

2. Shell Programming and Scripting

Connect to Oracle database

could someone please help me in shell scripting. i want to connect to oracle database which is on remote sever. requirement: 1 want to check files in source directory if file exist then a execute a corresponding batch jobs on unix sever and fetch data from oracle database which is on remote... (2 Replies)
Discussion started by: refi123
2 Replies

3. UNIX and Linux Applications

Identify a specific environment Oracle variable to connect a remote Oracle database ?

Good evening I nned your help pls, In an unix server i want to connect to a remote oracle databse server by sqlplus. I tried to find out the user/passwd and service name by env variable and all Ive got is this: ORACLE_SID_REPCOL=SCL_REPCOL ORACLE_SID=xmeta ORACLE_SID_TOL=SCL_PROTOLCOL... (2 Replies)
Discussion started by: alexcol
2 Replies

4. Shell Programming and Scripting

Connect to Oracle database with JDBC drivers.

Hi All, We are having LINUX server. I would like to connect to oracle database from server to with the help of shell script and execute a procedure. We dont have oracle installed to use sqlplus and connect to database. Do we have any command to connect to database using JDBC drivers. ... (1 Reply)
Discussion started by: Girish19
1 Replies

5. Shell Programming and Scripting

How to connect to Oracle database using shell script?

Hi All, I am newbie to unix shell scripting. I want to connect to oracle database using shell script. I know how to connect DB using user name and password but my question is if my password is having '@' sign then how to connect. I have tried like below, cnt=`sqlplus -s /nolog << EOFSQL ... (3 Replies)
Discussion started by: pmotewar
3 Replies

6. Shell Programming and Scripting

Shell Script to connect to the oracle database

Hi Unix Gurus, I have a requirement to write a script, Oracle DB gets referesh every 6hrs, hence we need write a script to connect to the database , if it connects it should generate a file to proceed the next job application or when an error when connectiong to DB it should not generate any... (8 Replies)
Discussion started by: bshivali
8 Replies

7. Shell Programming and Scripting

Korn Script to connect and query oracle database

I've been sent the following script to finish. It's supposed to connect to an oracle database, query it, and send an email if the query result value is one or more. Currently it isn't connecting properly, just giving the following error: ERROR: ORA-01017: invalid username/password; logon denied... (2 Replies)
Discussion started by: jackmorgan2007
2 Replies

8. Shell Programming and Scripting

How to connect with oracle database using unix...

Hi all I am working in datawarehouse project and use DB2 database . shell scripting is written to connect with DB2 database in my application but i dont know how to connect with oracle databse or other databases.Is there any command in unix to connect any of these datbases? (6 Replies)
Discussion started by: vijays3
6 Replies

9. Shell Programming and Scripting

How to COnnect to Oracle database from UNIX Box

I am trying to connect to Oracle Databse from UNIX box using sqlplus command. But i get sqplus not found message. $ sqlplus sqlplus: not found I have searched in forums and all are suggesting to set environment varaibles...can somebody tell me what variables to set and how to set.and the... (12 Replies)
Discussion started by: angelarosh
12 Replies

10. Shell Programming and Scripting

Help in Shell scripting to modify the User Creation script in oracle database.

Hi, I have several users to create on my test Oracle database taking the scripts from the Production Oracle database. I have a separate text file where I have user-id and passwords maintained. I need help in writing a shell script to go thru the user creation scripts and replace VALUES... (1 Reply)
Discussion started by: rparavastu
1 Replies
Login or Register to Ask a Question