# 关于通过dblink和expdp进行数据库备份的操作步骤 通过dblink备份数据库 ### 文档约定 主服务器数据库为源数据库,客户端服务器数据库为目的数据库,源数据库IP地址为:192.168.117.216 ### 文档目的 实现在异机上通过expdp的方式进行ORACLE数据库的数据导出。 ### 操作步骤 **第一步:** 在目的数据库中的tnsnames.ora配置文件中,配置源数据库的服务映射,如下图所示:  ``` ORCL216 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.117.216)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ``` **第二步:** 在目的数据库中的listener.ora配置文件中,配置对源数据库的监听,如下图所示: > 如果是创建DBLink的时候指定则可以不用修改配置文件  **第三步:** 测试目的数据库对源数据库的连通性。 **第四步:** DBA用户授予目的数据库普通用户db_username创建dblink 的权限 ```sql grant create database link to db_username; ``` **第五步:** 使用目的数据库的db_username用户登录到数据库系统中 **第六步:** 在目的数据库中创建源数据库的dblink ```sql drop database link link_hsap; create database link link_hsap connect to username identified by password using 'ORCL216'; link_hsap:为目的数据库对源数据库建立起的名称(可任意) username:为源数据库的用户名称 password:为源数据库的用户密码 ORCL216:为第一步建立起的服务映射名称 ``` 此处创建的是此用户私有的dblink,添加public可以创建公有的dblink。 ``` drop public database link link_hsap; CREATE PUBLIC database link link_hsap CONNECT TO username IDENTIFIED BY "password" using '(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.117.216)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))'; ``` > link_hsap:为目的数据库对源数据库建立起的名称(可任意) > username:为源数据库的用户名称 > password:为源数据库的用户密码 > host:为远数据库的IP > orcl:为源数据库的服务名 **第七步:** 测试源数据库的dblink是否正确 ```sql select * from username.tsys_user@link_hsap -- 测试是否可以查询到源库的数据 link_hsap:为目的数据库对源数据库建立起的名称 username:为源数据库的用户名称 ``` NOTE: ```sql select * from dba_db_links; ``` **第八步:** 在目的数据库中创建保存备份数据文件的目录 ```sql create directory HSAP_DUMP as 'C:/APDataBaseUpFile/'; ``` NOTE: ```sql select * from dba_directories; ``` **第九步:** 测试在目的数据中通过dblink和expdp的方式进行备份源数据库 ```bash expdp db_username/password@orcl directory=HSAP_DUMP network_link=link_hsap dumpfile=exp_link_hsap.dmp logfile=expdp.log reuse_dumpfiles=y db_username:目的数据库用户名称 password:目的数据库用户密码 directory:保存数据文件的目录名称 network_link:目的数据库对源数据库建立起的名称 dumpfile:备份文件名称 logfile:备份日志文件 reuse_dumpfiles:是否覆盖重名备份文件 ``` * * * ### 参考资料 > [http://blog.itpub.net/24862808/viewspace-717497/](http://blog.itpub.net/24862808/viewspace-717497/) > [http://blog.itpub.net/196700/viewspace-719427/](http://blog.itpub.net/196700/viewspace-719427/) > [http://blog.itpub.net/29424472/viewspace-1212802/](http://blog.itpub.net/29424472/viewspace-1212802/)