oracle 数据泵

环境
windows2003SP2

oracle11gR1
使用expdp和impdp
1.命令行打开sqlplus
sqlplus /nolog
conn  / as sysdba
2.创建逻辑目录,该命令不会在操作系统创建真正的目录(最好手工先建好),最好以administrator等管理员创建。
create directory dir as 'd:\dump';          //dir名称可以随便命名   需要手工创建d:\dump
3.查看管理理员目录(同时查看操作系统中是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
4.给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dir to scott;
5、导出数据

1)按用户导

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log

2)并行进程parallel

expdp scott/tiger@orcl directory=dir dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名导

expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dir;

4)按查询条件导

expdp scott/tiger@orcl directory=dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';

5)按表空间导

expdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;

6)导整个数据库

expdp system/manager DIRECTORY=dir DUMPFILE=full.dmp FULL=y;
6、还原数据

1)导到指定用户下

impdp scott/tiger@orcl DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=scott logfile=impdp.log

2)改变表的owner

impdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)导入表空间

impdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=example;

4)导入数据库

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

5)追加数据

impdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

 

****************************************************************************************
LINUX环境(RHEL5)
oracle10g和oracle11g
使用expdp和impdp
1.命令行打开sqlplus
sqlplus /nolog
connect system/oracle
2.创建逻辑目录,该命令不会在操作系统创建真正的目录(最后手工先建好),最好以system等管理员创建。
create directory dpdata1 as '/home/oracle/dump';
3.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
4.给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;
5.导出数据
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
3)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
6.还原数据
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

AIX环境

1.建立数据泵目录。
1.1、在使用数据泵的时候首先需要建立directory,用于存放必要的文件。
1.2、root用户登录,首先要切换到oracle用户,使用sys用户登录:
su - oracle
sqlplus / as sysdba
create directory dump_test as'/oracle/admin/test/dpdump';
(路径根据情况随意指定,保证空间大小足够)
1.3、建好后查看建立的目录
select * from dba_directories;
2、赋予权限
创建完目录后进行赋予权限(dba执行可不赋权限)
Grant read,write on directory dump_test to  scott(赋予指定用户)
3、导出
导出分为按用户导出、全库导出、按表导出三种;
3.1按用户
expdp \'/ as sysdba\' directory=dump_test dumpfile=dpscott.dmp  content=metadata_only(只导出元数据)
3.2全库导出
expdp \'/ as sysdba\' directory=dump_test dumpfile=dpfull.dmp parallel=4 full=y content=metadata_only(只导出元数据)
3.3按表导出
expdp \'/ as sysdba\' directory=dump_test dumpfile=table.dmp logfile=scott.log tables=emp content=metadata_only(只导出元数据)
4、导入
导入分为按用户导入、全库导入、按表导入三种;
4.1按用户
impdp \'/ as sysdba\' directory=dump_test dumpfile=dpscott.dmp remap_schema=scott:test(test为导入用户) content=metadata_only(只导入元数据)
4.2全库导入
impdp \'/ as sysdba\' directory=dump_test dumpfile=dpfull.dmp full=y  content=metadata_only(只导入元数据)
4.3按表导入
impdp \'/ as sysdba\' directory=dump_test dumpfile=table.dmp tables=scott.emp remap_schema=scott:test  content=metadata_only(只导入元数据)


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值