오라클 Varchar2 타입의 길이제한은 4000 바이트입니다. 더 크게 사용하려면 Long 이나 LOB 타입을 써야합니다.
하지만, Long 이나 LOB 을 사용하는 경우 각종 스트링 작업관련 함수들을 못쓰는 불편함이 있습니다.
Oracle 12c 부터는 이것을 늘릴 수 있는 방법이 제공되는데, DB 파라메타 max_string_size 를 바꿔주면 됩니다. (standard -> extended)
이걸 alter system 명령으로 그냥 바꾸면 아래와 같이 ORA-14694 에러를 만나게 됩니다.
SQL> alter system set max_string_size=extended;
alter system set max_string_size=extended
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-14694: database must in UPGRADE mode to begin MAX_STRING_SIZE migration
|
max_string_size 파라메타를 바꿔주려면 DB를 Upgrade 모드로 기동한 후에 변경해줘야 합니다.
Upgrade 모드로 DB를 Open 한 후에 alter system 커맨드로 파라메타를 변경해주고, utl32k.sql 스크립트를 실행해줘야 합니다.
Invalid Object 들에 대한 재컴파일을 위해서 아래 utlrp.sql 스크립트도 실행해줍니다.
SQL> @?/rdbms/admin/utlrp.sql
DB를 재기동해주면 이제부터는 32K 바이트까지 Varchar2 타입을 사용가능합니다.
Multi-tenant DB 의 경우는 작업방식이 약간 다릅니다. 매뉴얼을 참조바랍니다.
'IT관련' 카테고리의 다른 글
오라클 In-memory (인메모리) 관련 유용한 스크립트 모음 (0) | 2022.12.22 |
---|---|
오라클 In-memory (인메모리) 기능 사용방법 (0) | 2022.12.21 |
오라클 Heatmap 정보 조회 및 Clear 하는 방법 (0) | 2022.11.09 |
오라클 In-memory (인메모리) 기능 소개 (Oracle을 메모리DB로 만들어주는) (0) | 2022.11.02 |
오라클 Real-Time SQL Monitoring (실시간 Plan, Trace 툴) 19c 기능개선 부분 (1) | 2022.10.30 |