Oracle导出/导入数据

1.Oracle导出表结构和数据

(1) exp/imp工具,.dmp文件:

带参数:
rows=y      带数据导出导入;
rows=n    —— 不带数据的导出导入,只移植结构。
例如:

<1> 导出:
 只导出3张表的结构:

   exp user/pasword@dbServerName owner=user tables=(table1,table2,table3) rows=n file=c:\1.dmp

连带数据导出:

   exp user/pasword@dbServerName owner=user tables=(table1,table2,table3) rows=y file=c:\2.dmp

<2> 导人:

   imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\1.dmp 

或者

    imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\2.dmp 
注意事项:

<1> 在执行imp导人操作时,可能会报出创建触发器错误,原因权限不足。此时需要登录sysdba,进行授权操作。

    grant create trigger to scott;

<2> 当导出的表上建立了物化视图时,导出时不会报错,但在导入时,就可能会报错:

IMP-00017:由于ORACLE错误1031,以下语句失败:
“BEGIN SYS.DBMS_SNAPSHOT_UTL.SYNC_UP_LOG(‘TIANZHI_SMART’,’ZH_MAJOR_ITEM’);”
“END;”
IMP-00003:遇到ORACLE错误1031
ORA-01031:权限不足
ORA-06512:在”SYS.DBMS_ISNAPSHOT”,line 108
ORA-06512:在”SYS.DBMS_SNAPSHOT_UTL”,line 1666
ORA-06512:在line 1
成功终止导入,但出现警告.

这种错误情况,暂定为是ORACLE的本身存在的bug。当遇到这种情况时,就采用下面提到的导出sql文件的方式进行操作。

(2) 使用PL/SQL Developer工具导出/导入.sql文件:

步骤如下:

<1> 导出:

《Oracle导出/导入数据》 导出操作流程

注意:在第2步操作中,要勾选创建表的选项,要不然执行sql文件时,没有创建表的sql语句。

<2> 导入:
Tools(工具) —-> 导入表,之后依次出现如下界面:

《Oracle导出/导入数据》 导入操作流程

出现如右侧窗口之后,就代表执行完毕了,此时就可以在用户下找到对应表了。

注意事项:

<1>不要勾包括存储。(未验证!)
<2>当表中包含类型为CLOB的字段时,无法使用sql文件形式进行导出操作,此时需要使用dmp文件形式进行导出和导入操作。

2.Oracle导出/导入(exp/imp)一个用户下的所有表数据

(1) 从源数据库导出数据:

语法:

exp user1/pwd1@test1 file='E:test.dmp';

示例:

exp tianzhi_smart/tianzhi_smart@192.168.56.60:1521/orcl file='E:\tianzhi_smart.dmp';

应用截图:
本人愚钝,初次使用时,都不知道在哪里输入这导出语句,所以专门贴出来,以备像我一样的小伙伴,少走些弯路.

《Oracle导出/导入数据》 导出

(2) 向目标数据库导入数据:

语法:

imp user2/pwd@test2 file='E:test.dmp' full=y;

示例:

imp tianzhi_smart/tianzhi_smart@192.168.10.129:1521/orcl file='E:\tianzhi_smart.dmp' full=y;

应用截图:

《Oracle导出/导入数据》 导入

    原文作者:夏一
    原文地址: https://www.jianshu.com/p/2086d11c744f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞