Sponsored Content
Full Discussion: ksh scripting
Top Forums Shell Programming and Scripting ksh scripting Post 302937829 by pvmanikandan on Monday 9th of March 2015 08:15:56 PM
Old 03-09-2015
ksh scripting

Hi All,

Can you please let me know what I missed in the below function? Whenever I try to execute the script i am getting

Code:
syntax error at line 101 : `fi' unexpected

Function is

Code:
function DELNWE5O {
        export ORACLE_HOME=/ora00/app/oracle/product/11.2.0/grid_1
        export ORACLE_SID=+ASM
        export PATH=${ORACLE_HOME}/bin:${PATH}
        DG=`sqlplus -s '/as sysasm' <<EOF
        set pagesize 0 feedback off verify off heading off echo off;
        select NAME from v\$asm_client ac ,v\$asm_diskgroup ad where ac.GROUP_NUMBER=ad.GROUP_NUMBER and ac.INSTANCE_NAME like 'nwe5o' and NAME like '%ARCH3';
        exit;
        EOF`
        export ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
        export ORACLE_SID=$ORACLE_SID
        export PATH=${ORACLE_HOME}/bin:${PATH}
        LIBPATH=${ORACLE_HOME}/lib
        sqlplus -s '/as sysdba' <<EOF
        SET PAGES 0 LINES 175 HEAD OFF FEED OFF
        spool /users/oracle/Mani/delete_list_ods_nwe5o.sql
        SELECT  --+ NO_MERGE(C)
        'ALTER DISKGROUP ${DG}  DROP FILE '''||R.NAME||'''; '
        FROM DBA_REGISTERED_ARCHIVED_LOG R, DBA_CAPTURE C, V\$ASM_FILE F
        WHERE R.CONSUMER_NAME = C.CAPTURE_NAME
        AND R.NEXT_SCN < C.REQUIRED_CHECKPOINT_SCN
        AND F.FILE_NUMBER = SUBSTR(R.NAME,INSTR(R.NAME,'.',1,1)+1,INSTR(R.NAME,'.',1,2)-INSTR(R.NAME,'.',1,1)-1)
        AND F.INCARNATION = SUBSTR(R.NAME,INSTR(R.NAME,'.',1,2)+1);
        spool off
        EXIT
        EOF
}



I call the above function from a while loop. The below code is not the complete one, i took a portion from the while loop

Code:
if [[ ! -z ${STREAMS_ODS_DB_LIST[@]} ]]; then
echo ${STREAMS_ODS_DB_LIST[@]}
        for ORACLE_SID in `echo ${STREAMS_ODS_DB_LIST[@]}`; do
                if [[ `ps -ef | grep "ora_smon_${ORACLE_SID}" | grep -v 'grep' | wc -l |awk '{ print $1 }'` != 0 ]]; then
                ORAENV_ASK=NO
                export ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
                export ORACLE_SID=$ORACLE_SID
                export PATH=${ORACLE_HOME}/bin:${PATH}
                LIBPATH=${ORACLE_HOME}/lib
                echo "Deleting Logs For SID : ${ORACLE_SID} ...."
                if [[ ${ORACLE_SID} == "nwe5o" ]]
                then
                DELNWE5O
                fi
                sqlplus -s '/as sysdba' <<EOF
                        SET PAGES 0 LINES 175 HEAD OFF FEED OFF
                        spool /users/oracle/Mani/delete_list_ods.sql
                        SELECT  --+ NO_MERGE(C)
                        'ALTER DISKGROUP ${ORACLE_SID}ARCH3  DROP FILE '''||R.NAME||'''; '
                        FROM DBA_REGISTERED_ARCHIVED_LOG R, DBA_CAPTURE C, V\$ASM_FILE F
                        WHERE R.CONSUMER_NAME = C.CAPTURE_NAME
                        AND R.NEXT_SCN < C.REQUIRED_CHECKPOINT_SCN
                        AND F.FILE_NUMBER = SUBSTR(R.NAME,INSTR(R.NAME,'.',1,1)+1,INSTR(R.NAME,'.',1,2)-INSTR(R.NAME,'.',1,1)-1)
                        AND F.INCARNATION = SUBSTR(R.NAME,INSTR(R.NAME,'.',1,2)+1);
                        spool off
                        EXIT
EOF

I tried just putting return 0 in the function and the script runs. So i believe the issue in the function code.

Code:
function DELNWE5O {
                return 0
}

Please let me know your suggestion.

Thanks,
Mani
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

KSH Scripting

Will a shell script written in shell for HP/UX run on Solaris? (1 Reply)
Discussion started by: dstaller
1 Replies

2. Shell Programming and Scripting

Need help with KSH scripting

Hi I need to insert a page break into a file based on matching a phrase in the file. :confused: I am doing this with a ksh script on a Unix box. Any help would be greatly appreciated. Thanks (5 Replies)
Discussion started by: scrappycc
5 Replies

3. Shell Programming and Scripting

ksh scripting help

I have the file as below server1 no dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server2 no dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server3 yes dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server4 ... (1 Reply)
Discussion started by: praveenbvarrier
1 Replies

4. Shell Programming and Scripting

ksh scripting help needed.

I am trying to create a script to manipulate numerous file and at first I thought it would be a simple task but at this point i am ready to break my computer! I am new to unix scripting so hopefully someone out there thinks this is super easy and can help me out! A sample of the problem file is... (2 Replies)
Discussion started by: theqcup
2 Replies

5. Shell Programming and Scripting

Problem with Ksh scripting

Hi, Below is the code for my script #!/bin/ksh for file in "file1.txt" "file2.txt" "file3.txt" "file4.txt" do L="$(tail -1 $file)" NUM=${L%%|*} DAT=${L##*|} echo $NUM echo $DAT done Now here,suppose for file1.txt L will have data like 56|06-07-2010 So, it should be (7 Replies)
Discussion started by: fidelis
7 Replies

6. Shell Programming and Scripting

Help with ksh scripting in AIX

I am looking for a script which does the following Script will run daily. 1.It will get snapshot off all filesystems including nfs mounts, automounts and clearcase mounts. 2.Then it will compare new snapshot with the snapshot created in the previous run. 3.If filesystem exists in... (20 Replies)
Discussion started by: saidiya
20 Replies

7. Shell Programming and Scripting

Help needed in ksh scripting

I got a task to do today, I want to write a script for the following 1) Archive log more than 2 days old 2) Number of days the current Archive logs present 3) Total number of archive logs 4) Size of each archive log 5) When was last successful backup happened? Can I get a general script... (8 Replies)
Discussion started by: Rambo
8 Replies

8. Shell Programming and Scripting

help in ksh scripting in aix

Hello gurus I am looking for a script : We need to generate a file list created by user id on a AIX box. Criteria 1: other than userid : dwimpid & aiadmin Criteria 2: Files older than 2 months ( it can be any user id ). File Path to Look: /project and /project1 Thx silu (7 Replies)
Discussion started by: silu
7 Replies

9. Shell Programming and Scripting

help with ksh shell scripting

I want to run a script that checks the env to see if I'm in a test or prod environment. From the command line I enter echo $host and it returns host name and I can tell by the name if I'm in test or prod. When I run the command from a script I get "not found" What's wrong with the script? if ... (2 Replies)
Discussion started by: Bperl1967
2 Replies

10. Shell Programming and Scripting

KSH scripting

Hi Guys, I am trying to learn to script. first I have 2 server, A and B. A with IP 192.168.82.22. B with IP 192.168.82.44. Both with login user admin and password admin. server A will generate a file every day with name gg.log under /app/gg/20171002.log. I wish to write a script to copy the... (7 Replies)
Discussion started by: leecopper
7 Replies
All times are GMT -4. The time now is 01:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy