https://www.jianshu.com/p/1732eb0efdfe
本地导出:
1、创建逻辑目录 expdp_bak_dir
首先创建真实目录 /home/oracle/backup
SQL> create directory expdp_bak_dir as '/home/oracle/backup';
Directory created.
2、查看管理员目录,检查是否存在
select * from dba_directories;
用sys管理员给你的指定用户赋予在该目录的操作权限
SQL> grant read,write on directory expdp_bak_dir to system;
Grant succeeded.
3、导出数据库
123456 // 密码
orcl // 服务名
user //数据库名称
user_tables.dmp // 导出的文件名
expdp_bak_dir // 导出的路径【
设置的数据库文件夹变量】user_tables.log // 日志输出文件
impdp system/123456 remap_tablespace=USER:TEST remap_schema=user:IMP directory=expdp_bak_dir dumpfile=USER_TABLES.DMP logfile=impdp_test.log
system // 账号
123456 // 密码
USER:TEST // 表空间名映射,USER 导出的数据库表空间,TEST 导入的数据库表空间
user:IMPJW //数据库名映射,user 导出的数据库名,IMP 导入的数据库表名
USER_TABLES.DMP // 导入的文件名
expdp_bak_dir // 导出的路径【设置的数据库文件夹变量】
impdp_test.log // 日志输出文件
http://www.360doc.com/content/13/0207/23/7914128_264776286.shtml
在本地也有一个数据库时,可以利用NETWORK_LINK获取远程数据库的数据
1、在本地数据库客户端上修改tnsnames.ora,增加服务端的连接字符串:
ORCL48 = 名字随便起
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
2、在客户端创建DATABASE LINK连接要导出数据的服务端
SQL> create public database link db48(随便) connect to username identified by password using 'connect_string';
//username和password是server端的,connect-string 就是tnsnames.ora中的服务名 “ORCL48”
查看
删除
drop database link 连接名称;
备注:sys 用户不能删除其他用户的 db links
3、在客户端创建文件夹,并给导出的用户授权
create or replace directory winexp as 'd:\bak';
grant read,write on directory winexp to username;
4、使用expdp导出远程的数据到本地
expdp user/pass network_link=db48 directory=winexp dumpfile=XXX.dmp logfile=XXX.log schemas=test(库名)
user