当前位置:首页>>开发编程>>数据库>>新闻内容
Oracle中EXP和IMP用法和介绍
作者: 发布时间:2005-8-30 13:26:20 文章来源:

exp  $USER_PASSWD  log=$(date  ’+%Y%m%d’).log  file=$(date  ’+%Y%m%d’).dmp  owner=dbuser 
buffer=4096000  rows=n
if  [  $?  !=  0  ]
then
        echo  "`date`  backup  exp  fail"  >>  $RESULTFILE
        exit
fi

rm  -f  tables.txt
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  tables.txt;
select  table_name  from  user_tables;
spool  off;
exit;
EOF

for  table  in  $(cat  tables.txt)
do
        exp  $USER_PASSWD  log=${table}_$(date  ’+%Y%m%d’).log  file
=${table}_$(date  ’+%Y%m%d’).dmp  tables=$table  direct=y
        if  [  $?  !=  0  ]
        then
                echo  "`date`  backup  exp  $table  fail"  >>  $RESULTFILE
                exit
        fi
done

compress  -f  *.dmp

echo  "`date`  backup  succeed"  >>  $RESULTFILE
 


备份例子2:联机日备份数据

#!/usr/local/bin/bash

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

final_msg()
{
        echo  "    "
        echo  "The  batch  process  BACKUP_DAILY  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  "*****************************************************"
}

#********************************
#                          Main                            *
#********************************
USER_PASSWD=system/system
ARCHIVE_DEST=/appl/oracle/oradata/orafe/arch
DEVICE=/dev/rmt/ctape1
TRC_FILE=$TRC/Z_JOB_BACKUP_DAILY
TMP_SQL=$TRC/backup_daily_tmp.sql
BACKUP_DEST=${BACKUP_PATH}/$(date  ’+%Y%m%d’)
SUCCESS=0
FAIL=1

first_msg
mkdir  -m  777  -p  $BACKUP_DEST
if  [  !  -d  $BACKUP_DEST  ]
then
        echo  "$BACKUP_DEST  create  fail"
        exit
fi

#*******************************
#            backup  archive  log            *
#*******************************
echo  "=========================================="
echo  "Backup  archive  log  begin  on  [  ’date’  ]"
echo  "alter  system  archive  log  stop;"  >  $TMP_SQL
sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
if  [  $?  !=  0  ]
then
        echo  "alter  archive  log  stop  fail"
        exit
fi
cd  $ARCHIVE_DEST
FILE_QT=’ls|grep  -c  "arch*"’
FILE=’ls|grep  "arch*"’

echo  "alter  system  archive  log  start;"  >  $TMP_SQL
sqlplus  -s  $USER_PASSWD  <start  $TMP_SQL
EOF
if  [  $?  !=  0  ]
then
        echo  "alter  archive  log  start  fail"
        exit
fi
if  [  $FILE_QT  !=  0  ]
then 
        mv  -f  $FILE  $BACKUP_DEST
        cd  $BACKUP_DEST
        compress  -f  *
        tar  -cvf  $DEVICE  *
        if  [  $?  !=  0  ]
        then
                echo  "tar  to  tape  fail"
                exit
        fi
fi
echo  "Backup  archive  log  end  on  [  ’date’  ]"
echo  "=========================================="
final_msg

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

 


[首页]    [上一页]    [下一页]    [末页]    
最新更新
·SQL Server 2005删除用户失败
·SQL Server中删除重复数据的
·经典SQL语句大全
·SQL Server 2005与ASP.NET/A
·三种查看MySQL数据库版本的方
·SQL Server 2005 Express 远
·启用SQL Server 2005 Expres
·Windows下如何安装或卸载MyS
·解决MySQL5数据库连接超时问
·清除SQL Server日志的两种方
相关信息
·2008主流数据库产品回顾与展望
·安装Oracle后配置和启动企业管理器的方法
·简单介绍Oracle 9i的16种数据类型
·如何在Oracle中导入dmp数据库文件
·把Oracle查询转换为SQL Server
·轻松修改Oracle数据库表的大小
·实例讲解Oracle里抽取随机数的多种方法
·Oracle在Linux操作系统下的安装小结
·用Oracle8i修复数据库坏块的三种方法
·在Oracle中导出、导入dmp数据库文件
画心
愚爱
偏爱
火苗
白狐
画沙
犯错
歌曲
传奇
稻香
小酒窝
狮子座
小情歌
全是爱
棉花糖
海豚音
我相信
甩葱歌
这叫爱
shero
走天涯
琉璃月
Nobody
我爱他
套马杆
爱是你我
最后一次
少女时代
灰色头像
断桥残雪
美了美了
狼的诱惑
我很快乐
星月神话
心痛2009
爱丫爱丫
半城烟沙
旗开得胜
郎的诱惑
爱情买卖
2010等你来
我叫小沈阳
i miss you
姑娘我爱你
我们都一样
其实很寂寞
我爱雨夜花
变心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK绷
贝多芬的悲伤
哥只是个传说
丢了幸福的猪
找个人来爱我
要嫁就嫁灰太狼
如果这就是爱情
我们没有在一起
寂寞在唱什么歌
斯琴高丽的伤心
别在我离开之前离开
不是因为寂寞才想你
爱上你等于爱上了错
在心里从此永远有个你
一个人的寂寞两个人的错