转载:http://m.blog.itpub.net/29485627/viewspace-1256910/
Oracle使用数据泵导出导入表
需求:同一机器上有两个库,默认的库为orcl,后来新建了库haishu。库haishu的用户scott下有个表test_table,要求将此表导入到库orcl的scott用户下。
导出步骤:
先在终端创建dmp文件存放路径,当前目录为/home/zhenghaishu,则
$ mkdir dump
进sqlplus环境
$ sqlplus /nolog
连接haishu数据库
SQL> conn sys/dba@haishu as sysdba;
创建路径并授权
SQL> create directory dump_dir as '/home/zhenghaishu/dump';
Directory created.
SQL> grant read, write on directory dump_dir to scott;
Grant succeeded.
注:这一步中的scott即库haishu中的scott
SQL> exit
这一步是退出sqlplus环境回到终端,在终端中执行
$ expdp scott/tiger@haishu directory=dump_dir dumpfile=exp.dmp tables=test_table;
很快就可以看到导出成功完成的提示。
导入步骤:
进sqlplus环境
$ sqlplus /nolog
连接orcl数据库
conn / as sysdba;
这一步等价于conn sys/dba@orcl as sysdba;
创建路径并授权
SQL> create directory dump_dir as '/home/zhenghaishu/dump';
Directory created.
SQL> grant read, write on directory dump_dir to scott;
Grant succeeded.
注:这一步中的scott即库orcl中的scott
SQL> exit
这一步是退出sqlplus环境回到终端,在终端中执行
$ impdp scott/tiger directory=dump_dir dumpfile=exp.dmp tables=test_table;
这里scott/tiger后没跟@orcl是因为orcl是默认的库所以不用写,写上效果一样
很快就可以看到导入成功完成的提示。
验证:
进库orcl中的scott用户下查看是否多了表test_table并查看表test_table中的数据
$ sqlplus /nolog
SQL> conn scott/tiger
(或conn scott/tiger@orcl)
SQL> select table_name from tabs;
SQL> select * from test_table;