Records not dropped from UNIX Script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Records not dropped from UNIX Script
# 1  
Old 06-19-2017
Records not dropped from UNIX Script

Hi All,
As per my biz requirement, I need to drop the partition from our PROD table based on the retention period.

Hence I have written the script and called the drop partition procedure within the script.

The procedure is working fine and droped the partition from the table when I execute alone but when I call the procdure from the script itself, paritions are not dropped and throwing error. I really don't have any idea what is the reason for records are not dropped from the script.

Kindly provide your update on this.

Scriptname:drop_part_w56.sh

Code:
#!/bin/ksh

#Batchdate=20170616
#retn=$2
freq='W'
instance=DPHK0
dbuser=etl
dbpass=dummy

path=/CBS/HK/Temp

BatchDate=20170616

logfile=STATUS_w286_tmp_tab_$BatchDate.log

rm -f $path/$logfile

set +x

db2 connect to DPHK0 user etl using dummy

db2cmd=CALL HPPDWSG0.PARTITION_CLEANUP_PROC('SG','$BatchDate','W',?)";
echo ${db2cmd}
db2 +c -tv "${db2cmd}" >> $path/$logfile

db2 terminate

Error:

Code:
 Database Connection Information

 Database server        = DB2/AIX64 9.7.8
 SQL authorization ID   = ETL
 Local database alias   = DPHK0

/pdw/Singapore/simco/sit/pdwds_drop_part_w286.sh[38]: CALL HPPDWSG0.PARTITION_CLEANUP_PROC('SG','20170616','W',?):  not found

DB20000I  The TERMINATE command completed successfully.

Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 06-19-2017 at 05:03 AM.. Reason: Changed HTML to CODE tags.
# 2  
Old 06-19-2017
Did you compare the working directory when "executing alone" to when "calling from script"? And the PATH variable? You might want to use absolute paths.
# 3  
Old 06-19-2017
Thanks for your input. Could you plz share some example.
However, I used the procedure script alone it was successful. Please see the details below.
Code:
/pd/SG/uat/EBBS> db2 connect to DPHK0 user etl
Enter current password for etl:

   Database Connection Information

Database server        = DB2/AIX64 9.7.8
SQL authorization ID   = ETL
Local database alias   = DPHK0


/pd/SG/uat/EBBS> db2 "CALL HPPDWSG0.PARTITION_CLEANUP_PROC('SG', '20170616','W', ?)";

  Value of output parameters
  --------------------------
  Parameter Name  : RESULT_STS
  Parameter Value : ALTER TABLE HPPDWSG0.CASA_ACCT_WK DETACH PARTITION P20170303 INTO HPPDWSG0.CAS_ACCT_WK_P20170303_DROP

# 4  
Old 06-19-2017
Not sure what you mean by "share some example". What is the working directory (e.g. output of pwd command) in either case? From the error msg in the first and the command prompt in your second post one could infer they are different; that migt be the reason the script is not found.
# 5  
Old 06-19-2017
I think the script is not working because the opening doublequotes are missing when you assign the command to the variable.
Code:
#!/bin/ksh

#Batchdate=20170616
#retn=$2
freq='W'
instance=DPHK0
dbuser=etl
dbpass=dummy

path=/CBS/HK/Temp

BatchDate=20170616

logfile=STATUS_w286_tmp_tab_$BatchDate.log

rm -f $path/$logfile

set +x

db2 connect to DPHK0 user etl using dummy

db2cmd="CALL HPPDWSG0.PARTITION_CLEANUP_PROC('SG','$BatchDate','W',?)";
echo ${db2cmd}
db2 +c -tv "${db2cmd}" >> $path/$logfile

db2 terminate

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Looping through records in db and processing them in UNIX

Hi, I want to read multiple records from oracle database table and then based on each record I need to do some file modifications in UNIX. I'm not sure how do I process each record from DB in UNIX.Below is the code snippet. sqlplus user/pwd@DEV for i IN (select * from table) loop -- for... (2 Replies)
Discussion started by: prats_7678
2 Replies

2. UNIX for Advanced & Expert Users

Find User who dropped table in teradata DB

HI Team Is there a way to track which user dropped the table in Teradata ? Please share the query or approach . Thanks (0 Replies)
Discussion started by: Perlbaby
0 Replies

3. Shell Programming and Scripting

UNIX Script required for count the records in table

Hi Friends, I looking for the script for the count of the records in table. and then it's containg the zero records then should get abort. and should notify us through mail. Can you please help me out in this area i am lacking. (5 Replies)
Discussion started by: victory
5 Replies

4. News, Links, Events and Announcements

MySQL dropped in favor of MariaDB

Fedora and openSUSE will replace MySQL with MariaDB: Oracle who? Fedora & openSUSE will replace MySQL with MariaDB | ZDNet The article also has a comment that Chakra is planning on doing the same. No doubt the Fedora based distributions are planning to do the same. (7 Replies)
Discussion started by: figaro
7 Replies

5. Ubuntu

System chrashe , dropped into Busybox

This is the mistake that i've done : First of all go to /etc/apt/sources.list folder from terminal or using file manager ... than copy the content of sources.list in to your adequate source.list. Create a file named sources.list.bt and paste the same content In the end open the... (0 Replies)
Discussion started by: dud3
0 Replies

6. SuSE

Recover dropped database

I have deleted a database. I restored it again with a backup. Now we lost some data of two days. Is it possible to restore this lost data? (5 Replies)
Discussion started by: Eastme
5 Replies

7. Shell Programming and Scripting

unix shell script which inserts some records into a file located in remote servers...

All, I need to write an unix shell script which inserts some records into a file located in remote servers. * Get the input from the user and insert according the first row. It should be in ascending order. 123451,XA,ABA 123452,XB,ABB 123453,XC,ABC 123455,XE,ABE 123456,XF,ABF 123458,XG,ABG... (2 Replies)
Discussion started by: techychap
2 Replies

8. UNIX for Advanced & Expert Users

unix script for update or insert records from a file to a oracle table

Hi, I have delimited file(|). Sample data: 1|name|50009|DS24|0|12 2|name|30009|DS24|0|13 3|name|20409|DS24|0|14 4|name|20009|DS24|0|15 5|name|10009|DS24|0|16 I want to load this data into a oracle table (update and insert) Please help me the commands and also... (1 Reply)
Discussion started by: unihp1
1 Replies

9. UNIX for Dummies Questions & Answers

are dropped packets a sign of network problem?

in a xen environment , i see a lot op dropped packets via netstat -i Is this a sign of network problems, or is it normal to see this kind of numbers? i'm not sure how to interprete the data. is this normal, bad, critical. What are your stats on this? I guess i have a xen issue of some sort,... (1 Reply)
Discussion started by: progressdll
1 Replies
Login or Register to Ask a Question