IMP 导入数据报错 OCI-21500 OCI-22275

IMP导入数据报错如下:

OCI-21500: internal error code, arguments: [kgepop: no error frame to pop to], [], [], [], [], [], [], []
OCI-22275: invalid LOB locator specified
xExExE@@@@@@@@Errors in file :
OCI-21500: internal error code, arguments: [kgepop: no error frame to pop to], [], [], [], [], [], [], []
OCI-22275: invalid LOB locator specified
xExExEpppppppp

 illegal lob length marker 34981
 bytesread = 00000000000
 TABLE = HD_HDXX
IMP-00098: INTERNAL ERROR: impgst2

报错说明:

OCI-21500: internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]

Cause: This is the generic error number for the OCI environment (client-side) internal errors. This indicates that the OCI environment has encountered an exceptional condition.Action: Report as a bug - the first argument is the internal error number.

 

OCI-22275: invalid LOB locator specified

Cause: There are several causes: (1) the LOB locator was never initialized; (2) the locator is for a BFILE and the routine expects a BLOB/CLOB/NCLOB locator; (3) the locator is for a BLOB/CLOB/NCLOB and the routine expects a BFILE locator; (4) trying to update the LOB in a trigger body -- LOBs in trigger bodies are read only.

Action: For (1), initialize the LOB locator by selecting into the locator variable or by setting the LOB locator to empty. For (2) and (3), pass the correct type of locator into the routine. For (4), remove the trigger body code that updates the LOB value.

解决思路:

1.数据导出的时候按照 用户进行导出,并且采用了直接路径 direct=y

exp xyy/xyy@sspt   OWNER=GSYY   DIRECT=Y RECORDLENGTH=65535 BUFFER=104857600 FILE=/opt/oradata/exp/GSYY.dmp LOG=/opt/oradata/exp/log/GSYY.log

查询导入日志,发现并未报错:

. . exporting table                      FP_HGWSPZ          0 rows exported
. . exporting table                    GS_DJ_NSRXX          0 rows exported
. . exporting table                        HD_HDXX    3219563 rows exported

2.查询表 HD_HDXX    ,发现含有LOB字段数据


SQL> desc GSYY.HD_HDXX;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SBNY                                      NOT NULL CHAR(6)
 NSRSBH                                    NOT NULL VARCHAR2(20)
 SWJG_DM                                   NOT NULL VARCHAR2(11)
 LRR_DM                                    NOT NULL VARCHAR2(11)
 LRRQ                                      NOT NULL DATE
 XGR_DM                                    NOT NULL VARCHAR2(11)
 XGRQ                                      NOT NULL DATE
 HDXX                                               CLOB
 FPLGXX                                             VARCHAR2(4000)
 JXFP_MX                                            CLOB
 XXFP_HZ                                            VARCHAR2(4000)
 HGWSFP_MX                                          CLOB
 JDCJXFP_MX                                         CLOB

3.直接路径导出 direct=y 不支持导出含有LOB、BFILE等大对象的表,进行单独 导出  GSYY.HD_HDXX,再进行导入,发现正常无报错。
 

原文地址:https://www.cnblogs.com/suncoolcat/p/3367594.html