PLSQL数据导入导出问题

时间:2022-12-02 06:31:04

oracle导入导出主要由两种方式,一种是用命令方式(imp/exp 用户名/密码@oracle连接名称 file=路径名+文件名 full=y;其中full=y是说明全部导入或者导出,若只针对其中的几个表可以通过table=(表名,表名….)实现);一种是通过PLSQL中Tool工具栏下面的import和export工具。

导入导出的格式分为三种,分别是Oracle Export,Sql Insert,pl/sql developer。

1、第一种是导出.dmp的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最广。

2、第二种是导出.sql文件的,可用文本编辑器查看,通用性比较好,但效率不如第一种,适合小数据量导入导出。尤其注意的是表中不能有大字段(blob,clob),如果有,会提示不能导出。

3、第三种是导出.pde格式的,.pde为Pl/sql developer自有的文件格式,只能用Pl/sql developer自己导入导出;不能用编辑器查看。

通过PLSQL导出的数据,在表空间名称不同的情况下,包含有Blog和Clog字段的表可能导入不成功(经过多次测试,大部分情况下是不成功的),错误提示如下:

PLSQL数据导入导出问题

在这种情况下,我们可以将这些无法导入的表的建表语句拷贝下来,在新环境中通过这些语句建立所需要的表,数据直接拷贝过来即可。寻找含有blog和clog字段类型的表的方法有两种,一种是进行一遍导入,凡是无法导入的表应该是含有这些字段;一种是通过查询语句进行查看包含这些字段的表(select table_name from user_tab_columns where data_type in ('CLOB','BLOB'))。

另外在数据无法导入导出的时候,注意一下以下几点:

1、 用户是否有DBA权限(一种通过enterprise manager console工具为用户添加相应的权限;一种是通过命令的方式添加)

2、 导入导出的时候是否是选择了All Object,如果选择All Object情况下以普通用户无法导出。普通导出选择My Object。