문서유형ㅣ기술정보
분야ㅣ마이그레이션
적용제품버전ㅣ6FS07, 6FS07PS, 7FS02, 7FS02PS
문서번호ㅣTMITI019
개요
본 문서에서는 Oracle에서 Tibero DB로 전환하기 전 점검 사항에 대해서 설명합니다.
사전 점검은 전환하기 전 Oracle의 특성을 파악하고 Tibero에 적용해야 하는 값들을 확인하는 중요한 절차입니다.
방법
1. Oracle 버전 확인
select * from v$version;
2. Oracle 문자 집합 정보 확인
CHARACTERSET 조회
--ORACLE CHARACTERSET 조회 set linesize 150 set pagesize 100 select name, value$ from sys.props$ where name like '%CHARACTERSET' order by name; --TIBERO CHARACTERSET 조회 select * from _vt_nls_character_set;
참고
KO16KSC5601, KO16MSWIN949, JA16SJIS에서 UTF8, AL32UTF8로 변경할 경우 해당 테이블 column 크기를 1.5~2배 정도 늘린 후에 데이터 전환을 해야합니다.
Oracle의 National CHARACTERSET이 UTF8이고 Tibero가 UTF16이라면 관련 타입의 글자가 깨져서 전환되므로 동일한 설정이 필요합니다.
Oracle과 Tibero간 대응되는 문자 집합
$ tbboot -C Available character set list Charset name Equivalent Oracle Charset name AR8ISO8859P6 AR8ISO8859P6 AR8MSWIN1256 AR8MSWIN1256 ASCII US7ASCII CL8ISO8859P5 CL8ISO8859P5 CL8KOI8R CL8KOI8R CL8MSWIN1251 CL8MSWIN1251 EE8ISO8859P2 EE8ISO8859P2 EL8ISO8859P7 EL8ISO8859P7 EL8MSWIN1253 EL8MSWIN1253 EUCKR KO16KSC5601 EUCTW ZHT32EUC GB18030 ZHS32GB18030 GBK ZHS16GBK IW8ISO8859P8 IW8ISO8859P8 JA16EUC JA16EUC JA16EUCTILDE JA16EUCTILDE JA16SJIS JA16SJIS JA16SJISTILDE JA16SJISTILDE MSWIN949 KO16MSWIN949 RU8PC866 RU8PC866 SJIS SJISTILDE TH8TISASCII TH8TISASCII UTF16 AL16UTF16 UTF8 AL32UTF8 VN8VN3 VN8VN3 WE8ISO8859P1 WE8ISO8859P1 WE8ISO8859P15 WE8ISO8859P15 WE8ISO8859P9 WE8ISO8859P9 WE8MSWIN1252 WE8MSWIN1252 ZHT16BIG5 ZHT16BIG5 ZHT16HKSCS ZHT16HKSCS ZHT16MSWIN950 ZHT16MSWIN950 Available nls_date_lang set list AMERICAN BRAZILIAN PORTUGUESE BULGARIAN CATALAN CROATIAN CZECH DANISH DUTCH ENGLISH ESTONIAN FINNISH FRENCH GERMAN HEBREW HUNGARIAN ICELANDIC INDONESIAN ITALIAN JAPANESE KOREAN LATVIAN LITHUANIAN MEXICAN SPANISH NORWEGIAN POLISH PORTUGUESE ROMANIAN RUSSIAN SIMPLIFIED CHINESE SLOVAK SPANISH SWEDISH THAI TRADITIONAL CHINESE TURKISH VIETNAMESE
3. Oracle 사용자 조회
전체 사용자 목록 조회
set linesize 120 set pagesize 100 select username, account_status, default_tablespace, temporary_tablespace from dba_users order by oracle;
Open된 사용자 목록 조회
set linesize 120 set pagesize 100 select username, default_tablespace, temporary_tablespace from dba_users where account_status='OPEN' order by username;
Oracle 기본 사용자 목록
ANONYMOUS APEX_050100 APEX_PUBLIC_USER APPQOSSYS AUDSYS CTXSYS DBSFWUSER DBSNMP DIP DVSYS DVF FLOWS_FILES GGSYS GSMADMIN_INTERNAL GSMCATUSER GSMUSER HR LBACSYS MDDATA MDSYS OUTLN ORACLE_OCM REMOTE_SCHEDULER_AGENT SYS SYSTEM SYSBACKUP SYSKM SYSDG SYSRAC SYS$UMF WMSYS XDB XS$NULL
참고
Database Install Guide 에서 최신 업데이트 User를 확인합니다.
4. 전환할 크기 조회
전체 Tablespace 크기와 사용량 조회
select x.a tablespace_name , sum(x.b)/1024 "tot_size(mb)" , sum(x.c)/1024 "used_size(mb)" , sum(x.c)/sum(x.b)*100 rate from ( select b.tablespace_name a ,sum(bytes)/1024 b ,0 c from dba_data_files b group by b.tablespace_name union select d.tablespace_name, 0, sum(bytes)/1024 from dba_segments d group by d.tablespace_name )x group by x.a;
전체 Segment 합계 크기 조회
select sum(x.b)/1024 "tot(mb)", sum(x.c)/1024 "used(mb)" from ( select sum(bytes)/1024 b, 0 c from dba_data_files b union select 0, sum(bytes)/1024 from dba_segments d ) x;
5. Oracle Object 조회
Object 개수 확인
set linesize 150 col owner format a30 select owner, object_type, status, count(*) from dba_objects where owner in (select username from dba_users where account_status='OPEN' ) group by owner, object_type, status order by owner, object_type, status;
참고
실제 dba_object에는 삭제된 Object까지 포함될 수 있어, 정확한 Count 확인을 위해서는 dba_tables, dba_indexes를 같이 참고할 것을 권장합니다.
INVALID한 Object에 대해서는 사전에 고객사 DB 담당자에게 정리 요청을 함으로써 전환시간을 단축할 수 있습니다.
Constraint 개수 확인
set linesize 150 col owner format a30 select owner , constraint_type , count( constraint_name ) as "con_cnt" from dba_constraints where owner in (select username from dba_users where account_status='OPEN' ) group by owner, constraint_type order by owner ,constraint_type;
6. 초기 파라미터 정보 조회
show parameter <파라미터명>
7. Redo Log 구성 확인
set linesize 150 select * from v$logfile; select group#, bytes/1024/1024 as "size(mb)", members, archived from v$log;
참고
Tibero에서 Redo Log를 생성할 경우 참고하여 파일 크기를 동일하거나 더 크게 생성합니다.
8. UNDO, TEMP Tablespace 구성 확인
UNDO Tablespace 구성 조회
show parameters undo_tablespace; set linesize 150 col tablespace_name format a40 col file_name format a50 select tablespace_name, file_name, bytes/1024/1024 "size(mb)" , maxbytes/1024/1024 "maxsize(mb)", autoextensible from dba_data_files where tablespace_name = 'UNDOTBS1' -- show parameters undo_tablespace;의 결과값 입력
TEMP Tablespace 구성 조회
col file_name format a50 select tablespace_name, file_name, bytes/1024/1024 "size mb", autoextensible from dba_temp_files;
9. Log Mode 확인
select log_mode from v$database;
참고
ARCHIVE LOG 모드라면 전환 시간 단축을 위해 전환이 모두 완료된 이후에 모드를 변경합니다.
10. 추가 Object 확인
DB Link 조회
set linesize 150 col owner format a15 col db_link format a20 col username format a20 col host format a50 select * from dba_db_links;
tnsnames.ora 파일 조회
cat $ORACLE_HOME/network/admin/tnsnames.ora
JOB 조회
set linesize 200 select job, schema_user, broken, instance from dba_jobs; set linesize 150 col interval format a50 select job, schema_user, next_date, broken, interval from dba_jobs;
Cluster Object 조회
select *
from dba_objects
where object_type like '%CLUSTER%'
and owner not in ('SYS');
XML Type 조회
set linesize 200
select owner, table_name, column_name, data_type
from dba_tab_cols
where data_type like '%XML%'
and owner not in ('SYS');
Bit Map Index 조회
select * from dba_indexes where index_type like '%BITMAP%';