_TX_RECOVERY_SUSPEND=Y 대용량 트랜잭션 수행 중 DB가 종료되었을 때, 복구 대상인 트랜잭션들을 undo segment에서 모두 찾아 해당 object에 반영해주는 작업을 수행하게 된다. 대용량 insert 또는 update 도중 DB가 종료된 경우 모두 rollback 처리가 선행되며 이 과정에서 해당 object에 대한 아무런 작업을 할 수 없고 모든 DDL이 수행되지 않는 상태가 되는데 이런 경우 _TX_RECOVERY_SUSPEND 파라미터를 적용해볼 수 […]
[Python] JayDeBeApi
JayDeBeApi The JayDeBeApi module allows you to connect from Python code to databases using Java JDBC. It provides a Python DB-API v2.0 to that database. https://pypi.org/project/JayDeBeApi/ install jdbc를 사용하다보니 java가 설치돼 있어야 한다. Python Version $ python –version Python 3.6.6 pip를 이용한 설치 $ pip install JayDeBeApi Collecting JayDeBeApi Downloading https://files.pythonhosted.org/packages/2a/63/5fbffcbf0463fe26f55ee8ff08bcbb812cab4df2decddfac645cbac966ed/JayDeBeApi-1.1.1-py3-none-any.whl Collecting JPype1 (from JayDeBeApi) […]
[Tibero] BIND_VARIABLE_CAPTURE
BIND_VARIABLE_CAPTURE 불필요한 hard parse를 줄이기 위해서 바인드 변수를 많이 사용하는데, SQL에서 바인드 변수를 사용하게 되면 대신 sql_text에 해당 변수 값이 기록되지 않아 디버깅이 어려워질 수 있다. 이런 경우 BIND_VARIABLE_CAPTURE 파라미터를 활성화 하여 해당 변수 값을 기록해둘 수 있다. 사용 방법 system 사용자로 로그인하여 다음 쿼리 수행. SQL> alter system set BIND_VARIABLE_CAPTURE=Y; 관련 파라미터 BIND_VARIABLE_CAPTURE_MAX_COUNT v$sql_bind_capture […]
[Tibero] AGGR_CONCAT, REPLACE, CHR 함수를 이용한 쿼리 만들기
AGGR_CONCAT, REPLACE, CHR 함수를 이용한 쿼리 만들기 AGGR_CONCAT, REPLACE, CHR 함수로 테이블 내의 데이터를 원하는대로 나열할 수 있다. AGGR_CONCAT을 이용하면 여러 행의 데이터를 하나의 컬럼으로 모아서 보여줄 수 있다. SELECT AGGR_CONCAT(LEVEL,’,’) FROM DUAL CONNECT BY LEVEL < 10 위 쿼리를 수행하면 다음과 같이 한 행에 모든 행의 값을 ,로 구분해서 반환해준다. AGGR_CONCAT(LEVEL,’,’) ——————————————————————————– 1,2,3,4,5,6,7,8,9 1 […]
[Tibero] tbExport/tbImport
tbExport/tbImport Tibero를 설치하면 $TB_HOME/client/bin 경로에 기본적으로 포함된 유틸리티로, tbExport는 Tibero 데이터베이스 객체의 전체나 일부를 파일로 추출하며, 추출된 덤프 파일과 tbImport를 이용해서 Tibero에 데이터를 다시 생성할 수 있다. tbExport 모드 전체 데이터베이스 모드 Tibero 데이터베이스 전체를 덤프하는 모드로 아래 파라미터 지정으로 설정할 수 있다. FULL=Y 사용자 모드 지정된 사용자의 모든 객체를 덤프하는 모드로 아래와 같이 userlist를 […]
[Tibero] Tibero6 TAC 설치
Tibero 6 TAC Installation 사전 준비 시스템 사용자 생성 (root 권한 필요) 관리 목적으로 지정하는 것이므로 설치하는 시스템에 맞게 시스템 사용자, 그룹, 보조 그룹, uid 등을 설정해서 사용한다. useradd tibero -g dba -u 8629 tibero 계정 프로파일 설정 Tibero 계정으로 sh 에 접근한 뒤 vi ~/.bash_profile 파일 맨 아래에 다음 내용을 추가한다. # Java ENV […]
[Tibero] Tibero6 Single 설치
Tibero 6 Single Installation 사전 준비 의존 패키지 (root 권한 필요) 다음 패키지들의 해당 버전 이상이 설치되어 있어야 한다. gcc-3.4.6-11 gcc-c++-3.4.6-11 libgcc-3.4.6-11 libstdc++-3.4.6-11 libstdc++-devel-3.4.6-11 compat-libstdc++-33-3.2.3-47.3 libaio-0.3.105-2 libaio-devel-0.3.105-2 시스템 사용자 생성 및 디렉토리 설정 시스템 사용자 생성 및 sh 프로파일 설정 시스템 사용자 생성 (root 권한 필요) 선택사항으로 DBA 또는 DB 사용자가 원하는 시스템 계정, 그룹으로 […]
[Tibero] Database Link
Tibero Database Link Database Link는 데이터베이스 내의 object 중의 하나로서 네트워크 상의 다른 데이터베이스에 접근하기 위해 사용 Tibero <-> Oracle 이기종 RDBMS 간의 접근을 위한 매개체(Gateway)가 필요 Tibero to Oracle (Local 방식) Gateway를 미리 기동하지 않고 DB Link 가 호출될 때마다 Gateway가 기동되는 방식. Tibero 프로세스가 Gateway 설정 정보를 알고있어야 하므로 DB가 이미 실행되고 있는 […]
[Tibero] REDO Logfile 관리
logfile 사이즈 변경 logfile 상태 확인 select l.group#, l.status, l.bytes, lf.member , l.first_time from v$log l, v$logfile lf where l.group# = lf.group# Inactive 파일 삭제 alter database drop logfile group 1; –실제 데이터파일 삭제 필요 logfile 추가 alter database add logfile group 1 ( ‘/tbdata/redo011.redo’,’/tbdata/redo012.redo’); redo log 관련 view v$log SQL> desc v$log COLUMN_NAME TYPE […]
[Tibero] 데이터베이스 주요 파일 RENAME
개별 파일 변경 LOGFILE RENAME 로그파일 조회 select member from v$logfile; DB 종료 후 기존 로그파일 이동 cp redo001_old.redo redo001_new.redo mount 모드 기동 RENAME alter database rename file ‘redo001_old.redo’ to ‘redo001_new.redo’; DATAFILE RENAME 데이터파일 조회 select name from v$datafile; DB 종료 후 기존 데이터파일 이동 cp usr001_old.dtf usr001_new.dtf mount 모드 기동 RENAME alter database rename […]