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
140 TM 엔지니어필수품 file perfstat 2011.03.03 14113
139 TM RAC10g R2 patch(10.2.0.1->10.2.0.5) file 윤현 2011.03.02 10714
138 TM oracle client 와 database 간 상호 호환성(version) 1 담벼락 2011.01.24 23072
137 TM Automatic Storage Management file 담벼락 2010.12.31 10628
136 TM 10g Transportable Tablespace 에 대한 세미나 자료 입니다 file 송기성 2010.12.29 9204
135 TM Replication 세미나 자료 file 고구마 2010.12.29 11200
134 TM SystemState 세미나자료 file 고구마 2010.12.29 11006
133 TM Database Replay 담벼락 2010.12.27 9501
132 TM ORA-1578 조치를 위한 event 10231 1 이성철 2010.12.22 8440
131 TM (10g) 자동 통계정보 수집(AUTOMATIC OPTIMIZER STATISTICS COLLECTION) 담벼락 2010.12.16 16368
130 TM 오라클 디렉토리 변경 송기성 2010.12.16 22832
129 TM UPDATABLE SNAPSHOT 구축하기 고구마 2010.08.23 15430
128 TM replication table 다른 tablespace 로 옮기기 고구마 2010.08.23 13613
127 TM Flashback Query 승현짱 2010.05.30 8670
126 TM analyze connection failover options 유주환 2010.05.19 8858
125 TM 어플리케이션 페일오버와 로드밸런싱 유주환 2010.05.19 8836
124 TM fine-grained_auditing 1 유주환 2010.05.19 8586
123 TM library_cache_lock,_library_cache-orapybubu 유주환 2010.05.19 8862
122 TM fga와_vpd를_이용한_오라클_데이터베이스_보안_관련_문제와_답변 유주환 2010.05.19 10401
121 TM 과도한 CPU 및 UNDO REDO 많이 사용하는 세션 찾기 1 고구마 2010.05.19 23585
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8