一个不重要的数据库,备份是用expdp导出,然后上传到ftp服务器上面。上周这个主机宕机了,要在别的数据库恢复,发现报如下错误:

ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31619: invalid dump file "/xxx/xxx/xxx.dmp"

然后查了一下资料,出现这种情况,一般是导出数据库的版本和导入数据库的版本不一致导致的,然后查看导出文件的版本

strings xxxxx.dmp|head -n 10
#xxxx.dmp为导出文件
"SYS"."SYS_EXPORT_FULL_01"
x86_64/Linux 2.4.xx
tsurbob
AL32UTF8
11.02.00.04.00
001:001:000001:000001

根据上面的信息,可以看到导出文件是11204的,也没有问题。

在查资料,有写到ftp上传的时候可以使用ascll和binary两种方式。使用ascll可能会导致文件变化

这时候机器也修好了,测试了一个文件的上传,发现上传到主机的文件的md5值和本地的md5值完全不一样,测试使用二进制上传后,md5相同,可以确定是上传方式导致的

修改后的脚本:

#!/bin/bash
source ~/.bash_profile #########################################################
echo 'Start Time ------------>' `date`
day=`date +%Y%m%d%H%M`
flag=0
for db in {DB01,DB02,DB03}
do
export ORACLE_SID=$db
echo "#################${ORACLE_SID} is expdpping###############"
expdp "'/ as sysdba'" directory=EXP_SCHEMABAK_TOFTP dumpfile="$db"_schemabak_"$day".dmp logfile="$db"_schemabak_"$day"
.log full=y content=metadata_only
echo "#################${ORACLE_SID} have done##################"
let flag+=1
done
echo "#################expdp total:${flag}######################"
########################################################
echo '------ftp and delete-------'`date` cd /oradata01/expdata/schema_bak
find ./ -name "*.dmp" -mtime +6 -exec rm -rf {} \;
find ./ -name "*.log" -mtime +6 -exec rm -rf {} \;
ftp -niv <<EOF
open XXX.XXX.XXX.XXX
user USERNAME PASSWORD
binary
cd /Data/zz_dmp/backfor89/
mput *_schemabak_$day.dmp
quit
EOF
echo 'End Time ---------------->'`date`

在ftp上传块中加入binary,显示制定上传方式为二进制。mput可以上传多个文件,put只能上传单个文件。

ftp设置二进制上传的更多相关文章

  1. 通过Ftp put命令上传导致文件损坏的解决办法

    通过Linux命令行向在一台Windows FTP服务器上传文件.然后在另一台Windows客户机登录FTP服务器下载,但是下载后的文件大小变了,exe文件错误了不能正确执行.刻意打包的文件(.rar ...

  2. 通过JMeter来测试Quick Easy FTP Server的上传与下载性能

    FTP性能测试 1.1背景说明 本测试选用的是一个小型的FTP服务器软件:Quick Easy FTP Server.Quick Easy FTP Server是一个全中文的FTP服务器软件,反应迅速 ...

  3. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  4. 【ABAP系列】SAP ABAP 实现FTP的文件上传与下载

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 实现FTP的文 ...

  5. java实现ftp文件的上传与下载

    最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...

  6. IIS 7 中设置文件上传大小的方法

    在IIS 6.0中设置文件上传大小的方法,就是配置如下节点: <system.web> <httpRuntime maxRequestLength="1918200&quo ...

  7. <实训|第四天>Linux下的vim你真的掌握了吗?附上ftp远程命令上传。

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

  8. linux 下ftp几种上传和下载方式

    1. ftp自动登录批量下载文件. 复制代码代码如下: #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<& ...

  9. C#实现FTP文件的上传、下载功能、新建目录以及文件的删除

    本来这篇博文应该在上周就完成的,可无奈,最近工作比较忙,没有时间写,所以推迟到了今天.可悲的是,今天也没有太多的时间,所以决定给大家贴出源码,不做详细的分析说明,如果有不懂的,可以给我留言,我们共同讨 ...

随机推荐

  1. html2canvas使用心得

    近两年做了几次微信H5活动的开发,为了达到传播分享的效果,通常最终都需要生成个性化的图片,供用户长按保存分享,在这里就把自己的一些使用心得记录下来,供其他小伙伴借鉴. 这里备注一下,我目前用的是  h ...

  2. AWT03-LayoutManager布局管理器

    1.LayoutManager布局管理器 在之前的学习中,我们使用setBounds()方法设置容器的位置大小,但我们不得不明白一件事--如果我们手动为容器设置位置大小的话,就会造成程序通用性的下降. ...

  3. 冰河,能不能讲讲如何实现MySQL数据存储的无限扩容?

    写在前面 随着互联网的高速发展,企业中沉淀的数据也越来越多,这就对数据存储层的扩展性要求越来越高.当今互联网企业中,大部分企业使用的是MySQL来存储关系型数据.如何实现MySQL数据存储层的高度可扩 ...

  4. C++ static 数据成员和构造函数

    #include<iostream> using namespace std; class Temp { int x; static int y; //y = 4; public: Tem ...

  5. 基于 WebRTC 的 RTSP 视频实时预览

    简介 背景 由于项目需要,需要使用摄像头预览功能,设备型号为海康威视.目前已存在的基于 FFmpeg 的方案延迟都太高,所以项目最终选择基于此方案. 方案 方案选用为基于 WebRTC 的视频即时通讯 ...

  6. H3C S5120V2-SI 交换机配置

    连接终端线 可以看到开机信息 ......................................................................Done. System is ...

  7. linux不同环境变量文件的比较,如/etc/profile和/etc/environment

    /etc/profile 为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效. 当被修改时,必须重启才会生效.英文描述:"System w ...

  8. 学习Promise异步编程

    JavaScript引擎建立在单线程事件循环的概念上.单线程( Single-threaded )意味着同一时刻只能执行一段代码.所以引擎无须留意那些"可能"运行的代码.代码会被放 ...

  9. Kali实现靶机远程控制

    任务一.使用netcat建立监听并连接 1.          在ubuntu开启本地监听,在kali中连接 2.          在kali中开启监听,在ubuntu中反弹连接 任务二.使用met ...

  10. mysql组合索引之最左原则

    为什么在单列索引的基础上还需要组合索引? select product_id from orders where order_id in (123, 312, 223, 132, 224); 我们当然 ...