TM
2011.10.11 14:08

long type column

조회 수 17678 추천 수 0 댓글 1

logical corruption시 table move 작업시에 long type column 이 있어 move가 안됨.

 

문제 설명            
=========
 LONG COLUMN을 가진 테이블을 COPY를 해야 하는 경우 LONG COLUMN은 Subquery
 를 사용할 수 없기 때문에 다음과 같은 현상이 발생한다.
 
  1. "CREATE TABLE ... AS SELECT ..." 명령이나
     "INSERT INTO ... SELECT ..."
      를 사용하는 경우 ORA-0997 에러가 발생한다.

  2. SQL*Plus의 COPY 명령을 사용하는 경우 CPY0005 에러가 발생한다.
 
해결 방법 
=========
 가장 쉬운 방법은 PL/SQL에서 VARCHAR2 혹은 LONG DATA TYPE을 이용하여 COPY
한다. PL/SQL에서 VARCHAR2 및 LONG 변수는 32K까지 사용할 수 있기 때문에
32K 이하 데이타라면 가능하고 그 이상의 데이타는 3GL을  이용한다.

 

copy 됩니다.

 

idel> copy from scott/tiger@ora9i to scott/tiger@ora9i -
> create longtab3 -
> using select * from longtab;   

Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 5000. (long is 5000)
Table LONGTAB3 created.

   3 rows selected from scott@ora9i.
   3 rows inserted into LONGTAB3.
   3 rows committed into LONGTAB3 at scott@ora9i.

 

idel> desc A_APP_CONTENT
 Name          Null?   Type
 ----------------  -------- -------------------------------------------------
 APPID          NOT NULL VARCHAR2(40)
 ITEMID          NOT NULL VARCHAR2(20)
 ITEMVALUE           LONG

 

idel> select * from a_app_content

APPID          ITEMID     ITEMVALUE
------- ---------------------------------------- ------------------------------
fekskfj          fekjfi     eifslkjlsglksakejlkjsalfj

 

idel> DECLARE 
  string1 varchar2(20);
  string2 varchar2(40);
  string3 varchar2(32000);
  cursor c1 is
  SELECT appid, itemid,itemvalue FROM t_app_content;
BEGIN
  OPEN c1;
  LOOP
    FETCH c1 INTO string1,string2,string3;
    exit when c1%NOTFOUND;
    INSERT INTO t_app_contents VALUES (string1,string2,string3);
  END LOOP;
  COMMIt;
END;

PL/SQL procedure successfully completed.

 

idel> select * from a_app_contents;

APPID          ITEMID     ITEMVALUE
--------- --------- ------------------------------
fekskfj          fekjfi     eifslkjlsglksakejlkjsalfj

 

실 DB에선 분명히 안됬었는데 테스트 하니 바로 되는군요;;

TAG •

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Q&A Oracle관련 게시물만 Sean 2014.04.09 84839
9 자료 oracle 문제발생시 대처 가이드 2 file dbkill 2011.05.16 5636
8 자료 ORA-600 metalink notes for help file dbkill 2011.03.29 7634
7 자료 C컴파일시 makefile의 구조설명 file 김준호 2010.04.22 7220
6 자료 윈도우 tail 사용법 1 file 유주환 2010.04.19 7361
5 자료 instance 여러개인 경우 profile 보기 편하게 수정 1 유주환 2010.04.18 8634
4 자료 Data_Pump 세미나자료 file 고구마 2010.04.09 7658
3 자료 Flashback 10g 1 file 고구마 2010.04.09 6289
2 자료 ASM 1 file 고구마 2010.04.09 6765
1 자료 solaris sparc 64bit oracle 10.2.0.1 file 김준호 2010.03.29 6975
Board Pagination Prev 1 Next
/ 1