ftp传输数据文件脚本

来源:互联网 发布:centos下安装图形界面 编辑:程序博客网 时间:2024/06/06 18:38

控制文件先ftp过来,启动到mount状态

export RESULTFILE=/home/oracle/ftp/ftp.log
sqlplus -s "/ as sysdba" <<EOF >/dev/null
set echo off
set feedback off
set heading off
set pagesize 0
set linesize 1000
set trimspool on
spool dbfiles.txt
select name dbfile from v$datafile
union
select member dbfile from v$logfile
union
select name dbfile from v$tempfile;
spool off;
set echo on
set feedback on
set heading on
exit;
EOF

for dbfile in $(cat dbfiles.txt)
do
  gzip $dbfile
ftp -in 10.203.68.7 <<EOF
user oracle 1qaz2wsx
put $dbfile.gz
bye
EOF
done
echo "`date`ftp succeed" >> $RESULTFILE


1 生成需要传输的数据库文件

sqlplus -s "/ as sysdba" <<EOF >/dev/null
set echo off
set feedback off
set heading off
set pagesize 0
set linesize 1000
set trimspool on
spool dbfiles.txt
select name dbfile from v$datafile
union
select member dbfile from v$logfile
union
select name dbfile from v$tempfile;
spool off;
set echo on
set feedback on
set heading on
exit;
EOF


2 关闭源数据库,改名spfile(防止意外重启数据库)
3 压缩传输脚本(控制文件手动传输)
export RESULTFILE=/home/oracle/ftp/ftp.log
for dbfile in $(cat dbfiles.txt)
do
  gzip $dbfile
ftp -in 10.203.68.7 <<EOF
user oracle 1qaz2wsx
put $dbfile.gz
bye
EOF
done
echo "`date`ftp succeed" >> $RESULTFILE

4 传输完毕后,目标端解压数据库文件

export RESULTFILE=/home/oracle/ftp/ftp.log
for dbfile in $(cat dbfiles.txt)
do
  gunzip $dbfile.gz
done
echo "`date`gunzip succeed" >> $RESULTFILE

 

5 启动数据库检查

 

原创粉丝点击