Seek UNIX script tutor and help


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Seek UNIX script tutor and help
# 1  
Old 05-08-2008
Seek UNIX script tutor and help

I am new to UNIX shell script programming. I have coded one korn shell script used on solaris 10 for Oracle database rman cold backup. The first part of script is working. But only following part is not working. Please help me to point out the problem and errors in my code. Thanks a lot.

# the first part has been omitted.

# Started to shutdown database and startup database mount for cold backup .

${ORACLE_HOME}/bin/sqlplus -s << EOF
conn / as sysdba
shutdown immediate;

${ORACLE_HOME}/bin/sqlplus -s << EOF
conn / as sysdba
startup mount;

# The above part works, then script stop here.


exit

rman NOCATALOG <<EOF
CONNECT TARGET SYS/$SYS_PASSWORD@$ORACLE_SID
if [ $? = 0 -o $? = 2 ]
then date +"%D %T: backup process started." >> pdedev$BACKUP_DAY.LOG
else date +"%D %T: Error start rman to do backup." >> pdedev$BACKUP_DAY.LOG
exit 1
fi
RUN
{
ALLOCATE CHANNEL ch1 DEVICE TYPE DISK
FORMAT = '$BACKUP_FOLDER/%d_DB_%u_%s_%p' MAXPIECESIZE 5G;
BACKUP DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;
RELEASE CHANNEL ch1;

SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
}
if [$? = 0]
then date +"%D %T: Rman backup successful." >> $BACKUP_DAY.LOG
echo "" >> $BACKUP_DAY.LOG
else date +"%D %T: Rman backup not successful." >> $BACKUP_DAY.LOG
date +"%D %T: Exiting script." >> $BACKUP_DAY.LOG
exit 1
fi

# Open database

${ORACLE_HOME}/bin/sqlplus -s << EOF
conn / as sysdba
alter database open;
echo " database $ORACLE_SID is up running." >> $BACKUP_DAY.LOG

exit
EOF

Last edited by duke0001; 05-09-2008 at 01:28 PM..
# 2  
Old 05-12-2008
You are using <<EOF "here documents" without a closing EOF terminator. The whole remainder of the script gets passed to SQL (which ignores it, if it doesn't outright choke on it).

The "exit" is apparently not really supposed to be there? If it is, that's where the script terminates.

The "here document" syntax is a bit hard to grok until you get the hang of it. Maybe a few examples can help.

Code:
cat <<END_OF_FIRST_HERE_DOCUMENT

This will be copied to standard output
including this part which really looks a lot like a shell script
#!/bin/sh
echo frnod
exit 255
This is all just text as far as the shell is concerned,
so we don't care even that this looks like an unterminated
single-quoted string (because of the single quote between "don" and "t").
END_OF_FIRST_HERE_DOCUMENT

echo Script execution continues here

cat <<!
Another here document
you can use almost anything as a terminator
!

echo Back to the studio
exit 0

# 3  
Old 05-12-2008
Era:

Thanks for your help. I will try again.
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Tutor or help needed (online)

Hi, i like to know if any of the forum member happens to know any good tutor who is willing to provided on-line help to my scripting skills? jared (5 Replies)
Discussion started by: Jared
5 Replies

2. Emergency UNIX and Linux Support

Seek help on shell script syntax errors

I want to delete archivelog files that has been archived and applied from primary database to standby database. This piece of script is working in Linux server. However, I copy it to Unix server with tiny modification. It won't work and generate the error message. I have checked code carefullt... (8 Replies)
Discussion started by: duke0001
8 Replies

3. UNIX for Dummies Questions & Answers

Seek help configuring Sendmail 8.14.4 Unix

Seek help configuring Sendmail 8.14.4 Unix server. Not sure if this is the correct place to post or the Unix/Linux Forums job board. Seeking help configuring sendmail 8.14.4 on my Unix server. It appears I have an open relay. I was advised I need to modify a etc/mail/dir , a command line entry... (0 Replies)
Discussion started by: raecampus
0 Replies

4. UNIX for Advanced & Expert Users

dd seek problem

I want to seek to a location on the hard drive that will be written to that is different from the output block size. Is this possible? It seems the man page implies you can only seek in increments of the number of bytes you output. A bit of information about what I'm trying to do, if that... (6 Replies)
Discussion started by: silvermoon
6 Replies

5. AIX

server seek internet

hello i'm working with aix 5.3 hacmp 5.4 P550 and P520 those two serevr every 10 seconds seek connection to the internet web. i check with sniffer software and i've got this details. the problem is that when i've problem with the internet those server get frizzzzzzz. on those servers running... (0 Replies)
Discussion started by: ariec
0 Replies

6. Solaris

Solaris 10 Tutor

I am looking to enter into the IT field and i'm very interestd in the Solaris 10 OS. Apart from shelling out outrageous sums to companies based here in the UK, I would appreciate any other advise on how to go about studying, understanding and certifiying in Solaris 10. I have tried to install... (1 Reply)
Discussion started by: kress2m1
1 Replies

7. UNIX for Dummies Questions & Answers

Why script For...Loop doesn't work. Seek help

I have written a script to run on UNIX server. When I tested, it always hanged on after "date +"%D %T: XXXXXX script started." part. Then it wouldn't go further. UNIX server gave me one error message. I used the same code in another script. It works fine. I think the major problem may be in... (3 Replies)
Discussion started by: duke0001
3 Replies
Login or Register to Ask a Question