ftp设置二进制上传
一个不重要的数据库,备份是用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只能上传单个文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架