使用数据泵从HP-UNIX备份Oracle10g数据到Windows Server2019的E:\backup目录

       最近需要把整个系统平台迁移的新服务器上,包括数据库,数据库软件要从Oracle10G升级到11G,因为新服务器没有到位,且数据库备份迁移需要几天的时间,所以打算提前把数据库备份出来,原服务器(HP小型机,HP-UNIX操作系统)磁盘空间远远不够本地备份使用了,信息中心提供了一台pc机供数据备份使用,为了快速备份出数据库采用的是数据泵的本分方式:

创建本分目录:

CREATE DIRECTORY back_dir AS 'E:\backup';

检查备份目录是不是创建成功:

SELECT * FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='BACK_DIR';

注意:DIRECTORY_NAME要大写才能查到。

给备份用户授权读写备份目录:
GRANT read,write ON DIRECTORY back_dir TO SYSTEM;

按照数据泵的备份操作了几次都是出现一下错误提示:

ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 488
ORA-29283: invalid file operation

但是使用传统的exp命令备份是正常可以备份,只是备份就需要7、8天时间,还原又得7、8天,没那么多时间,所以只能继续研究数据泵本分。重点是:ORA-39070: Unable to open the log file.说明备份目录权限的问题,不能访问,写入不了数据。网上找了很多资料都是数据泵在本机上备份的,那可能是数据库不能访问异地的备份目录,于是就想尝试在服务器上临时扩容,但是去机房看了下小机,结果是连USB接口都没有,移动硬盘都插不上去。现在只有一条解决方法了:远程挂载备份服务器上E盘的backup目录,尝试了下成功了。详细做法如下:

一、在Windows2019服务器上设置nfs共享E:\backup目录:

1、创建nfs服务器

然后下一步知道安装完毕。

2、设置共享目录

3、验证备份用的pc机的backup在数据库服务器能不能挂载或者看见:

showmount -e 备份机的IP

本例中的显示操作结果如下:

这种能显示出来备份机(Windows PC)上的备份目录,说明Windows上的共享目设置成功了。

4、原服务器(HP小机)上远程挂载备份机(Windows PC)上的backup目录

a、在HP小机上创建挂载点,并修改组和用户及权限

mkdir /dev/backup

chown -R newowner:newgrp /dev/backup

chom 777 /dev/backup

最后检查下创建修改的结果: ll /dev

b、远程挂载Windows PC上的共享备份文件夹backup

mount -F nfs Windows PC IP:/backup /dev/backup

检查是否挂载成功:ls /dev/backup

如上图所示能够显示Windows PC backup目录中的文件,就说明挂载成功了。

到此远程挂载备份目录设置完成,然后就可以重新创建数据泵的备份目录和设置权限备份数据了。


CREATE DIRECTORY back_dir AS '/dev/backup';
GRANT read,write ON DIRECTORY back_dir TO SYSTEM;

备份数据:expdp username/password@server directory=back_dir full=y dumpfile=***.dmp logfile=***.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值