一个不重要的数据库,备份是用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. 【JAVA基础&Python】静态/非静态代码块

    /* * * static静态代码块: * 调用静态属性的时候 对应类里面的静态代码块就会被直接执行 * 注意: 只会执行一次,只能调用类内静态结构的(方法/属性) * 作用: 初始化类的属性 * * ...

  2. spring boot 项目使用idea正常打包后执行总是出现异常,解决办法

    众所周知,spring boot 在构建项目时,确实为Java程序员们省了不少力气,打包项目非常容易. 上周在项目中遇到打包后的项目总是无法运行,困扰了我们团队将近两天才找到原因. 图和真相在这里.

  3. js下 Day02、DOM文档对象模型

    一.DOM简介 Document Object Model 文档对象模型 DOM包含了所有HTML元素的属性和方法,以及访问他们的方式: #二.DOM节点 #1. 什么是节点? HTML中所有的元素都 ...

  4. ubuntu20.04 LTS 更换国内163源、阿里源、清华源、中科大源

    Ubuntu 20.04 是 Ubuntu 的第 8 个 LTS 版本,其重大更新和改进将在 2030 年前终止,计划于2020年 4 月 23 日发布. 国内有很多Ubuntu的镜像源,有阿里的.网 ...

  5. 如何修改openstack虚拟机密码

    1.虚拟机创建时设置密码 计算节点安装以下软件包 yum install libguestfs python-libguestfs libguestfs-tools-c 配置计算节点nova配置文件/ ...

  6. python装饰器学习详解-函数部分

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 最近阅读<流畅的python>看见其用函数写装饰器部分写的很好,想写一些自己的读书笔记. ...

  7. Mysql5.7.20安装手记

    Mysql到5.7之后安装较之前有了很大的不同,特别是解压缩版,可能安装速度较之前有所减少,但对于我们这种一直使用5.5的我来说不知道步骤还真是挺费劲的.下面详细记一下我安装的过程. 1.下载mysq ...

  8. python解压可迭代对象赋值给多个变量

    如果一个可迭代对象的元素个数超过了变量的个数,会出现"解压值太多"的异常,python提供*号表达式(码夫破石的理解)来解决. 1,求一组平均值,就以类似学生成绩为例,要求是去掉第 ...

  9. net core cap结合redis+数据库实现最终一致性

    CAP 同时支持使用 RabbitMQ,Kafka,Azure Service Bus 等进行底层之间的消息发送. CAP 目前支持使用 Sql Server,MySql,PostgreSql,Mon ...

  10. flowable获取上级主管

    //主管 Dept managerDept = deptUserUtil.getManagerDept(bean.getCreateDept(),bean.getCreateUser()); //上级 ...