oracle

varchar2 컬럼 4000byte 이상 사용하기

blog.and.kr mysop 2021. 1. 29. 14:58
728x90

MAX_STRING_SIZE = EXTENDED 

 

이옵션으로 디비를 업그레이드 한다.

 

아래같이 따라한다.

 

SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;

SQL> ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE;

 

shutdown

 

SQL> startup upgrade;

SQL> ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE;

 

EXIT;

 

다시 시도해 보자... 

 

 

 

안된다...

 

 

다시 살펴보니 spfile로만 빼놓고

init.ora에 설정이 빠져있다

 

기동시킬때 spfile로 기동을 안시켰으니

init.ora에 설정 집어넣고 다시 해보자

 

*.max_string_size='EXTENDED'

 

다시 도전~

 

SQL> ALTER PLUGGABLE DATABASE ALL OPEN READ WRITE;

 

이거 빼먹었다고 찾아보니 나오는데

 

다시도전 #3

 

SQL> shutdown abort

SQL> startup upgrade

 

죽였다가 업그레이드 모드로 시작한후 아래 스크립트를 실행한다

 

SQL> @?/rdbms/admin/utl32k.sql
SQL> shutdown

 

스크립트 실행하고 서버 종료후 다시 시도하라고 뒤에 또 글이 있음

 

다시 도전 #4

 

sysdba는 테이블 추가가 되는데

일반 dba계정은 늘어날 컬럼으로 테이블이 추가가 안된다

 

그래서 일반 계정을 sysdba모드로 로그인후

테이블을 추가했다...

 

# sqlplus

SQL*Plus: Release 12.2.0.1.0 Production on Fri Jan 29 07:13:32 2021

 

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

 

Enter user-name: 계정명 / as sysdba

Enter password: 

 

이방법은 야매이므로 문제가 될수 있다

 

이방법은 안됨...

 

 

출처 : https://docs.oracle.com/database/121/REFRN/GUID-D424D23B-0933-425F-BC69-9C0E6724693C.htm#REFRN10321

중간출처 : www.koreaoug.org/c12/8204

728x90