TM
2011.10.11 14:08

long type column

조회 수 17687 추천 수 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 84911
120 Tip TM과 TX 락 1 유주환 2010.04.30 19027
119 TM 백업이 필요없는 대용량 table skip하고 export 받기 고구마 2011.06.14 18789
118 Tip 화일의 손상 여부를 확인하는 dbv 사용 방법 김준호 2010.04.06 18511
117 TM 11 newfeature(Upgrade) 10.2.0.5 to 11.2.0.3 1 file 윤현 2012.01.12 18388
116 Tip NetCA 실행시 VM 관련 에러 대처법 2 송기성 2010.12.09 18180
115 Tip partition table에 index 생성시 perfstat 2011.01.28 18167
114 Q&A RHEL5에 11gR2 RAC 구성시 ASM 관련 에러 file 송기성 2010.12.11 17729
» TM long type column 1 담벼락 2011.10.11 17687
112 TM openvms command perfstat 2011.05.31 17534
111 Tip Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1] 담벼락 2011.03.23 17483
110 Tip DML 문의 처리과정 고구마 2010.04.28 17306
109 TM TDE tablespace 1 윤현 2011.06.09 17302
108 Tip Trace Event 세팅 고구마 2010.04.09 17285
107 Tip How to Use DBMS_STATS to Move Statistics to a Different Database 고구마 2010.04.09 17075
106 Tip [10g]DATAPUMP IMPORT는 자동으로 USER 생성 흑수건 2011.10.06 16783
105 Tip show space 고구마 2010.04.28 16767
104 Tip TABLESPACE FREESPACE 조회하기 1 고구마 2010.05.19 16659
103 TM upgrade 시 sorting 문제 담벼락 2012.03.16 16599
102 TM (10g) 자동 통계정보 수집(AUTOMATIC OPTIMIZER STATISTICS COLLECTION) 담벼락 2010.12.16 16384
101 Tip 통계 백업 및 생성 유주환 2010.04.18 16189
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8