EXPDP用法
使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录.因此,使用EXPDP工具时,必须首先建立DIRECTORY对象.并且需要为数据库用户授予使用DIRECTORY对象权限.
CREATE DIRECTORY dump_dir AS ‘c:\emp’;
GRANT READ, WRITE ON DIRECTORY dump_dir TO scott;
1、导出表
Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=dept.dmpTABLES=dept
注:在unix下要注意directory目录的读写权限问题,如:
查看dump_dir所在的目录:用sys用户查看数据字典dba_directories
更该该文件夹的权限:chown–R oracle:dba /exp,问题解决
2、导出方案
expdp scott/tiger directory=dump_dirdumpfile=schema.dmp logfile=schema.log schemas=system
3、导出表空间
expdp scott/tiger directory=dump_dirdumpfile=tb.dmp logfile=tb.log tablespaces=users
4、导出数据库
Expdp system/manager DIRECTORY=dump_dirDUMPFILE=full.dmp FULL=Y
Expdp scott/tiger DIRECTORY=dump_dirDUMPFILE=full.dmp FULL=Y
注:提示scott用户没有相应的权限,给scott相应的权限或使用system来做全库导出 。
SQL> grant exp_full_database to scott;
Grant succeeded.
然后在做全库的导出:
五、IMPDP参数
IMPDP与EXPDP的不同参数:
1、REMAP_DATAFILE
该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时可能需要该选项.
REMAP_DATAFIEL=source_datafie:target_datafile
2、REMAP_SCHEMA
该选项用于将源方案的所有对象装载到目标方案中.
REMAP_SCHEMA=source_schema:target_schema
3、REMAP_TABLESPACE
将源表空间的所有对象导入到目标表空间中
REMAP_TABLESPACE=source_tablespace:target:tablespace
4、REUSE_DATAFILES
该选项指定建立表空间时是否覆盖已存在的数据文件.默认为N
REUSE_DATAFIELS={Y | N}
5、SKIP_UNUSABLE_INDEXES
指定导入是是否跳过不可使用的索引,默认为N
6、SQLFILE
指定将导入要指定的索引DDL操作写入到SQL脚本中
SQLFILE=[directory_object:]file_name
Impdp scott/tiger DIRECTORY=dumpDUMPFILE=tab.dmp SQLFILE=a.sql