ora-00997 非法使用LONG数据类型

本文介绍了解决Oracle数据库中ORA-00997错误的方法,该错误通常发生在尝试移动包含LONG类型字段的表到不同表空间时。通过创建新表并使用COPY命令完成数据迁移。
今天对一张表进行迁移的时候发现报以下错误,参考飞总处理过程,原文链接:http://www.xifenfei.com/2012/07/%E4%BD%BF%E7%94%A8copy%E5%AE%9E%E7%8E%B0long%E7%B1%BB%E5%9E%8B%E8%BD%AC%E7%A7%BB%E8%A1%A8%E7%A9%BA%E9%97%B4.html
SQL> alter table PMLBIN move tablespace ZNJK;
alter table PMLBIN move tablespace ZNJK
*
ERROR at line 1:
ORA-00997: illegal use of LONG datatype


生成ddl语句
SQL> select dbms_metadata.get_ddl('TABLE','PMLBIN','ZNJK') from dual;

  CREATE TABLE "ZNJK"."PMLBIN"
   (     "LBIN" NUMBER(*,0) NOT NULL ENABLE,
     "NUMR" NUMBER(*,0) NOT NULL ENABLE,
     "BDAT" LONG RAW
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS
1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLA
SH_CACHE DEFAULT)
  TABLESPACE "SYSTEM"

修改后

  CREATE TABLE "ZNJK"."PMLBINBAK"
   (     "LBIN" NUMBER(*,0 ) NOT NULL ENABLE ,
     "NUMR" NUMBER(*,0 ) NOT NULL ENABLE ,
     "BDAT" LONG RAW
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
  STORAGE( INITIAL 65536 NEXT 1048576 MINEXTENTS
1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "ZNJK"
;


SQL> copy from znjk/xxx@xyxdb INSERT PMLBINBAK using select * from PMLBIN;

Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 1000. (long is 1000)
   47 rows selected from znjk@xyxdb.
   47 rows inserted into PMLBINBAK.
   47 rows committed into PMLBINBAK at DEFAULT HOST connection.

SQL>


SQL> alter table PMLBIN rename to PMLBIN_OLD;

Table altered.

SQL> alter table PMLBINBAK rename to PMLBIN;

Table altere

SQL> select table_name,tablespace_name from user_tables t where t.table_name='PMLBIN';
PMLBIN                      ZNJK

SQL> drop table PMLBIN_OLD purge;

Table dropped.

SQL>  

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

转载于:http://blog.itpub.net/24486203/viewspace-1805605/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值