数据泵工具可以从命令好使用程序 expdp 和impdp中调用
数据泵技术的特点
导入/导出的所有工作都由数据库实例完成
可以使用dbms_datapump pl/sql APL建立。检测和调用数据泵任务
可以对IMPDP/ECPD导入导出任务进行重新启动,类似于网络下载的断点续传
expd的导出方式
数据库方式,整个数据库被导出操作系统文件中
用户模式,导出一个或多个用户下的所有数据和元数据
表方式,导出的数据包括一组表中的所有数据和元素据
表空间方式 导出时提取用于一个表空间的所有对像的数据。
grant imp_full_database to liuzhen;
grant exp_full_database to liuzhen
create directory dump_dir as ‘e:\oracle数据库\back‘
grant write,read on directory dump_dir to scott
grant write,read on directory dump_dir to scott;
--
grant write,read on directory dump_dir to scott
grant imp_full_database to scott;
grant exp_full_database to scott;
--创建表空间
create tablespace testspace
datafile ‘e:\oracle数据库\test‘
size 10m
autoextend on;
create table student
(
name varchar(20),
age number(3),
sex varchar(2)
)
--使用数据泵备份技术
--.首先要创建一个dir目录
create directory dump_dir as‘e:backeup‘;
--drop directory dump_dir 删除目录
--授予用户操作的权限
grant read,write on directory dump_dir to scott;
--如果要执行全局备份和恢复,还要授予最高的权限
grant imp_full_database to scott;
grant exp_full_database to scott;
--创建测试用户,并授予相应的权限
grant user testuser identified by testuser;
--
grant connect,resource to testuser; --授予连接,登陆数据库的权限
grant write,read directory dump_dir to testuser;--授予读写目录的文件
--表的导入导出
--在dos命令下
--导出scott用户下的表
---expdp 为导入关键字 scott..为用户名/密码@连接的数据库名字 directory目录名字.dumpfile为备份的命名 tables为要导出的名字
c:\>expdp scott/[email protected] directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept
--导入scott用户下的表
c:\>impdp scott/[email protected] directory=dump_dir dumpfile=scotttab.dmp tables=emp,dept
--讲导出的表导入到测试用户下
--system为系统最高权限的表 remap_schema=scott:导入的指定用户
c:\>imppdp system/[email protected] directory=dump_dir dumpfile=scotttab.dmp tables=dept,emp remap_schema=scott:testuser
--用户
--导出scott用户模式
c:\>expdp scott/[email protected] directory=dump_dir dumpfile=scottschema.dmp schemas=scott
--导入scott模式
c:\>impdp scott/[email protected] directory=dump_dir dumpfile=scottschema.dmp schemas=scott
--讲scott中的对象导入Testust表中
c:\>impdp system/[email protected] directory=dump_dir dumpfile=scottschema.dmp schemas=scott remap_schema=scott:testuset
--表空间
--导出test表空间,首先要有个表空间,而且要有内容,如果没有的话,会出现错误的
c:\>expdp system/[email protected] directory=dump_dir dumpfile=tablespaceusers.dmp tablespace=testuser
--导入testust空间
c:\>impdp system/[email protected] directory=dump_dir dumpfile=tablespaceusers.dmp tablespace=testuser
--整个数据库--首先要有imp_full_database权限
--导出整个数据库
c:\>expdp system/[email protected] directory=dump_dir dumpfile=full.dmp full=y
--导入整个数据库
c:\>impdp system/[email protected] directory=dump_dir dumpfile=full.dmp full=y