TM
2011.10.11 14:08

long type column

조회 수 17388 추천 수 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 84471
160 Q&A 오라클 복구 질문 희달이 2015.05.08 768
159 TM 11G new feature SQL performance analyzer file Sean 2013.01.09 14175
158 TM MEMORY TARGET 도로시 2013.01.03 19230
157 TM check whether crs auto start is enable or disable 담벼락 2012.10.12 25815
156 TM ARDCI file 이현정 2012.10.09 12444
155 TM (10gR2)Full UNDO tablespace Tech1 2012.04.04 23723
154 TM audit 관련 2 이현정 2012.03.29 23689
153 TM 테이블과 인덱스의 관계 및 인덱스 종류 및 생성 방법. Tech1 2012.03.28 23563
152 TM windows에서 Opatch 진행시 oci.dll 에러 조치 1 이현정 2012.03.26 36742
151 TM 테이블 생성방법 및 각종옵션 Tech1 2012.03.20 19607
150 TM upgrade 시 sorting 문제 담벼락 2012.03.16 16294
149 TM 11 newfeature(Upgrade) 10.2.0.5 to 11.2.0.3 1 file 윤현 2012.01.12 18245
148 TM TDE (column, tablesapce) 1 file 윤현 2011.12.27 13162
147 TM 11g newfeature (dbca) 2 file 윤현 2011.12.27 13843
146 TM 11g 데이타베이스 에러수집방법 2 perfstat 2011.11.02 19234
» TM long type column 1 담벼락 2011.10.11 17388
144 TM 백업이 필요없는 대용량 table skip하고 export 받기 고구마 2011.06.14 18168
143 TM TDE tablespace 1 윤현 2011.06.09 17195
142 TM openvms command perfstat 2011.05.31 17113
141 TM Oracle Silent Install Guide 3 file 송기성 2011.03.13 20024
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8