The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
Google UNIX.COM


UNIX for Advanced & Expert Users Advanced UNIX and Linux questions go here. Expert-to-Expert.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
server seek internet ariec AIX 0 06-05-2008 12:20 AM
seek-1f42 1.46 (Default branch) iBot Software Releases - RSS News 0 03-19-2008 04:30 PM
seek-h262 4.76 (Default branch) iBot Software Releases - RSS News 0 12-24-2007 11:12 AM
Solaris 10 Tutor kress2m1 SUN Solaris 1 10-27-2007 06:38 AM
Why script For...Loop doesn't work. Seek help duke0001 UNIX for Dummies Questions & Answers 3 10-16-2006 01:22 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-08-2008
Registered User
 

Join Date: Nov 2005
Posts: 127
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
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 09:28 AM.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-12-2008
era era is online now
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 2,253
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
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
Reply With Quote
  #3 (permalink)  
Old 05-12-2008
Registered User
 

Join Date: Nov 2005
Posts: 127
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Era:

Thanks for your help. I will try again.
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash exec bash for loop command copy/move folder in unix couldn't set locale correctly curses.h cut command in unix export command in unix find grep find mtime find null character in a unix file grep multiple lines grep or grep recursive hp-ux ifconfig inaddr_any inappropriate ioctl for device lynx javascript mailx attachment mget mtime ping port remove first character from string in k shell replace space by comma , perl script scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude tar extract to folder test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute vi+substitute+end+of+line+character while loop within while loop shell script


All times are GMT -7. The time now is 04:07 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101