作者:fade2010_480 | 来源:互联网 | 2023-08-19 09:26
1.Oracle导出表结构和数据(1)expimp工具,.dmp文件:带参数:rowsy带数据导出导入;rowsn——不带数据的导出导入,只移植结构。例如:导出:只导出3张
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,以下语句失败:
&#8220;BEGIN SYS.DBMS_SNAPSHOT_UTL.SYNC_UP_LOG(&#8216;TIANZHI_SMART&#8217;,&#8217;ZH_MAJOR_ITEM&#8217;);&#8221;
&#8220;END;&#8221;
IMP-00003:遇到ORACLE错误1031
ORA-01031:权限不足
ORA-06512:在&#8221;SYS.DBMS_ISNAPSHOT&#8221;,line 108
ORA-06512:在&#8221;SYS.DBMS_SNAPSHOT_UTL&#8221;,line 1666
ORA-06512:在line 1
成功终止导入,但出现警告.
这种错误情况,暂定为是ORACLE的本身存在的bug。当遇到这种情况时,就采用下面提到的导出sql文件的方式进行操作。
(2) 使用PL/SQL Developer工具导出/导入.sql文件:
步骤如下:
<1> 导出:
导出操作流程
注意:在第2步操作中,要勾选创建表的选项,要不然执行sql文件时,没有创建表的sql语句。
<2> 导入:
Tools(工具) &#8212;-> 导入表,之后依次出现如下界面:
导入操作流程
出现如右侧窗口之后,就代表执行完毕了,此时就可以在用户下找到对应表了。
注意事项:
<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';
应用截图:
本人愚钝,初次使用时,都不知道在哪里输入这导出语句,所以专门贴出来,以备像我一样的小伙伴,少走些弯路.
导出
(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;
应用截图:
导入