网络编程
位置:首页>> 网络编程>> 数据库>> OracleEXP和IMP用法和介绍(4)

OracleEXP和IMP用法和介绍(4)

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

标签:oracle,imp,用法

备份例子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

0
投稿

猜你喜欢

  • 在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种
  • 看一个网站其实就好比品评一个美女。一看长相,我们很多时候关注的是视觉,比如老板经常会说,你做几个页面让我看看!二看身材,也有很多关注标准和s
  • 很多人在使用AJAX调用别人站点内容的时候,JS会提示"没有权限"错误,这是XMLHTTP组件的限制-安全起见禁止访问非
  • 第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -
  • 我是从去年初开始学习web标准的,两年下来也有些心得。最近跳槽了正好闲在家里,写一些出来和大家交流一下。1对于web标准和W3C XHTML
  • Translate From:stevesouders原文:高性能网站设计:不要使用@import在高性能网站设计的第五章,我简要的提到@i
  • 我是一个初入互联网的视觉设计师,和以往做设计感受最大的不同就是:一个设计的最终定稿会受到多方面的挑战,有来自产品经理的,来自开发的,来自测试
  • 某些情况下:我们希望在一个SQL Server下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成
  • 事实上各式Tooltips方法非常多. 不过大部分都是用Javascript实现.例如ikshow.cn, 使用的JavaScript, D
  • 可以不依靠DSN,但又可以在数据库连接字符串中指定驱动程序、服务器名字、数据库、数据库账号和密码吗?可以。在SQL Server 7,使用这
  • 代码如下:<% class MyClass Dim var '公共变量必须使
  • 使用了application及结合数据库来保存统计数据 <html><head><title>
  • 随着网络的发展,人们通过各种方式使用它。今天,网络购物,跟朋友或者不认识的人聊天,管理银行账户,以及一些日常应用,共享照片或视频,等等。事实
  • 一、 简单查询简单的Transact-SQL查询只包括选择列表、FROM子句和Where子句。它们分别说明所查询列、查询的表或视图、以及搜索
  • 这是base2的作者Dean Edwards 2007年3月份的一篇文章。最近正在折腾JavaScript库,感觉Dean给出的这些规则很中
  • 在 PHP 中表示空的map或空数组都是以空数组形式,在转化为json数据时,会将空数组统一 json 序列化成 [],这样就存在
  • 在ASP中,直接使用“Insert into” 语句与使用ADO中AddNew方法有什么区别?哪一种更好呢?AddNew方法的实质就是封装了
  • 我们经常会在登录一个网站的时候被引导页挡住前进的脚步,这一点在上个世纪到本世纪初的网站中尤其明显,特别是在企业网站里,几乎每个企业网站都会有
  • 没事在这里发一下关于数据库大批量插入数据的效率对比,用ACCESS和MSSQL,数值是在本机测试,根据不同的环境和配置,数值可能会有较大差别
  • 今天在网上找了一下Microsoft Enterprise Library 5.0 如何集成MySQL数据库, 结果只找到了entlib 4
手机版 网络编程 asp之家 www.aspxhome.com