Use of shell script in oracle
A.Steps to Register Shell Script as a concurrent program.
B.Sample Shell Script to copy the file from source to destination.
C.Basic Shell Script Commands.
A. Steps to Register Shell Script as a concurrent program :
Step 1:
=======
Place the
.prog script under the bin directory for your
applications top directory.
For example, call
the script ONEPLACE_DEMO.prog and place it under $CUSTOM_TOP/bin
(*Note: $CUSTOM_TOP = name of you custom top)
Go to $CUSTOM_TOP/bin
where you have places shell script file and run below command to give full
permission to file.
chmod 777
.prog
step 2:
=======
Make a symbolic
link from your script to $FND_TOP/bin/fndcpesr in
$CUSTOM_TOP/bin directory.
For example, if the
script is called ONEPLACE_DEMO.prog use this:
ln -s
$FND_TOP/bin/fndcpesr ONEPLACE_DEMO
This link will be
having same name as your script without the .prog extension.
step 3:
=======
Register the
concurrent program, using an execution method as 'Host'. Use the name of your
script without the .prog extension as the name of the executable.
For the example
above:
Use ONEPLACE_DEMO as name of the executable file.
step 4:
=======
Your script will be
passed at least 4 parameters, from $1 to $4.
$1 = orauser/pwd
$2 = userid(apps)
$3 = username,
$4 = request_id
Any other
parameters you define will be passed in as $5 and higher.
Make sure your
script returns an exit status.
B.Sample Shell
Script to copy the file from source to destination
Shell Script to
copy the file from source to destination
#Note: If you see #
in front of any line it means that it’s a comment line not the actual code
#** ********************************************************************
# Created By :
Oneplace World Blogspot
# Creation Date :
18-OCT-2016
# Script Name :
ONEPLACE_DEMO.prog
# Description :
This Script accepts three parameters
# 1)Data File Name
2)Source Directory Path 3)Target Directory Path
# Then copy the
file from source location to target location.
# If copy fails
send the error status/message to concurrent program so that user can see
status.
#
#
# ========
# History
# ========
# Version 1
Oneplace World Blogspot 18-OCT-2016 Created for
http://oneplaceworld.blogspot.in/ users
#
#**
********************************************************************
#Parameters from 1
to 4 i.e $1 $2 $3 $4 are standard parameters
# $1 : username/password
of the database
# $2 : userid
# $3 : USERNAME
# $4 : Concurrent
Request ID
DataFileName=$5
SourceDirectory=$6
TargetDirectory=$7
echo
"————————————————–"
echo
"Parameters received from concurrent program .."
echo " Time :
"'date'
echo "————————————————–"
echo
"Arguments : "
echo " Data
File Name : "${DataFileName}
echo "
SourceDirectory : "${SourceDirectory}
echo "
TargetDirectory : "${TargetDirectory}
echo
"————————————————–"
echo " Copying
the file from source directory to target directory…"
cp
${SourceDirectory}/${DataFileName} ${TargetDirectory}
if [ $? -ne 0 ]
# the $? will
contain the result of previously executed statement.
#It will be 0 if
success and 1 if fail in many cases
# -ne represents
not “equal to”
then
echo "Entered
Exception"
exit 1
# exit 1 represents
concurrent program status. 1 for error, 2 for warning 0 for success
else
echo "File
Successfully copied from source to destination"
exit 0
fi
echo
"****************************************************************"
#End of Shell Script
File
C.Basic Shell
Script Commands :
# Create Directory
mkdir
# Remove Directory
rmdir
#remove folder with
files
rm -r -f
# Change Directory
cd
# Create new file
vi
#insert data into
file
vi
esc i
#Save file
esc :wq enter
# exit without
saving changes
esc :q! enter
# open existing
file
vi
#remove file
rm
# Move file with
same name
mv
/
# move file with
data appended to filename in the front
mv
/
/'date+%H%M%d%m%y'
# copy file with
same name
cp
/
# copy file with
new name
cp
/
/
#print line
echo "your
text here to print"
#print date
echo 'date'
#grep – This is one
of the most powerful and useful commands available to you in Linux. It stands
for Global/Regular Expression Print. It looks through a file and prints any
line that matches a particular pattern. Because this pattern is based on
"regular expression," a concise line can yield a multitude of
patterns to be matched. For not, though, you can enter a tern for
searching.(grep is case sensitive)
grep pattern_file
#You can use the
“-i” flag to make it ignore case.
ls / | grep -i
pattern_file
#Piping, or
Chaining Piping is so named because it uses the pipe, (| ; shared with the \
key on most keyboards). Essentially, it takes the output of one command and
directly feeds it to another. You can create long chains of commands to get a
very specific desired output this way, and it’s very convenient for commands
like grep.
ls / | grep
pattern_file
Thanks for a great information in your blog. I have read all the post of your blog.
ReplyDeleteRegards,
Linux Online Training
Linux Training in Hyderabad
Linux Online Training in Hyderabad
Linux Online Training in India
Linux Online Training Institutes in Hyderabad
Best Institutes for Linux in Hyderabad
Linux Training Institutes in Hyderabad
ReplyDeleteNice blog..! I really loved reading through this article. Thanks for sharing such
a amazing post with us and keep blogging...
shell scripting training in hyderabad