oracle通地expdp/impdp导入导出用户数据迁移

sqlplus / as sysdba;

建立导出目录(建立的目录在系统层面必须存在)并赋读写权限:

 create directory exp_dir as 'E:\exp_dir' 

其中e:\exp_dir目录是存放导出数据的路径

grant read,write on directory exp_dir to public;

对该路径进行授权

系统下(Oracle用户)进行导出:

expdp system/oracle file=t1.dmp directory=exp_dir schemas=test;

或者下面这行,下面这知更清楚

expdp root/123456@WATER directory=oracle_back dumpfile=water_back.dmp logfile=water_back.log schemas=root
 

 

目标库:SID=PROD1

用户:test/oracle

原有表:test

注意:

1.按用户导出导入,目标库不须先建立相应用户,impdp导入会自动创建相应用户。如果系统中已有该用户,会把表导入到该用户下,并且有对该表原有的操作权限。

2.把导出来的dmp文件拷贝到目标库的任意一个目录(本实验是在/home/oracle/backup 目录)并在数据库中创建导入目录并赋权

create directory exp_dir as '/home/oracle/backup';

grant read,write on directory exp_dir to public;

其中home/oracle/backup是本机的绝对路径,导入的文件要放到backup目录下。

系统下(Oracle用户)进行导入:

   impdp root/123456@WATER table_exists_action=truncate dumpfile=WATER_BACK.DMP directory=oracle_dmp schemas=root

注意:导入时不加路径会报错

提示导入成功后登陆到数据库进行验证:

sqlplus / as sysdba;

conn test/oracle;

select * from tab;

发现t1表已经导入到目标库test用户下了

至此,按schema用户导出导入表实验完成

你可能感兴趣的:(oracle)