vi backup_schema.sh
#!/bin/sh
# Prompt for user input for Schema name, Oracle SID, and Oracle Home
read -p "Enter schema name: " schema_name
read -p "Enter ORACLE_SID: " ORACLE_SID
read -p "Enter ORACLE_HOME path: " ORACLE_HOME
# Validate the inputs
if [ -z "$schema_name" ] || [ -z "$ORACLE_SID" ] || [ -z "$ORACLE_HOME" ]; then
echo "All inputs (schema name, ORACLE_SID, ORACLE_HOME) are required. Exiting..." >> nohup.out
exit 1
fi
# Set environment variables
export ORACLE_SID
export ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib:/usr/ccs/bin:$ORACLE_HOME/OPatch
DATEFORMAT=`date +%Y%m%d`
# Data Pump export command
echo "Starting backup for schema $schema_name at $(date)" >> nohup.out
expdp \"/ as sysdba\" directory=OBACKUP dumpfile=expdp_${schema_name}_`echo $DATEFORMAT`.dmp logfile=expdp_${schema_name}_`echo $DATEFORMAT`.log schemas=$schema_name parallel=8 cluster=n flashback_time=systimestamp >> nohup.out 2>&1
# Check if the expdp command was successful
if [ $? -eq 0 ]; then
echo "Backup of schema $schema_name completed successfully at $(date)." >> nohup.out
else
echo "Backup failed for schema $schema_name. Please check the log file for details." >> nohup.out
exit 1
fi
How to run the script ?
$ ./backup_schema.sh
Enter schema name: HR
Enter ORACLE_SID: orcl
Enter ORACLE_HOME path: /u01/app/oracle/product/12.2.0.1/dbhome_1
No comments:
Post a Comment