Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 오라클복구
- tibero
- ORA-27101
- zookeeper
- 하둡설치
- sql연산자
- 하둡
- 하둡권한변경
- sql처리순서
- Linux
- 완전분산환경
- window업데이트
- recovery
- crash recovery
- 카프카
- 에러
- 오라클
- 설치
- initorcl
- Kafka
- hadoop명령어
- 결합연산자
- Standalone
- nomount
- hadoop
- oracle
- centos7
- 실습
- 카프카 사용
- ORA-01034
Archives
- Today
- Total
IT 꿈나무의 일상
[Tibero] Boot Mode 단계에 따른 동작 확인 본문
반응형
Tibero의 Boot Mode는 다음과 같습니다
tibero를 구동하기 위해 tbboot 명령어를 수행하면 기본적으로 기동 순서는 다음과 같습니다.
- NOMOUNT → MOUNT → NORMAL(OPEN)
좀 더 자세하게 살펴보면 아래와 같이 동작합니다.
- tbboot 수행
- [NOMOUNT] license.xml 파일 확인
- [MOUNT] tibero.tip 파일 내용 확인 (.bash_profile 파일의 tibero 환경변수 읽어옴)
- control, log 파일 위치확인
- database 정보 확인 (db_name, port)
- tibero parameter 정보 확인
- [MOUNT] control 파일을 읽어서 REDO LOG, DATA FILE 위치 확인
- [NORMAL] REDO LOG, DATA FILE 을 읽고 데이터를 기록할 수 있는 상태로 전환
각각의 Tibero Boot Mode에 대한 내용입니다.
1. NOMOUNT
- Tibero의 인스턴스(프로세스, 공유메모리)만 동작하는 단계
- $TB_HOME, $TB_SID 환경변수를 토대로 초기화 파라미터 파일을 찾아 읽어와 파라미터를 토대로 공유 메모리 확보 및 백그라운드 프로세스를 생성한다
- 일반적으로 CREATE DATABASE 생성 시에만 사용된다
- tbboot nomount 명령어 수행 시
[tibero@localhost ~]$ tbboot nomount
Listener port = 8629
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (NOMOUNT mode).
# Database 생성전 tbboot(normal mode) 기동시 아직 control file이 생성되지 않아 Unable to read control file 에러 발생
# 해당 경우 nomount mode로 실행된다
[tibero@localhost ~/tibero7/config]$ tbboot
Listener port = 8629
********************************************************
* Warning: Control file open failed
* /home/tibero/file/tbdata/tibero/system01/ctl_01.ctl
********************************************************
********************************************************
* Warning: Control file open failed
* /home/tibero/file/tbdata/tibero/system02/ctl_02.ctl
********************************************************
********************************************************
* Critical Warning : Raise svmode failed. The reason is
* TBR-24003 : Unable to read control file.
* Current server mode is NOMOUNT.
********************************************************
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started suspended at NOMOUNT mode.
2. MOUNT
- 초기화 파라미터에 작성된 경로에 존재하는 컨트롤 파일을 열어 REDO LOG, DATA FILE 위치 파악
- 주로 REDO LOG, DATA FILE 파일 존재 여부를 확인하는 것이 목적이라 해당 위치에 동일한 이름의 파일이 존재한다면 에러는 나지않음
# Data File의 이름을 변경하고 tbboot 시 다음과 같이 파일을 open 할 수 없다는 에러메시지가 나옴
# system001.dtf파일의 이름을 system999.dtf 로 바꾼 후 tbboot로 기동
[tibero@localhost ~/system01]$ mv system.dbf system33.dbf
[tibero@localhost ~/system01]$ tbboot
Listener port = 8629
********************************************************
* Critical Warning : Raise svmode failed. The reason is
* TBR-1024 : Database needs media recovery: open failed(/home/tibero/file/tbdata/tibero/system01/system.dbf).
* Current server mode is MOUNT.
********************************************************
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started suspended at MOUNT mode.
3. NORMAL (OPEN)
- REDO LOG, DATA FILE 내용 확인 후 문제가 없다면 데이터 파일을 읽고 기록할 수 있는 상태로 전환
- 데이터베이스의 비정상적 종료 후 Tibero를 기동할 경우 파손 복구(crash recovery)가 실행
4. RESETLOGS
- Tibero 서버 기동 중 로그 파일 초기화하여 미디어 복구 이후에 사용하는 모드
- 데이터 베이스의 비정상 종료 후에는 사용 불가
+) 추가 테스트
NORMAL MODE에서 control file 백업 후 NOMOUNT MODE에서 control file 재생성
- 순서
- normal mode에서 컨트롤 파일 논리적 백업구문 수행
- 데이터 파일 이름 변경
- nomount mode에서 컨트롤 파일 재생성
- normal mode로 기동 후 정상 동작 여부 확인
1. normal mode에서 컨트롤 파일 논리적 백업 수행
tbboot normal
# control file backup
#1. 물리적 백업
#- alterdatabase backup controlfile to '경로/ctl.ctl'
# 2. 논리적 백업 (추천)
# ctl.sql 확인 시 데이터베이스 파일의 위치와 여러 설정 확인 가능
- alter database backup controlfile to trace as '경로/ctl.sql';
SQL > alter database backup controlfile to trace as '/home/tibero/file/backup/ctl.sql';
Database altered.
# ctl.sql 파일 확인 (해당 쿼리 돌리면 컨트롤 파일 재생성 가능)
--------
CREATE CONTROLFILE REUSE DATABASE "tibero"
LOGFILE
GROUP 1 (
'/home/tibero/file/tbdata/tibero/system01/redo_01a.redo',
'/home/tibero/file/tbdata/tibero/system02/redo_01b.redo'
) SIZE 100M,
GROUP 2 (
'/home/tibero/file/tbdata/tibero/system01/redo_02a.redo',
'/home/tibero/file/tbdata/tibero/system02/redo_02b.redo'
) SIZE 100M,
GROUP 3 (
'/home/tibero/file/tbdata/tibero/system01/redo_03a.redo',
'/home/tibero/file/tbdata/tibero/system02/redo_03b.redo'
) SIZE 100M
NORESETLOGS
DATAFILE
'/home/tibero/file/tbdata/tibero/system01/system.dbf',
'/home/tibero/file/tbdata/tibero/system01/undo_01.dbf',
'/home/tibero/file/tbdata/tibero/system01/usr.dbf',
'/home/tibero/file/tbdata/tibero/system01/tpr.dbf'
ARCHIVELOG
MAXLOGFILES 255
MAXFBLOGFILES 255
MAXLOGMEMBERS 8
MAXDATAFILES 100
MAXARCHIVELOG 500
MAXBACKUPSET 500
MAXLOGHISTORY 500
MAXFBMARKER 168
MAXFBARCHIVELOG 500
MAXSTANDBYARCHIVELOG 500
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF16;
--------
2. 데이터 파일 이름 변경
# 데이터 파일 이름 변경 후 nomount 모드에서 컨트롤 파일 재생성
[root@localhost system01]# mv system.dbf system999.dbf
3. nomount mode에서 컨트롤 파일 재생성
[tibero@localhost ~]$ tbboot nomount
# ctl.sql 파일 내용에서 데이터 파일 이름만 변경 후 재생성
[tibero@localhost ~]$ tbsql sys/tibero @ctl.sql
4. normal mode로 기동 후 동작 확인
# media recovery 필요
[tibero@localhost ~]$ tbboot
Listener port = 8629
********************************************************
* Critical Warning : Raise svmode failed. The reason is
* TBR-1024 : Database needs media recovery: media recovery required(/home/tibero/file/tbdata/tibero/system01/system999.dbf).
* Current server mode is MOUNT.
********************************************************
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started suspended at MOUNT mode.
# 데이터베이스 recovery 수행 (아카이브 로그 + 백업본으로 자동으로 복구)
SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE;
Database altered.
SQL> q
## 새로 생성한 control file을 사용하여 tbboot 수행 -> 정상동작
[tibero@localhost ~]$ tbboot
Listener port = 8629
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (NORMAL mode).
반응형
'DB' 카테고리의 다른 글
[Tibero] 체크포인트와 TSN (Tibero System Number) (1) | 2023.10.27 |
---|---|
오라클 파라미터 파일 손상으로 인한 복구방법 (0) | 2021.11.30 |
[ORACLE] JOIN과 숫자함수, 문자함수 실습 (0) | 2021.08.08 |
[ORACLE] SQL 연산자 (비교 / 결합 / in /any / exists ) 실습 (0) | 2021.08.08 |
[ORACLE] where절과 having절 실습 (0) | 2021.08.08 |
Comments