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
20 TM Oracle Silent Install Guide 3 file 송기성 2011.03.13 20201
19 TM openvms command perfstat 2011.05.31 17523
18 TM TDE tablespace 1 윤현 2011.06.09 17286
17 TM 백업이 필요없는 대용량 table skip하고 export 받기 고구마 2011.06.14 18651
» TM long type column 1 담벼락 2011.10.11 17678
15 TM 11g 데이타베이스 에러수집방법 2 perfstat 2011.11.02 20053
14 TM 11g newfeature (dbca) 2 file 윤현 2011.12.27 13912
13 TM TDE (column, tablesapce) 1 file 윤현 2011.12.27 13232
12 TM 11 newfeature(Upgrade) 10.2.0.5 to 11.2.0.3 1 file 윤현 2012.01.12 18309
11 TM upgrade 시 sorting 문제 담벼락 2012.03.16 16456
10 TM 테이블 생성방법 및 각종옵션 Tech1 2012.03.20 20703
9 TM windows에서 Opatch 진행시 oci.dll 에러 조치 1 이현정 2012.03.26 37401
8 TM 테이블과 인덱스의 관계 및 인덱스 종류 및 생성 방법. Tech1 2012.03.28 25499
7 TM audit 관련 2 이현정 2012.03.29 26485
6 TM (10gR2)Full UNDO tablespace Tech1 2012.04.04 23917
5 TM ARDCI file 이현정 2012.10.09 12520
4 TM check whether crs auto start is enable or disable 담벼락 2012.10.12 26263
3 TM MEMORY TARGET 1 도로시 2013.01.03 19586
2 TM 11G new feature SQL performance analyzer 1 file Sean 2013.01.09 14280
1 Q&A 오라클 복구 질문 희달이 2015.05.08 1144
Board Pagination Prev 1 ... 3 4 5 6 7 8 Next
/ 8