在没有权限登陆终端的情况下如何通过exp工具获取含clob字段的表

客户端的exp大版本必须与服务器端的大版本保持一致


如果客户端版本过低,导入的时候会报
 ORA-03120:two-task conversion routine:integer overflow
如下

C:\Users\lenovo>imp j1_cxtj/"Cx.00861."@134.12.81.5/sxltj1dw fromuser=hx_user to
user=j1_pzk_index file=EXPDAT.DMP tables=YSPZ_XMLSJB_0420


Import: Release 10.1.0.2.0 - Production on 星期五 4月 22 18:22:58 2016


Copyright (c) 1982, 2004, Oracle.  All rights reserved.




连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produc
tion
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Data Mining and Real Application Tes


经由常规路径由 EXPORT:V10.01.00 创建的导出文件


警告: 这些对象由 HX_USER 导出, 而不是当前用户


已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
. 正在将 HX_USER 的对象导入到 J1_PZK_INDEX
IMP-00003: 遇到 ORACLE 错误 3120
ORA-03120: 双工转换例行程序: 整数溢出


过程如下:

C:\Users\CSS115>exp hx_user/hxuser4655@134.12.81.7/sxlthxqf tables=yspz_xmlsjb_0
420


Export: Release 11.2.0.1.0 - Production on 星期五 4月 22 18:52:22 2016


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.




连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produc
tion
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Data Mining and Real Application Tes
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)


即将导出指定的表通过常规路径...
. . 正在导出表                YSPZ_XMLSJB_0420导出了        1000 行
成功终止导出, 没有出现警告。


C:\Users\CSS115>


C:\Users\CSS115>imp j1_cxtj/"Cx.00861."@134.12.81.5/sxltj1dw fromuser=hx_user to
user=j1_pzk_index file=EXPDAT.DMP tables=YSPZ_XMLSJB_0420 tablespaces=users


Import: Release 11.2.0.1.0 - Production on 星期五 4月 22 19:01:59 2016


Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.




连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Produc
tion
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Data Mining and Real Application Tes


经由常规路径由 EXPORT:V11.02.00 创建的导出文件


警告: 这些对象由 HX_USER 导出, 而不是当前用户


已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
导入服务器使用 AL32UTF8 字符集 (可能的字符集转换)
. 正在将 HX_USER 的对象导入到 J1_PZK_INDEX
. . 正在导入表              "YSPZ_XMLSJB_0420"导入了        1000 行
成功终止导入, 没有出现警告。


C:\Users\CSS115>


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29802484/viewspace-2086276/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29802484/viewspace-2086276/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 `exp` 命令导出 Oracle 数据库时,如果存在 CLOB 类型的字段,可能会出现报错的情况。这是因为 `exp` 命令默认使用 `varchar2` 类型来处理 CLOB 字段,而 `varchar2` 类型的长度有限制,无法处理过长的 CLOB 字段。 解决这个问题有两种方法: 1. 使用 `expdp` 命令导出数据:`expdp` 命令是 Oracle 数据库的数据泵工具,它可以更好地处理 CLOB 类型的数据。使用 `expdp` 命令导出数据时,需要指定 `CLOB` 类型的列使用二进制格式导出,例如: ``` expdp user/password@database tables=table_name directory=dir dumpfile=file_name.dmp lob_as_segment=y ``` 其中,`lob_as_segment=y` 示将 `CLOB` 类型的列以二进制格式导出。 2. 修改 `exp` 命令的参数:可以通过修改 `exp` 命令的参数来解决 CLOB 字段报错的问题。具体操作如下: 1. 在 `exp` 命令中添加 `-c` 参数,示以字符格式导出数据。 2. 在 `exp` 命令中添加 `-lob` 参数,示导出 CLOB 字段。 3. 修改 `NLS_LANG` 环境变量,将其设为 `AMERICAN_AMERICA.AL32UTF8`,示使用 UTF-8 编码。 示例命令如下: ``` exp user/password@database tables=table_name file=file_name.dmp log=log_name.log rows=yes compress=no direct=no indexes=no triggers=no constraints=no grants=no feedback=1000000 buffer=1000000 consistent=y commit=y statistics=none object_consistent=y recordlength=65535 consistent=y full=y rows=y constraints=n indexes=n grants=n triggers=n feedback=1000000 buffer=1000000 file=file_name.dmp log=log_name.log compress=n consistent=y direct=n rows=y statistics=none file_size=unlimited consistent=y file_name_convert=old_dir:new_dir -c -lob -NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ``` 注意,修改 `NLS_LANG` 环境变量可能会影响其他程序的运行,需要谨慎操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值