Tibero/아키텍쳐 9

Tibero, Oracle lock 종류

Shared (S) Lock: 여러 사용자가 동일한 데이터를 읽을 수 있는 공유 잠금입니다. S Lock이 설정된 경우 다른 트랜잭션도 동일한 데이터를 읽을 수 있지만, 쓰기 작업을 하려는 경우에는 대기해야 합니다. S Lock은 다른 S Lock과 호환되지만, X Lock과는 호환되지 않습니다.Row Share (RS) Lock: 특정 행에 대한 읽기 공유 잠금입니다. RS Lock이 설정되면 다른 트랜잭션도 동일한 행을 읽을 수 있지만, 쓰기 작업을 하려는 경우 대기해야 합니다. RS Lock은 S Lock과 비슷하지만, 특정 행에 대해서만 적용되는 점에서 차이가 있습니다.Row Exclusive (RX) Lock: 특정 행에 대한 읽기와 쓰기 모두를 제한하는 잠금입니다. RX Lock이 설정된 경우..

Tibero/아키텍쳐 2023.09.22

Tibero HA 및 멀티인스턴스

HA 구성 설치 방식 1. 공유스토리지 영역에 엔진을 설치하는 경우 티베로 엔진 자체가 공유 스토리지 영역에 있으며 Failover 시 클러스터를 통해 IP 만 Standby 서버로 넘어가는 형식이다. 하지만 공유스토리지 자체에 장애가 발생하게 되면 아예 DB를 사용할 수 없게 된다. license.xml에 두 서버의 license정보를 모두 넣는다. 2. 각 서버(Active, Standby)마다 엔진을 설치하는 경우 Active와 Standby 서버에 Tibero를 각각 설치하고 공유 스토리지를 통해 데이터를 공유하게 된다. Failover 시 클러스터를 통해 서버 자체가 Standby로 넘어가게 된다. 하지만 각 서버에 엔진을 설치하는 경우는 업무가 작을 시에 사이트 입장에서 돈 낭비.. 멀티인스턴..

Tibero/아키텍쳐 2023.03.13

Tibero Object 정리

티베로의 오브젝트 목록은 다음과 같다. • TABLE • SYNONYM • INDEX • VIEW • SEQUENCE • JOB 이제 해당 오브젝트마다 그 오브젝트가 무엇인지 설명해보도록 하겠다. TABLE 데이터베이스에서 실제 데이터가 저장되는 논리적 구조를 의미한다. 종류에 따라 일반 테이블과 파티션 테이블로 나뉜다. DBA_TABLES에서 모든 테이블에 관한 정보를 조회할 수 있다. 또한 테이블에는 테이블의 컬럼에 사용자가 원하지 않는 데이터가 입력, 변경, 삭제되는 것을 방지하는 방법인 제약조건이 존재하는데, PRIMARY_KEY,UNIQUE 등등이 있겠다. 이는 DBA_CONSTRAINTS에서 조회 가능하다. 파티션(PARTITION) 테이블 지속적으로 용량이 증가하는 논리적 테이블을 여러 개의..

Tibero/아키텍쳐 2023.02.01

tbdown 옵션 정리

Tibero Instance 종료 과정 • Database Close – TSM에 있는 모든 Database Data와 Recovery Data를 Data File과 Redo Log File에 각각 기록. • Dismounting Database – Control File을 Close. • Instance Shutdown – TSM에 있는 Memory가 제거되고, Process가 종료. – Abnormal Shutdown이 되었을 경우 TSM에 Memory가 상주해 있거나 Process가 종료되지 않을 수가 있다. 따라서 남아 있는 이전 Instance를 제거하거나, tbdown abort 명령어를 이용하여 새로운 Instance를 강제로 종료 하고, tbdown clean. 옵션 없이 tbdown 명령..

Tibero/아키텍쳐 2023.01.26

tbboot 단계 정리

Tibero의 boot는 tbboot 명령어로 수행할 수 있으며, tbboot 명령어를 실행하기 전에 환경변수 $TB_HOME, $TB_SID가 제대로 설정되어 있어야 한다 1. NOMOUNT Tibero의 프로세스만 기동시키는 단계 - tip 파일의 파라미터를 읽어 TSM을 할당하고, 인스턴스를 구성한다. - nomount 단계로 기동되지 않는 경우 tip파일 / 커널 파라미터 / Shell limits 중 하나에 문제가 있다. - database 및 control file을 생성할 수 있다. + Tibero 설치 중 os 커널 파라미터, shell limits를 설정하고, gen_tip.sh로 tip파일을 얻은 후 nomount 기동하는 것 2. MOUNT 미디어 복구를 위해 사용하는 단계 - nom..

Tibero/아키텍쳐 2023.01.26

티베로 설치시 기본적으로 생성되는 파일 정리

컨트롤파일 데이터 파일의 경로가 담겨져 있는 파일 데이터 파일 system 기본적으로 가져야할 것들이 들어가는 테이블스페이스.. syssub TPR 관련 정보가 들어가는 테이블스페이스.. usr 기본 테이블스페이스 temp 임시적으로 어떠한 정보가 들어가는 테이블스페리스 undo 데이터의 원자성을 보장하기 위한 장치 로그 파일 log 리두 로그가 들어가는 테이블 스페이스.. 리두란 데이터를 복구할 때 사용함 아카이브 파일 archive 리두를 이용하다보면 리두가 덮어씌워지게 된다... 덮어씌워지기전의 리두 상태를 저장하기 위해 씀

Tibero/아키텍쳐 2023.01.19

HA (High Availability), TAC, TSC

Tibero는 서비스 제공 중 장애가 발생할 시에도 서비스 제공이 중단되지 않고 지속적으로 서비스를 제공하기 위해 여러 가지 방법으로 고가용성 및 재해복구를 보장한다.특히 내가 속해있는 부서의 경우 DB가 먹통이 되는 등의 이슈가 발생 시 상당히 치명적이기 때문에 해당 기능이 더 중요시된다.  그렇다면 Tibero가 어떠한 방법으로 고가용성 및 재해복구를 보장하는지 살펴보도록 하자.    디스크 절체 방식 HA (High Availability)- 2개의 서버를 이용하여 하나는 Active 상태, 다른 하나는 Standby 상태로 정해 둔다.- 거의 모든 부하를 Active에서 부담하고, Standby 서버는 Active 서버에 장애가 발생할 경우만 가동된다.    > Active 서버가 장애로 인해 작..

Tibero/아키텍쳐 2022.12.28

Tibero 아키텍쳐 정리 2

Tablespace 안에 Datafile, Datafile 안에 Table, index (세그먼트라고 함, 여러 개의 datafile에 걸쳐있을 수 있음) Select * from dba_segments 기억하기,,,, Tempfile : order by, 인덱스 생성할 때 사용되는 tablespace 온라인 데이터 파일 및 오프라인 데이터 파일 - 어떤 데이터 파일을 더 이상 안쓸 때 오프라인으로 설정,,,데이터 파일의 이름이나 경로를 바꾸기 위해 사용 (잘 쓰지 않음) 데이터 파일 구조 물리 저장 구조 Online Redo Log Files : 복구를 위해 데이터베이스 변경사항을 기록함. 리두 로그 그룹은 적어도 2개 이상으로 순환하며 사용, 만약 Database운영 Mode가 ARCHIVELOG M..

Tibero/아키텍쳐 2022.12.22

Tibero 아키텍쳐 정리 1

빨간영역이 인스턴스, 스토리지가 데이터베이스이다. 순서 1. 사용자가 인터페이스를 통해 리스너에게 요청 2. 리스너를 통해 워킹 프로세스로 접근 3. 공유메모리 혹은 공유메모리에 없다면 스토리지에서 내용을 가져와 사용 (스토리지 : 디스크, 메모리 : ram) 순서 1. 클라이언트가 리스너에서 접속 요청 2. 리스너가 현재 빈 WTHR이 있는 프로세스를 찾아서 이 사용자의 접속 요청을 CTHR에 요청 3. CTHR이 WTHR중 일하고 있지 않는 하나에게 일을 할당(내용이 없다면 공유메모리에서 찾아봄) 4. WTHR은 Client와 인증 절차를 걸쳐 세션 시작. 처리 후 클라이언트에게 반환 리스너 클라이언트의 새로운 접속 요청을 받아 이를 유휴한 워커 프로세스에 할당 리스너를 alter문으로 추가하는 법 ..

Tibero/아키텍쳐 2022.12.22