欢迎光临
我们一直在努力

expdp+dblink 实现远程备份,特别实用


很多情况下,本地空间不够用,还想备份怎么办,有人说在生产系统挂载一块盘,其实大可不必,expdp+dblink帮你搞定!


一、测试环境描述

服务器端:Oracle 11g rac

客户端:Oracle 11g 单实例

二、操作步骤

1. 客户端配置

$ cd $ORACLE_HOME/network/admin

$ vi tnsnames.ora

ysdb1 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.31)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = ysdb)

    )

  )

 

2. 客户端创建dblink(sys用户创建)

 CREATE PUBLIC DATABASE LINK “ysdb1”

    CONNECT TO system

    IDENTIFIED BY “oracle”

    USING ‘ysdb1’;

 

3. 客户端验证

SQL> select * from dual@ysdb1;

D

X

 

4. 创建目录

$sudo mkdir /backup

$sudo chown -R oracle:oinstall /backup

set lines 120

col owner for a15

col directory_name for a30

col DIRECTORY_PATH for a60

select * from dba_directories;

create directory dump_dir as ‘/backup’;

grant read,write on directory dump_dir to system;

 

5. 备份

vi expdp.sh

nohup expdp system/oracle directory=dump_dir dumpfile=roidba_%U.dmp logfile=roidba_expdp.log  network_link=’ysdb1′ schemas=roidba parallel=4 cluster=n COMPRESSION=all reuse_dumpfiles=y encryption=data_only encryption_password=roidba_passwd filesize=30G &

sh expdp.sh 

小结:Oracle 数据库的数据泵备份还是相当的好用,参数比较多,但是每个参数都值得我们去仔细的去测试,对于数据库备份加密,从安全的角度来说,我们应该这么做,但是实际环境下,大家确很少用。生产环境700多G得数据量还在跑着备份脚本,我只好写点东西,不能浪费时间不是。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。