Oracle Shell Scripting
This article presents some some basic techniques for creating Windows batch files and UNIX/Linux shell scripts that connect to SQL*Plus and RMAN.
oracle miscconfigurationintermediate
by OracleDba
15 views
This article presents some some basic techniques for creating Windows batch files and UNIX/Linux shell scripts that connect to SQL*Plus and RMAN.
1234567891011121314151617
CONNECT scott/tiger
SPOOL C:\emp.lst
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM emp;
SPOOL OFF
EXIT;
sqlplus /nolog @C:\emp.sql
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
}
EXIT;
rman target=/ @cmdfile.txt1234567891011121314151617
@"
CONNECT scott/tiger
SPOOL /u01/emp.lst
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM emp;
SPOOL OFF
EXIT;
"@ | sqlplus.exe /nolog
@"
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
}
EXIT;
"@ | rman target=/1234567891011121314151617181920212223
CONNECT scott/tiger
SPOOL /u01/emp.lst
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM emp;
SPOOL OFF
EXIT;
#!/bin/ksh
sqlplus /nolog @/u01/emp.sql
chmod u+x /u01/get_emp.ksh
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
}
EXIT;
#!/bin/ksh
rman target=/ @/u01/cmdfile.txt
chmod u+x /u01/backup.ksh1234567891011121314151617181920212223
#!/bin/ksh
sqlplus /nolog << EOF
CONNECT scott/tiger
SPOOL /u01/emp.lst
SET LINESIZE 100
SET PAGESIZE 50
SELECT *
FROM emp;
SPOOL OFF
EXIT;
EOF
chmod u+x /u01/get_emp.ksh
#!/bin/ksh
rman target=/ << EOF
RUN {
BACKUP DATABASE PLUS ARCHIVELOG;
}
EXIT;
EOF
chmod u+x /u01/backup.ksh123456789101112
#!/bin/bash
RETVAL=`sqlplus -silent scott/tiger <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT * FROM emp;
EXIT;
EOF`
if [ -z "$RETVAL" ]; then
echo "No rows returned from database"
exit 0
else
echo $RETVAL
fi123456789101112131415161718192021222324252627282930313233343536
# Environment variables necessary for Oracle Instant Client
export LD_LIBRARY_PATH=/home/tomcat/scripts/instantclient_11_2
export PATH=$PATH:$LD_LIBRARY_PATH
function check_db {
CONNECTION=$1
RETVAL=`sqlplus -silent $CONNECTION <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT 'Alive' FROM dual;
EXIT;
EOF`
if [ "$RETVAL" = "Alive" ]; then
DB_OK=0
else
DB_OK=1
fi
}
scriptPath=${0%/*}
source $scriptPath/check_db.sh
CONNECTION="up_check_user/password@//hostname:1523/service"
echo "Wait until DB is up"
check_db $CONNECTION
while [ $DB_OK = 1 ]
do
echo "DB not up yet. Sleeping for 5 mins (CTRL+C to exit)"
sleep 300
check_db $CONNECTION
done
echo "Starting"
echo "DEV: /u01/dev"
/u01/dev/bin/tomcat startPlease to add comments
No comments yet. Be the first to comment!