OracleEXP和IMP用法和介绍(4)

来源:asp之家 时间:2010-07-28 13:18:00 

备份例子3:联机全库备份数据

#!/usr/local/bin/bash

first_msg()
{
echo "******************************************************"
echo "   "
echo "The batch process JOB_BACKUP_FULL is starting at [ 'date' ]"
echo "Excuting by LogName = [ $LOGNAME ]"
echo " "
}


final_msg()
{
echo " "
echo "The batch process JOB_BACKUP_FULL completed at [ 'date' ]"
echo "Excuting by LogName = [ $LOGNAME ]"
echo ">>>>> Please Make Sure That It Has Been Done Successfully, "
echo ">>>>> Otherwise You Must Re-do It."
echo " "
echo "******************************************************"
}

#**************************
#* backup_begin *
#**************************
backup_begin()
{
echo "alter tablespace $1 begin backup;" > $TMP_SQL
sqlplus -s $USER_PASSWD <start $TMP_SQL
EOF
if [ $? != 0 ]
then
return $FAIL
fi
return $SUCCESS
}

#**************************
#* backup_end *
#**************************
backup_end()
{
echo "alter tablespace $1 end backup;" > $TMP_SQL
sqlplus -s $USER_PASSWD <start $TMP_SQL
EOF
if [ $? != 0 ]
then
return $FAIL
fi
return $SUCCESS
}

#********************************
# Main *
#********************************
USER_PASSWD=system/system
BACKUP_DEST=$BACKUP_PATH/full
DEVICE=/dev/rmt/ctape1
BACKUP_CFG=$TRC/backup.cfg
TRC_FILE=$TRC/BACKUP_FULL
TMP_SQL=$TRC/backup_full_tmp.sql
SUCCESS=0
FAIL=1

first_msg
rm -f $BACKUP_CFG
sqlplus -s $USER_PASSWD </dev/null
set heading off;
set term off;
set echo off;
set pagesize 0;
set linesize 1000;
set trimspool on;
set trimout on;
set feedback off;
set colsep =;
spool $TRC/backup.spl;
select tablespace_name,file_name from dba_data_files order by tablespace_name,fi
le_name;
spool off;
exit
EOF
tr -d ' ' <$TRC/backup.spl >$BACKUP_CFG


rm -f $TRC_FILE
if [ ! -f $BACKUP_CFG ]
then
echo "备份配置文件缺失" >$TRC_FILE
echo "$BACKUP_CFG not found"
exit
fi
mkdir -m 777 -p $BACKUP_DEST
if [ ! -d $BACKUP_DEST ]
then
echo "备份目录创建失败" >$TRC_FILE
echo "$BACKUP_DEST create fail"
exit
fi
cd $BACKUP_DEST
rm -f *

#*******************************
# backup control file *
#*******************************
echo "=========================================="
echo "正在备份控制文件" > $TRC_FILE
echo "Backup control begin on [ 'date' ]"
echo "alter database backup controlfile to '$BACKUP_DEST/control.ctl';" > $TMP_SQL
sqlplus -s $USER_PASSWD <start $TMP_SQL
EOF
if [ $? != 0 ]
then
echo "备份控制文件失败" > $TRC_FILE
echo "Backup control file fail"
exit
fi
echo "Backup control end on [ 'date' ]"

#*******************************
# backup tablespaces *
#*******************************
TABLESPACES='cut -d= -f1 $BACKUP_CFG|uniq'
for tablespace in $TABLESPACES
do
echo "=========================================="
echo "正在备份$tablespace" > $TRC_FILE
echo "Backup $tablespace begin on [ 'date' ]"
backup_begin $tablespace
if [ $? != 0 ]
then
echo "备份$tablespace失败" > $TRC_FILE
echo "Turn on backup option of $tablespace fail"
exit
fi
DATAFILES='awk -v var=$tablespace -F = '$1==var {print $2}' $BACKUP_CFG'
for datafile in $DATAFILES
do; if [ ! -r $datafile ]
then
backup_end $tablespace
echo "备份$tablespace失败" > $TRC_FILE
echo "$tablespace:$datafile unreadable"
exit
fi
compress -c $datafile > $BACKUP_DEST/'basename $datafile'.Z
if [ $? != 0 ]
then
backup_end $tablespace
echo "备份$tablespace失败" > $TRC_FILE
echo "Backup $tablespace:$datafile fail"
exit
, fi
done
backup_end $tablespace
echo "Backup $tablespace end on [ 'date' ]"
done


#**************************
# tar files *
#**************************
echo "=========================================="
echo "正在备份至磁带" > $TRC_FILE
echo "tar to tape on [ 'date' ]"
cd $BACKUP_DEST
tar -cvf $DEVICE *
if [ $? != 0 ]
then
echo "备份至磁带失败" > $TRC_FILE
echo "tar to tape fail"
exit
fi
echo "tar to tape on [ 'date' ]"
echo "=========================================="

echo "全备份已完成" > $TRC_FILE
final_msg

标签:oracle,imp,用法
0
投稿

猜你喜欢

  • python+tifffile之tiff文件读写方式

    2022-03-16 13:17:41
  • 使用Kubernetes集群环境部署MySQL数据库的实战记录

    2024-01-14 15:30:16
  • ThinkPHP3.0略缩图不能保存到子目录的解决方法

    2024-04-30 08:47:06
  • Python Pillow Image Invert

    2023-10-02 12:33:30
  • 将imagenet2012数据为tensorflow的tfrecords格式并跑验证的详细过程

    2024-01-01 12:04:35
  • 浅谈mysql 树形结构表设计与优化

    2024-01-23 07:20:48
  • python完成FizzBuzzWhizz问题(拉勾网面试题)示例

    2022-01-31 14:41:11
  • 详解Python使用tensorflow入门指南

    2023-08-22 13:37:09
  • python笔记之使用fillna()填充缺失值

    2023-12-22 19:53:49
  • 详解解Django 多对多表关系的三种创建方式

    2021-03-13 04:59:16
  • JavaScript命令模式原理与用法实例详解

    2024-04-23 09:32:04
  • JavaScript的目的及历史

    2007-10-17 18:53:00
  • JS的Form表单转JSON格式的操作代码

    2023-07-02 05:24:03
  • Python实现从文件中加载数据的方法详解

    2022-05-28 12:41:31
  • 如何在mac下配置python虚拟环境

    2023-06-16 18:09:37
  • MySQL如何导入SQL数据库的实战举例

    2024-01-21 23:44:53
  • Python字典深浅拷贝与循环方式方法详解

    2022-08-04 08:52:25
  • Python的Django框架中设置日期和字段可选的方法

    2023-03-11 11:41:51
  • Bootstrap风格的WPF样式

    2024-05-02 17:32:17
  • vant中的toast轻提示实现代码

    2024-04-26 17:38:53
  • asp之家 网络编程 m.aspxhome.com