expdp/impdp导入导出Long字段类型产生乱码问题
2013-03-19 00:47
423 查看
LONG作为一种数据类型,在LOB大对象出现之后就不再推荐使用了。Oracle对LONG的态度是废弃,以至于一些新的工具对LONG类型的支持也并不好。
例如10g中推出的数据泵功能data pump expdp/impdp,在2个字符集完全一致(ZHS16GBK AL16UTF16)的数据库间导入、导出LONG 字段也可能存在乱码,这个现象在10g中比较常见。
对于该expdp/impdp long字段产生乱码的问题, Workaroud 的是用 exp/imp 传统导入导出工具来替代expdp /impdp,虽然export/import工具的速度不如data pump,但是因为是传统工具所以对于LONG这种近乎废弃的数据类型支持较好。
在11g上测试了一下,该乱码问题似乎已经得到修复:
例如10g中推出的数据泵功能data pump expdp/impdp,在2个字符集完全一致(ZHS16GBK AL16UTF16)的数据库间导入、导出LONG 字段也可能存在乱码,这个现象在10g中比较常见。
对于该expdp/impdp long字段产生乱码的问题, Workaroud 的是用 exp/imp 传统导入导出工具来替代expdp /impdp,虽然export/import工具的速度不如data pump,但是因为是传统工具所以对于LONG这种近乎废弃的数据类型支持较好。
在11g上测试了一下,该乱码问题似乎已经得到修复:
SQL*Plus: Release 11.2.0.3.0 Production on 星期五 2月 22 06:13:53 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> conn maclean/oracle Connected. SQL> SQL> SQL> SQL> SQL> create table tlong (t1 int, t2 long); Table created. SQL> insert into tlong values(1,'Maclean的测试'); 1 row created. SQL> commit; Commit complete. SQL> select t2 from tlong; T2 -------------------------------------------------------------------------------- Maclean的测试 1* select name,value$ from sys.props$ where name like '%CHARACTERSET%' SQL> / NAME VALUE$ ------------------------------ -------------------------------------------------- NLS_CHARACTERSET AL32UTF8 NLS_NCHAR_CHARACTERSET UTF8 [oracle@vmac1 ~]$ expdp maclean/oracle dumpfile=tmp:tlong.dmp tables=maclean.tlong Export: Release 11.2.0.3.0 - Production on 星期五 2月 22 06:18:55 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options 启动 "MACLEAN"."SYS_EXPORT_TABLE_01": maclean/******** dumpfile=tmp:tlong.dmp tables=maclean.tlong 正在使用 BLOCKS 方法进行估计... 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 64 KB 处理对象类型 TABLE_EXPORT/TABLE/TABLE . . 导出了 "MACLEAN"."TLONG" 5.421 KB 1 行 已成功加载/卸载了主表 "MACLEAN"."SYS_EXPORT_TABLE_01" ****************************************************************************** MACLEAN.SYS_EXPORT_TABLE_01 的转储文件集为: /tmp/tlong.dmp 作业 "MACLEAN"."SYS_EXPORT_TABLE_01" 已于 06:19:14 成功完成 [oracle@vmac1 ~]$ impdp dumpfile=tmp:tlong.dmp remap_table=maclean.tlong:tlong1 Import: Release 11.2.0.3.0 - Production on 星期五 2月 22 06:21:34 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Username: maclean Password: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options 已成功加载/卸载了主表 "MACLEAN"."SYS_IMPORT_FULL_01" 启动 "MACLEAN"."SYS_IMPORT_FULL_01": maclean/******** dumpfile=tmp:tlong.dmp remap_table=maclean.tlong:tlong1 处理对象类型 TABLE_EXPORT/TABLE/TABLE 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA . . 导入了 "MACLEAN"."TLONG1" 5.421 KB 1 行 作业 "MACLEAN"."SYS_IMPORT_FULL_01" 已于 06:21:39 成功完成 SQL> select * from tlong1; T1 ---------- T2 -------------------------------------------------------------------------------- 1 Maclean的测试
相关文章推荐
- expdp/impdp导入导出Long字段类型产生乱码问题
- 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)
- 数据库导入导出数据以及字段类型为timestamp时的设值问题
- 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)
- 【EXPDP/IMPDP】数据泵导入导出遇到目录没有权限问题
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- 将客户端设置为不同的字符集,演示导入/导出可能产生的乱码问题。为什么没有出现乱码
- 如何导入long类型的字段
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- Oracle expdp/impdp导出导入命令及数据库备份
- 从一个用户expdp导出再impdp导入到另一个用户
- 【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式
- 已解决:expdp导出带有lob字段的表,报ORA-01555错误的问题
- MySQL数据导入导出乱码问题
- imp/exp 导出导入含有CLOB,BLOB大字段的表出现问题解决办法
- Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令
- 利用oracle long类型字段问题
- Oracle expdp/impdp导出导入命令及数据库备份(转)
- 【oracle】使用EXPDP和IMPDP数据泵进行导出导入的方法
- Oracle expdp/impdp导出导入命令及数据库备份