>expdb数据泵导出
数据泵导入导出方式与传统的导入导出方式相比,主要有以下区别:
1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
1.创建用户
--创建表空间(非必须,可以使用默认表空间或不指定)
CREATE SMALLFILE
TABLESPACE DATA_ZLJ
LOGGING
DATAFILE
'E:\table_space\DATA_ZLJ.ora' SIZE
1024M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--删除用户(如果有)
DROP USER zljsddb CASCADE;
DROP USER zljfsdb_sd CASCADE;
--创建新用户
create user zljsddb identified by zljsddb default tablespace DATA_ZLJ;
create user zljfsdb_sd identified by zljfsdb_sd default tablespace DATA_ZLJ;
--授权
grant dba to zljsddb ;
grant dba to zljfsdb_sd;
2.创建dblink
两台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。
--创建dblink
create public database link zljsddbdblink
connect to sddb identified by sddb
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.50.205)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)';
--查看数据是否存在,判断是否创建成功
select * from sddb.a_coll_info@zljsddbdblink;
3.创建dump目录,赋给用户读写目录的权限
CREATE DIRECTORY dump_dir AS 'e:\dmps';
4.sddb exp权限
--导入端
GRANT EXP_FULL_DATABASE TO zljsddb;
GRANT resource,connect,imp_full_database to zljsddb;
GRANT read,write on directory dump_dir to zljsddb;
--导出端
GRANT EXP_FULL_DATABASE TO sddb;
5.导出
--全部导出
expdp zljsddb/zljsddb directory=dump_dir dumpfile=sddb.dmp logfile=sddb.log network_link=zljsddbdblink full=y
--只导出表结构/元数据
expdp zljsddb/zljsddb directory=dump_dir dumpfile=sddb.dmp logfile=sddb.log network_link=zljsddbdblink content=metadata_only
6.部分导出
通常生产环境下,测试库并没有足够的空间,可以选择表结构和部分需要使用表的数据,在这之前首先要建立相应的表空间。
详细可以参考:https://www.cnblogs.com/lhrbest/p/4508832.html