MAX_STRING_SIZE = EXTENDED
설정을 하게 되면 varchar2(4000) 에서 varchar2(32767) 까지 사용이 가능 합니다.
오라클 문서
https://docs.oracle.com/database/121/REFRN/GUID-D424D23B-0933-425F-BC69-9C0E6724693C.htm#REFRN10321
그외 문서 : 자료실 참고 부탁 드립니다.
장점은 무엇이며 단점을 무엇이 있을까요?
1. 장점
: 지금은 거의 LONG 타입이 없겠지만 대체 가능 합니다.
: LOB 타입까지 사용 할 필요성이 없다고 판단이 되시면 대체 가능 하여 여러가지 기대 효과도 있겠네요.
: 프로그램 구현 즉 SQL문 구현시 복잡함이 덜 하고 특히 프로시저 사용시 기존에 VARCHAR2(4000) 까지 사용 했던
방식그대로 길이만 조정해서 사용 가능 합니다.
2. 단점
: 기존 DBMS 즉 운영중 또는 지금 현재 개발 중 인 곳은 많은 테스트와 준비를 한 후 변경 해 주시길 바랍니다.
신규 DB 서버에서 부터 설정을 권해 드리고 싶습니다.
: ORA-14695 에러가 나면서 DB가 안올라 옵니다.
; 인덱스를 사용하는 방식이 다릅니다. 따라서 주의 해 주셔야 합니다.
인덱스 사용 방법은 아래와 같습니다.
0) 테스트 환경
select VERSION, EDITION, DATABASE_TYPE from v$instance;
VERSION EDITION DATABASE_TYPE
----------------- ------- ---------------
12.2.0.1.0 EE SINGLE
*** CDB, PDB 없는 곳 입니다.
1) 테이블 생성
CREATE TABLE TBL_SQLID
(
ONWER VARCHAR2(128),
TABLE_NAME VARCHAR2(128),
SQL_TEXT VARCHAR2(32000),
SQL_ID VARCHAR2(32000),
SQL_ID_COUNT NUMBER,
IN_DATE VARCHAR2(30)
)NOLOGGING;
실질적으로 수집한 데이타 카운터 한 내용 입니다.
SELECT LENGTHB(SQL_ID) FROM TBL_SQLID order by LENGTHB(SQL_ID) DESC NULLS LAST;
LENGTHB(SQL_ID)
---------------
15203
9659
7517
6439
5011
3723
3625
3373
3373
3023
2995
~~~~~~~~~
생략
=======================================
참고로 저는 장점을 선택 하여 가급적 설정을 해 놓은 상태 이고, 개발자분들에게 알려드리고 사용을 권하지만,
결과적으로 보면 사용을 하지 않네요.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | 12.1 ]MAX_STRING_SIZE 기능을 활용 [1] | 우뽕 | 2020.02.25 | 9882 |
1 | Oracle Database In-Memory Option –I (설명과 설정방법) | 명품관 | 2016.01.20 | 8502 |
VARCHAR2의 최대 길이가 길어진 건 알았는데 그냥 사용할 수 있는게 아니였군요...
귀찮게 뭘 또 저런 절차를 넣어답니까? ㅋㅋㅋ
그냥 쓸 수 있게 만들지...
유용한 정보 감사합니다.~~~