35
Tibero RDBMS Backup&Recovery(Basic) 문서에서는 Tibero RDBMS 운영 중에 발생할 있는 장애상황을 가정하여 유형별 장애상황에 대해 Tibero 에서 지원하고 있는 백업 복구방법을 알아본다.

Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

Tibero RDBMS Backup&Recovery(Basic)

본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을 가정하여 각 유형별 장애상황에 대해 Tibero

에서 지원하고 있는 백업 및 복구방법을 알아본다.

Page 2: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

1

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

1. BACKUP & RECOVERY 개요 .................................................................................................... 4

1.1. BACKUP(백업) .................................................................................................................................................... 4

1.2. RECOVERY(복구) ................................................................................................................................................ 4

2. BACKUP ....................................................................................................................................... 5

2.1. 백업 형태 .......................................................................................................................................................... 5

2.1.1. 논리적인 백업 ....................................................................................................................................... 5

2.1.2. 물리적인 백업 ....................................................................................................................................... 5

2.2. 백업 모드 .......................................................................................................................................................... 6

2.3. BACKUP TEST ....................................................................................................................................................... 7

2.3.1. Controlfile Backup ............................................................................................................................... 7

2.3.1.1. Controlfile ............................................................................................................................................................... 7

2.3.1.2. 사용되는 동적 뷰 ............................................................................................................................................... 7

2.3.1.3. 다중화 방법 ........................................................................................................................................................... 7

2.3.1.4. 백업방법 .................................................................................................................................................................. 7

2.3.2. Online Backup ....................................................................................................................................... 8

2.3.2.1. 티베로 운영 중 백업(온라인 백업) ............................................................................................................ 8

2.3.2.2. 동적 뷰 .................................................................................................................................................................... 8

2.3.3. Offline Backup ....................................................................................................................................... 9

2.3.3.1. Tibero 종료 후 백업 ......................................................................................................................................... 9

3. RECOVERY ................................................................................................................................. 11

3.1. 부트 과정별 복구........................................................................................................................................ 11

3.1.1. NOMOUNT .......................................................................................................................................... 11

3.1.2. MOUNT ................................................................................................................................................. 11

3.1.3. OPEN ...................................................................................................................................................... 11

3.2. RECOVERY 종류 .............................................................................................................................................. 11

3.2.1. Crash Recovery .................................................................................................................................. 11

3.2.2. Media Recovery ................................................................................................................................. 12

3.3. RECOVERY TEST................................................................................................................................................ 13

3.3.1. Recovery 테스트 홖경구성 .......................................................................................................... 13

3.3.1.1. .tip 파일 설정($TB_SID.tip) ........................................................................................................................... 13

Contents

Page 3: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

2

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.1.2. Database 생성 ................................................................................................................................................... 14

3.3.1.3. Tablespace 생성 ................................................................................................................................................ 14

3.3.1.4. User 생성 .............................................................................................................................................................. 14

3.3.2. Controlfile 복구 ................................................................................................................................. 15

3.3.2.1. 운영상태에서 Controlfile이 삭제된 경우 ............................................................................................. 15

3.3.2.2. 운영상태에서 Controlfile이 다른 파일로 덮어 씌워진 경우 ...................................................... 16

3.3.2.3. Database down 상태에서 이중화 Controlfile 하나 삭제된 경우 ............................................ 16

3.3.3. Online logfile 복구 .......................................................................................................................... 17

3.3.3.1. 운영상태에서 로그그룹의 로그멤버 하나가 삭제된 경우 ........................................................... 17

3.3.3.2. 운영상태에서 INACTIVE 모드의 로그멤버가 삭제된 경우 .......................................................... 19

3.3.3.3. 운영상태에서 CURRENT 모드의 로그그룹이 삭제된 경우 ......................................................... 20

3.3.4. Temp Tablespace 복구 ................................................................................................................... 23

3.3.4.1. 테이블스페이스의 Temp file 이 삭제된 경우 .................................................................................... 23

3.3.5. Datafile 장애 시 완젂복구 ........................................................................................................... 24

3.3.5.1. 자동 완젂복구 (Archivelog mode) ........................................................................................................... 24

3.3.5.2. 사용자 완젂복구 (Archivelog mode) ...................................................................................................... 25

3.3.5.3. 백업 Datafile 이 없을 시 완젂복구 (Archivelog mode)............................................................... 26

3.3.6. Datafile 장애 시 불완젂복구 ...................................................................................................... 27

3.3.6.1. 변경기반(TSN) 불완젂복구 (Archivelog mode) ................................................................................. 27

3.3.6.2. 시갂기반 불완젂복구 (Archivelog mode) ............................................................................................. 29

3.3.6.3. 취소기반 불완젂복구 (Archivelog mode) ............................................................................................. 30

3.3.7. Datafile 유실 시 복구 .................................................................................................................... 31

3.3.7.1. Datafile이 유실되었을 경우에 복구 ........................................................................................................ 31

3.3.7.2. Datafile 다른곳으로 이동했을 경우에 복구........................................................................................ 33

Page 4: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

3

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

Update History

Date Worker Comments

2011.03.11 박근용 문서서식업데이트

2009.11.30 백서현 문서내용보완

2009.10.20 강대젂 문서서식업데이트 및 내용보완•교정

2008.06.20 이임형 최초작성

Page 5: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

4

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

1. Backup & Recovery 개요

1.1. Backup(백업)

• 여러 가지 유형의 장애로부터 데이터베이스를 보호하기 위함.

• MTBF(Mean Time Between Failure)를 증가시키고, MTTR(Mean Time To Recover)를 감

• 관리자는 시스템 장애 시 발생한 손실을 최소화하고 복구 가능한 상태로 데이터베이

스를 운용해야 함

• 최소한 한 달에 한번 데이터베이스 젂체백업 및 하루에 한번씩 Export 백업 권장

• 데이터베이스 관리자는 백업에 대한 정책을 수립하고 꼭 필요한 데이터를 최소한의

양으로 백업해야 함.

• 백업이 정상적으로 수행되었는지 주기적으로 검증하는 것을 권장

1.2. Recovery(복구)

• 시스템 장애 발생 시 복원 또는 시스템 작동을 유지하기 위한 젃차 또는 기법

Page 6: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

5

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

2. Backup

2.1. 백업 형태

2.1.1. 논리적인 백업

- 데이터베이스의 논리적인 단위 백업

예) Table, Index, Constraint, Sequence 등으로 Export 툴로 백업

2.1.2. 물리적인 백업

- 데이터베이스를 구성하는 파일을 운영체제 레벨에서 copy명령으로 백업

예) datafile, controlfile, archive logfile

Page 7: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

6

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

2.2. 백업 모드

● NOARCHIVELOG 모드에서의 백업 (Offline Backup / Cold Backup)

데이터베이스를 구성하는 젂체 파일에 대해 운영을 멈춘 상태에서 백업

데이터베이스를 백업 받은 시점으로의 복구만 가능

● ARCHIVELOG 모드에서의 백업 (Online Backup / Hot Backup)

데이터베이스 운영중에도 백업가능. Controlfile 생성문, Datafile, Archive logfile 백업

백업된 archive logfile 의 시점에 따라 datafile 백업 시점 이후로의 복구도 가능

● Consistent 백업

정상적인 Shutdown 후의 Backup

● Inconsistent 백업

DB 운영중에 Backup 또는 정상종료 되지 않은 상태에서의 Backup

NOARCHIVELOG 모드에서는 권장하지 않음

Page 8: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

7

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

2.3. Backup Test

2.3.1. Controlfile Backup

2.3.1.1. Controlfile

- 데이터베이스의 구조를 이진 파일 형태로 저장

- 데이터베이스를 mount 할 때 반드시 필요

- 파일이 없으면 복구를 하거나 재 생성해야 함

- 두 개 이상의 controlfile로 구성을 권장하고 서로 다른 디스크에 위치시킬 것

2.3.1.2. 사용되는 동적 뷰

- v$controlfile

2.3.1.3. 다중화 방법

- 데이터베이스를 down (tbdown)

- Control file을 다른 위치로 copy

- $TB_SID.tip파일 내 CONTROL_FILES파라미터에 위에서 copy한 Control file 경로추가

- 데이터베이스를 기동 (tbboot)

2.3.1.4. 백업방법

- Offline backup : O/S의 copy 명령을 통해 별도의 위치에 copy

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS

[백업할 파일 경로 및 이름] REUSE NORESETLOGS;

Page 9: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

8

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

2.3.2. Online Backup

2.3.2.1. 티베로 운영 중 백업(온라인 백업)

ALTER DATABASE 명령으로 테이블스페이스의 Datafile 백업한다.

ARCHIVELOG 모드에서만 사용 가능하다.

- Tibero 데이터베이스에 온라인 백업 시작을 알림

SQL> ALTER TABLESPACE SYSTEM BEGIN BACKUP;

- OS 명령으로 해당 테이블스페이스의 데이터파일 복사

SQL> !cp /home/tibero/tbdata/system001.tdf /home/tibero/tbdata_bak/system001.tdf

- Tibero 데이터베이스에 온라인 백업 종료를 알림

SQL> ALTER TABLESPACE SYSTEM END BACKUP;

* 주의사항 : 온라인 백업 중에는 데이터베이스의 변경 사항에 대한 log의 양이 늘어나기 때문에 가능하면

싞속하게 작업을 종료할 것

2.3.2.2. 동적 뷰

- V$BACKUP : 현재 begin backup으로 인해 backup mode인 상태를 확인한다.

SQL> ALTER TABLESPACE SYSTEM BEGIN BACKUP;

SQL> select * from v$backup;

FILE# STATUS CHANGE# TIME

------------- --------------- ---------- --------------------

0 ACTIVE 12084 2009/11/30

1 NOT ACTIVE 0

2 NOT ACTIVE 0

3 NOT ACTIVE 0

Page 10: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

9

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

2.3.3. Offline Backup

2.3.3.1. Tibero 종료 후 백업

Tibero를 정상 종료한 후 OS의 Copy 명령을 이용해 Datafile, Logfile, Controlfile, Tip file

등을 백업한다. MOUNT 또는 OPEN 모드에서 v$datafile, v$logfile 뷰를 통해 백업할 파

일 정보 조회할 수 있으며, ARCHIVELOG 모드에서는 archive 파일도 백업해야 한다.

- V$DATAFILE에서 백업 대상 파일 조회

SQL> select file#, create_date, ts#, status, enabled, ckpt_tsn, name from v$datafile;

FILE# CREATE_DATE TS# STATUS ENABLED CKPT_TSN NAME

---------- -------------------- ---------- ------- ---------- ---------- ----------------------------------------

0 2009/11/30 0 ONLINE READ WRITE 12140

/home/tibero/tbdata/system001.tdf

1 2009/11/30 1 ONLINE READ WRITE 12140

/home/tibero/tbdata/undo001.tdf

2 2009/11/30 3 ONLINE READ WRITE 12140

/home/tibero/tbdata/usr001.tdf

3 2009/11/30 4 ONLINE READ WRITE 12140

/home/tibero/tbdata/my_file001.tdf

- V$LOGFILE에서 백업 대상 logfile 조회

SQL> select group#, status, type, member from v$logfile;

GROUP# STATUS TYPE MEMBER

---------- ------- ------ ----------------------------------------

0 ONLINE /home/tibero/tbdata/redo01.redo

0 ONLINE /home/tibero/tbdata/redo02.redo

1 ONLINE /home/tibero/tbdata/redo11.redo

1 ONLINE /home/tibero/tbdata/redo12.redo

2 ONLINE /home/tibero/tbdata/redo21.redo

2 ONLINE /home/tibero/tbdata/redo22.redo

- V$CONTROLFILE에서 백업 대상 controlfile 조회

SQL> select name from v$controlfile;

NAME

----------------------------------------

/home/tibero/tbdata/control01.ctl

/home/tibero/tbdata/control02.ctl

Page 11: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

10

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

- 티베로를 정상 종료

$ tbdown

- File copy (앞에서 조회한 모든 파일을 copy 한다.

$ cp /home/tibero/tbdata/*.tdf /home/tibero/tbdata_bak/

$ cp /home/tibero/tbdata/*.tdf /home/tibero/tbdata_bak/

$ cp /home/tibero/tbdata/*.redo /home/tibero/tbdata_bak/

$ cp /home/tibero/tbdata/*.ctl /home/tibero/tbdata_bak/

또는

$ cp /home/tibero/tbdata/*.* /home/tibero/tbdata_bak/

Page 12: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

11

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3. Recovery

3.1. 부트 과정별 복구

3.1.1. NOMOUNT

- 인스턴스 시작

- Database 생성가능

- Controlfile 재생성 가능

3.1.2. MOUNT

- Datafile 이름 변경가능

- Online Redo logfile Archive 옵션 홗성화/비홗성화 가능

- 젂체 데이터베이스 복구작업 가능

3.1.3. OPEN

- Controlfile에 정의한 모든 file 오픈

3.2. Recovery 종류

3.2.1. Crash Recovery

● 개요

- 시스템이상, shutdown abort 등 비정상적인 데이터베이스 종료 후 Tibero가 기동하는

과정에서 자동으로 수행

- Online redo log file, online data file, current control file만을 사용

- Undo 테이블스페이스를 이용하여 commit 되지 않은 데이터에 대해 복구 작업

● 특징

- Database에 접근 가능한 Instance에 Failure가 발생한 경우

- Database가 기동될 때 자동 수행됨

- Redo 의 roll forward and roll back

Page 13: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

12

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.2.2. Media Recovery

● 개요

티베로를 구성하는 파일에 물리적인 손상이 발생하였거나 정상 동작을 할 수 없는 경우

복구하는 과정

● 특징

- DBA에 의한 명령에 의해 수동으로 수행 (ALTER DATABASE RECOVER ...)

- Backup받은 datafile을 이용해서 복구

- redo logfile 이나 archive logfile로부터 redo record를 적용

- MOUNT 모드에서만 가능하다.

● 필요한 경우

- Datafile의 버젂이 다른 경우

- Datafile의 손상으로 백업해 놓은 datafile을 이용하는 경우

- Controlfile을 복구한 경우

● 참고하는 동적 뷰

- V$RECOVER_FILE

- V$RECOVERY_FILE_STATUS

- V$LOGFILE, V$CONTROLFILE, V$LOG

● 종류

- Complete Recovery : Archive logfile 과 Online logfile 을 모두 사용해서 가장 최근

로그까지 모두 반영

- Incomplete Recovery : logfile 일부만 적용 하거나 특정시점으로 복구 가능.

RESETLOGS 적용 필요

● 필요한 사항

- 온라인 리두로그파일에 손상이 있을때

- 사용자의 실수로 data 유실

- archive 로그파일의 유실

● Resetlogs

- Incomplete recovery를 하게 되면 반드시 resetlogs로 데이터베이스를 기동해야 한다.

- resetlogs 이젂 datafile, logfile 과 resetlogs 이 후의 파일은 서로 호홖되지 않는다.

resetlogs 이젂에 백업 파일이나 logfile들을 이용하여 resetlogs 이후로 복구할 수 없다.

또한 resetlogs 이후의 file들을 가지고 resetlogs 이젂 상태로 incomplete 복구도 불가

능하다.

- resetlogs 시작한 경우, 반드시 새로운 백업을 받기를 권장한다

- Resetlogs로 데이터베이스 기동하기

$ tbboot –t RESETLOGS

Page 14: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

13

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3. Recovery Test

3.3.1. Recovery 테스트 홖경구성

3.3.1.1. .tip 파일 설정($TB_SID.tip)

DB_NAME=tibero

LISTENER_PORT=8629

CONTROL_FILES=/home/tibero/tbdata/control01.ctl,/home/tibero/tbdata/control02.ctl

DB_CREATE_FILE_DEST=/home/tibero/tbdata

LOG_ARCHIVE_DEST=/home/tibero/arch

DBWR_CNT=1

DBMS_LOG_TOTAL_SIZE_LIMIT=300M

TRACE_LOG_TOTAL_SIZE_LIMIT=300M

WTHR_PROC_CNT=1

_WTHR_PER_PROC=10

TOTAL_SHM_SIZE=320M

DB_BLOCK_SIZE=8K

DB_CACHE_SIZE=256M

LOG_BUFFER=10M

LOG_LVL=2

# module, work log example:

#LOG_LVL_FRM=5

#LOG_WORK_LVL_RECOVERY=5

SQL_LOG_ON_MEMORY=Y

#_BTRACE_METHOD=1

BTRACE_FILE_LIMIT=1M

BTRACE_TOTAL_LIMIT=10G

BTRACE_MAP="/home/tibero/tibero4/config/btrace.map"

BTRACE_USEC=Y

Page 15: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

14

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.1.2. Database 생성

CREATE DATABASE

USER SYS IDENTIFIED BY TIBERO

MAXDATAFILES 256

CHARACTER SET MSWIN949 -- UTF8, EUCKR , ASCII,MSWIN949

LOGFILE GROUP 0 ('redo01.redo','redo02.redo') SIZE 10M,

GROUP 1 ('redo11.redo','redo12.redo') SIZE 10M,

GROUP 2 ('redo21.redo','redo22.redo') SIZE 10M

MAXLOGFILES 100

MAXLOGMEMBERS 8

ARCHIVELOG

DATAFILE 'system001.tdf' SIZE 128M

AUTOEXTEND ON NEXT 16M MAXSIZE 3072M

DEFAULT TABLESPACE USR

DATAFILE 'usr001.tdf' SIZE 128M

AUTOEXTEND ON NEXT 16M MAXSIZE 3072M

DEFAULT TEMPORARY TABLESPACE TEMP

TEMPFILE 'temp001.tdf' SIZE 256M

AUTOEXTEND ON NEXT 16M MAXSIZE 10240M

EXTENT MANAGEMENT LOCAL AUTOALLOCATE

UNDO TABLESPACE UNDO

DATAFILE 'undo001.tdf' SIZE 256M

AUTOEXTEND ON NEXT 16M MAXSIZE 10240M

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

3.3.1.3. Tablespace 생성

DROP TABLESPACE "MY_FILE001" INCLUDING CONTENTS AND DATAFILES;

CREATE TABLESPACE "MY_FILE001"

DATAFILE 'my_file001.tdf' SIZE 10M

AUTOEXTEND ON NEXT 1M MAXSIZE 3G

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

3.3.1.4. User 생성

DROP USER TIBERO CASCADE;

CREATE USER tibero

IDENTIFIED BY tmax

DEFAULT TABLESPACE MY_FILE001;

GRANT DBA TO tibero;

**** Test version : Tibero 4 SP1(Build 44781)

Page 16: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

15

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.2. Controlfile 복구

3.3.2.1. 운영상태에서 Controlfile이 삭제된 경우

[장애발생]

$ tbboot

$ tbsql sys/tibero

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS

'/home/tibero/tbdata/ctl_backup.sql' REUSE NORESETLOGS;

$ rm -rf /home/tibero/tbdata/c1.ctl

[조치방법] 백업받은 controlfile 스크립트로 control파일 재생성

$ tbdown

$ tbdown clean

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1003 : Unable to open file /home/tibero/tbdata/control01.ctl.

* Current server mode is NOMOUNT.

********************************************************

$tbsql sys/tibero

SQL> @ctl_backup.sql

SQL>exit

$ tbdown

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1024 : Database needs media recovery: media recovery required

(/home/tibero/tbdata/system001.tdf).

* Current server mode is MOUNT.

********************************************************

$tbsql sys/tibero

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

---------- --------- ---------------------------- ------------------ --------------------

0 ONLINE media recovery required 1 2009/11/30

1 ONLINE media recovery required 8 2009/11/30

2 ONLINE media recovery required 16 2009/11/30

3 ONLINE media recovery required 12106 2009/11/30

4 rows selected.

SQL> alter database recover automatic database;

Database altered.

SQL> select * from v$recover_file;

FILE# ERROR CHANGE# TIME

---------- ------------------- ---------- ----------

0 row selected.

Page 17: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

16

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.2.2. 운영상태에서 Controlfile이 다른 파일로 덮어 씌워진 경우

[조치방법]3.3.2.1 의 운영 상태에서 Controlfile 이 삭제된 경우와 복구 방법이 동일.

3.3.2.3. Database down 상태에서 이중화 Controlfile 하나 삭제된 경우

[장애발생)

$ tbdown

$ rm -rf /home/tibero/tbdata/control01.ctl

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1003 : Unable to open file /home/tibero/tbdata/control01.ctl.

* Current server mode is NOMOUNT.

********************************************************

[조치방법] 다른 control 파일을 이용하여 copy 후 복구함.

$ tbdown

$ cp /home/tibero/tbdata/control02.ctl /home/tibero/tbdata/control01.ctl

$ tbboot

Page 18: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

17

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.3. Online logfile 복구

3.3.3.1. 운영상태에서 로그그룹의 로그멤버 하나가 삭제된 경우

[장애발생)

$ tbboot

$ tbsql sys/tibero

SQL> select * from v$log;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 1 10485760 2 YES INACTIVE 0

0 1 2 10485760 2 NO CURRENT 7286 2009/11/30

0 2 -1 10485760 2 NO UNUSED 0

3 selected.

SQL> alter system switch logfile;

SQL> alter system switch logfile;

SQL> alter system switch logfile;

SQL> select * from v$log;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 4 10485760 2 YES INACTIVE 12358 2009/11/30

0 1 5 10485760 2 NO CURRENT 12361 2009/11/30

0 2 3 10485760 2 YES INACTIVE 12356 2009/11/30

3 selected.

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER

---------- ----------- ------ ----------------------------------------

0 ONLINE /home/tibero/tbdata/redo01.redo

0 ONLINE /home/tibero/tbdata/redo02.redo

1 ONLINE /home/tibero/tbdata/redo11.redo

1 ONLINE /home/tibero/tbdata/redo12.redo

2 ONLINE /home/tibero/tbdata/redo21.redo

2 ONLINE /home/tibero/tbdata/redo22.redo

6 selected.

SQL> !rm -rf /home/tibero/tbdata/redo01.redo

SQL> !rm -rf /home/tibero/tbdata/redo21.redo

SQL> exit

$ tbdown

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1003 : Unable to open file /home/tibero/tbdata/redo21.redo.

* Current server mode is MOUNT.

********************************************************

Page 19: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

18

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

[조치방법] 같은 그룹내의 로그파일을 복사하여 복구 성공

$ tbsql sys/tibero

SQL> !ls -al /home/tibero/tbdata

합계 842576

drwx------ 3 tibero tmax 4096 11월 30 19:01 .

drwxr-xr-x 9 tibero tmax 4096 11월 30 17:46 ..

-rw-r--r-- 1 tibero tmax 24 11월 30 17:12 .passwd

-rw------- 1 tibero tmax 2080768 11월 30 19:01 control01.ctl

-rw------- 1 tibero tmax 2080768 11월 30 19:01 control02.ctl

-rw------- 1 tibero tmax 10485760 11월 30 19:01 my_file001.tdf

drwx------ 2 tibero tmax 4096 11월 30 17:11 psm

-rw------- 1 tibero tmax 10485760 11월 30 17:59 redo02.redo

-rw------- 1 tibero tmax 10485760 11월 30 19:01 redo11.redo

-rw------- 1 tibero tmax 10485760 11월 30 19:01 redo12.redo

-rw------- 1 tibero tmax 10485760 11월 30 17:59 redo22.redo

-rw------- 1 tibero tmax 134217728 11월 30 19:01 system001.tdf

-rw------- 1 tibero tmax 268435456 11월 30 17:11 temp001.tdf

-rw------- 1 tibero tmax 268435456 11월 30 19:01 undo001.tdf

-rw------- 1 tibero tmax 134217728 11월 30 19:01 usr001.tdf

SQL> !cp /home/tibero/tbdata/redo02.redo /home/tibero/tbdata/redo01.redo

SQL> !cp /home/tibero/tbdata/redo22.redo /home/tibero/tbdata/redo21.redo

SQL> exit

$ tbdown

$ tbboot

Page 20: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

19

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.3.2. 운영상태에서 INACTIVE 모드의 로그멤버가 삭제된 경우

[장애발생] INACTIVE 된 상태의 로그멤버(redo21.redo) 1개가 삭제된 경우

SQL> select * from v$log;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 4 10485760 2 YES INACTIVE 12358 2009/11/30

0 1 5 10485760 2 NO CURRENT 12361 2009/11/30

0 2 3 10485760 2 YES INACTIVE 12356 2009/11/30

3 selected.

SQL> !rm -rf /home/tibero/tbdata/redo21.redo

SQL> exit

[조치방법] 해당 로그그룹을 삭제 후 재 생성

$ tbdown

$ rm -rf /home/tibero/tbdata/redo22.redo

$ tbboot mount

$ tbsql sys/tibero

SQL> ALTER DATABASE DROP LOGFILE GROUP 2;

SQL> ALTER DATABASE ADD LOGFILE GROUP 2

2 ('/home/tibero/tbdata/redo21.redo', '/home/tibero/tbdata/redo22.redo') SIZE 1048576;

SQL > exit

$ tbboot

Page 21: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

20

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.3.3. 운영상태에서 CURRENT 모드의 로그그룹이 삭제된 경우

[장애발생] 운영 중 로그그룹의 로그멤버가 하나 삭제 된 경우를 참조하여 CURRENT 그룹의

멤버 두 개를 모두 삭제 후 재기동

$ tbboot

$ tbsql sys/tibero

--Archivelog 모드 확인

SQL> SELECT LOG_MODE FROM V$DATABASE;

LOG_MODE

------------

ARCHIVELOG

SQL> create table t1 (c1 number);

SQL> insert into t1 values(10);

SQL> commit;

SQL> alter system switch logfile;

SQL> insert into t1 values(20);

SQL> commit;

SQL> alter system switch logfile;

SQL> insert into t1 values(30);

SQL> commit;

SQL> alter system switch logfile;

--온라인백업

SQL> alter database begin backup;

SQL> !cp /home/tibero/tbdata/system001.tdf /home/tibero/backup_arch/system001.tdf

SQL> !cp /home/tibero/tbdata/undo001.tdf /home/tibero/backup_arch/undo001.tdf

SQL> !cp /home/tibero/tbdata/usr001.tdf /home/tibero/backup_arch/usr001.tdf

SQL> !cp /home/tibero/tbdata/my_file001.tdf /home/tibero/backup_arch/my_file001.tdf

SQL> alter database end backup;

--Control 파일 백업

SQL> alter database backup controlfile to

trace as '/home/tibero/backup_arch/ctl_bak.sql' reuse RESETLOGS;

SQL> insert into t1 values(40);

SQL> commit;

SQL> alter system switch logfile;

SQL> insert into t1 values(50);

SQL> commit;

SQL> alter system switch logfile;

-- 아래 내용은 복구 안함(Archive파일 생성안함)

SQL> insert into t1 values(60);

SQL> commit;

SQL> exit

$ /home/tibero/tbdata> rm *.redo

$ /home/tibero/tbdata> tbdown abort

Page 22: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

21

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

[조치방법] 특정시점의 TSN을 이용하여 변경기반 불완젂 복구

--시점을 맞추기 위해 control파일 및 데이터파일도 모두 삭제

$ /home/tibero/tbdata> rm *.*

$ /home/tibero/tbdata> mv ../backup_arch/*.* .

--nomount로 기동하여 controlfile 백업 스크립트로 controfile생성

$ tbboot nomount

$ tbsql sys/tibero

SQL> @ctl_bak.sql

SQL> quit

$ tbdown

$ tbboot mount

$ tbsql sys/tibero

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

---------- ------- ------------------------------ ---------- --------------------

0 ONLINE online backup in progress 1 2009/11/30

1 ONLINE online backup in progress 8 2009/11/30

2 ONLINE online backup in progress 16 2009/11/30

3 ONLINE online backup in progress 12106 2009/11/30

4 rows selected.

SQL> select * from v$log;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 1 10485760 2 NO CURRENT 0

0 1 -1 10485760 2 NO UNUSED 0

0 2 -1 10485760 2 NO UNUSED 0

3 rows selected.

--마지막 Archive logfile의 NEXT_TSN정보를 이용하여 변경기반 복구를 진행한다.

--NEXT_TSN정보 확인 방법 (1) v$archive_dest_files의 next_tsn 정보 확인

-- (2) 아카이브 파일 덤프 발생시켜 next_tsn정보 확인

--변경기반 복구작업 시에는 next_tsn -1 값으로 진행함.

SQL> select name, next_change# from v$archive_dest_files order by name;

NAME NEXT_CHANGE#

---------------------------------------- ----------------------------

/home/tibero/arch/log-t0-r0-s1.arc 7295

/home/tibero/arch/log-t0-r0-s2.arc 11729

/home/tibero/arch/log-t0-r0-s3.arc 11737

/home/tibero/arch/log-t0-r0-s4.arc 11746

/home/tibero/arch/log-t0-r0-s5.arc 11825

/home/tibero/arch/log-t0-r0-s6.arc 11833

Page 23: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

22

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

--TSN 조회 시 없을 경우 logfile 덤프를 발생시킨다.

SQL> alter system dump logfile '/home/tibero/arch/log-t0-r0-s6.arc';

<<< dump log 시작 (파일경로: $TB_HOME/instance/$TB_SID/dump/tracedump/)>>>

==================================================================

**Dump start at 2009-12-02 15:52:30

DUMP of LOG FILE /home/tibero/arch/log-t0-r0-s6.arc (from blkno 0 to -1)

LOGFILE HEADER BLOCK dump

dbname='tibero' dbid=f57600ad version=4.1 cf_seqno=47

filetype=1 fileno=2 blksize=512 filesize=1536

THREAD=0 desc='TIBERO_LOGFILE_HEADER' nab=3 seq=6 resetlogs=0000.00000000

low=0000.00002e31 2009-12-02 15:47:47 next=0000.00002e39 2009-12-02 15:48:01

status=17 term_reco_stamp=0000.00000000

==================================================================

<<< dump log 끝 >>>

--next_tsn 값을 10진수로 변경 : 0000.00002e39 (hex) => 11833(dec)

--next_tsn – 1 =11832

SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE UNTIL CHANGE 11832;

Database altered.

SQL> exit

$ tbdown

$ tbboot resetlogs

--백업한 Control파일 스크립트 내의 주석스크립트 부분을 활용하여 temp파일 생성

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/home/tibero/tbdata/temp001.tdf'

2 SIZE 256M REUSE AUTOEXTEND ON NEXT 16M MAXSIZE 2G;

Tablespace 'TEMP' altered.

SQL>!ls –al temp*.tdf

-rw------- 1 tibero tmax 268435456 12월 1 09:40 temp001.tdf

--데이터 조회

SQL> select * from t1;

C1

----------

10

20

30

40

50

5 rows selected.

Page 24: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

23

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.4. Temp Tablespace 복구

3.3.4.1. 테이블스페이스의 Temp file 이 삭제된 경우

[장애발생]

$ tbboot

$ tbsql sys/tibero

SQL>!rm –rf /home/tibero/tbdata/temp001.tdf

[조치방법] tbboot 이후 temp file은 자동적으로 생성 됨

$ tbdown

$ ls –al /home/tibero/tbdata

$ tbboot

$ ls –al /home/tibero/tbdata

Page 25: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

24

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.5. Datafile 장애 시 완젂복구

3.3.5.1. 자동 완젂복구 (Archivelog mode)

[장애발생] datafile이 삭제된 경우

$ tbdown

$ cp –R /home/tibero/tbdata /home/tibero/tbdata_bak

$ tbboot

$ tbsql tibero/tmax

SQL> CREATE TABLE T1 (C1 VARCHAR(5));

created.

SQL> INSERT INTO T1 (C1) VALUES ('00011');

SQL> INSERT INTO T1 (C1) VALUES ('00012');

SQL> INSERT INTO T1 (C1) VALUES ('00013');

SQL> COMMIT;

SQL> conn sys/tibero

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> exit

$ tbdown

$ rm –rf /home/tibero/tbdata/my_file001.tdf

[조치방법] AUTOMATIC 으로 자동 복구

$ cp /home/tibero/tbdata_bak/my_file001.tdf /home/tibero/tbdata

$ tbboot mount

$ tbsql sys/tibero

SQL> ALTER DATABASE RECOVER AUTOMATIC;

SQL> exit

$ tbdown

$ tbboot

$ tbsql tibero/tmax

SQL> select * from t1;

C1

-----

00011

00012

00013

Page 26: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

25

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.5.2. 사용자 완젂복구 (Archivelog mode)

[장애발생]

3.3.5.1 과 동일 장애

[조치방법] archive 파일로 생성된 것은 archive파일을 이용하여 명시적으로 각각 복구를 하

고, archive 파일로 생성되지 않은 current 상태인 것은 redo파일로 복구

$ cp /home/tibero/tbdata_bak/my_file001.tdf /home/tibero/tbdata

$ tbboot mount

$ tbsql sys/tibero

SQL> ALTER DATABASE RECOVER;

SQL> ALTER DATABASE RECOVER LOGFILE '/home/tibero/arch/log-t0-r0-s2.arc';

SQL> ALTER DATABASE RECOVER LOGFILE '/home/tibero/arch/log-t0-r0-s3.arc';

SQL> ALTER DATABASE RECOVER LOGFILE '/home/tibero/arch/log-t0-r0-s4.arc';

SQL> SELECT * FROM V$LOG;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 4 10485760 2 YES INACTIVE 12303 2009/12/01

0 1 5 10485760 2 NO CURRENT 12308 2009/12/01

0 2 3 10485760 2 YES INACTIVE 12300 2009/12/01

SQL> SELECT * FROM V$LOGFILE;

GROUP# STATUS TYPE MEMBER

---------- ------- ------ ----------------------------------------

0 ONLINE /home/tibero/tbdata/redo01.redo

0 ONLINE /home/tibero/tbdata/redo02.redo

1 ONLINE /home/tibero/tbdata/redo11.redo

1 ONLINE /home/tibero/tbdata/redo12.redo

2 ONLINE /home/tibero/tbdata/redo21.redo

2 ONLINE /home/tibero/tbdata/redo22.redo

SQL> ALTER DATABASE RECOVER LOGFILE '/home/tibero/tbdata/redo11.redo';

Database altered.

SQL> exit

$ tbdown

$ tbboot

$ tbsql tibero/tmax

SQL> select * from t1;

C1

-----

00011

00012

00013

Page 27: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

26

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.5.3. 백업 Datafile 이 없을 시 완젂복구 (Archivelog mode)

[장애발생]

3.3.5.1 과 동일장애 (tdf 파일이 삭제 된 경우)

[조치방법] 먼저 datafile을 생성하고, AUTOMATIC 으로 복구

$ tbboot mount

$ tbsql sys/tibero

SQL> ALTER DATABASE CREATE DATAFILE '/home/tibero/tbdata/my_file001.tdf';

SQL> ALTER DATABASE RECOVER AUTOMATIC;

SQL> exit

$ tbdown

$ tbboot

$ tbsql tibero/tmax

SQL> SELECT * FROM T1;

C1

-----

00011

00012

00013

Page 28: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

27

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.6. Datafile 장애 시 불완젂복구

3.3.6.1. 변경기반(TSN) 불완젂복구 (Archivelog mode)

[장애발생] 실수로 모든 데이터 파일을 덮어쓴 경우

$ tbdown

$ cp –R /home/tibero/tbdata /home/tibero/tbdata_bak

$ tbboot

$ tbsql sys/tibero

SQL> SELECT * FROM V$LOG;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 1 10485760 2 YES INACTIVE 0

0 1 2 10485760 2 NO CURRENT 7286 2009/11/30

0 2 -1 10485760 2 NO UNUSED 0

3 rows selected.

SQL> CREATE TABLE T1 (C1 VARCHAR(5));

SQL> INSERT INTO T1 (C1) VALUES ('00011');

SQL> INSERT INTO T1 (C1) VALUES ('00012');

SQL> INSERT INTO T1 (C1) VALUES ('00013');

SQL> COMMIT;

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> INSERT INTO T1 (C1) VALUES ('00021');

SQL> INSERT INTO T1 (C1) VALUES ('00022');

SQL> INSERT INTO T1 (C1) VALUES ('00023');

SQL> COMMIT;

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> INSERT INTO T1 (C1) VALUES ('00031');

SQL> INSERT INTO T1 (C1) VALUES ('00032');

SQL> INSERT INTO T1 (C1) VALUES ('00033');

SQL> COMMIT;

SQL> ALTER SYSTEM SWITCH LOGFILE;

SQL> INSERT INTO T1 (C1) VALUES ('00041');

SQL> INSERT INTO T1 (C1) VALUES ('00042');

SQL> INSERT INTO T1 (C1) VALUES ('00043');

SQL> COMMIT;

SQL> exit

$ tbdown

$ cp /home/tibero/tbdata_bak/*.tdf /home/tibero/tbdata

Page 29: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

28

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

[조치방법] TSN 넘버를 지정하여 특정시점으로 복구

--최근 백업받은 데이터파일로 복원

$ cp /home/tibero/tbdata_bak/*.tdf /home/tibero/tbdata

$ tbboot mount

$ tbsql sys/tibero

SQL> SELECT * FROM V$LOG;

THREAD# GROUP# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- -------- -------- ------------- ------------ -----------

0 0 4 10485760 2 YES INACTIVE 12339 2009/12/01

0 1 5 10485760 2 NO CURRENT 12356 2009/12/01

0 2 3 10485760 2 YES INACTIVE 12327 2009/12/01

3 rows selected.

SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE UNTIL CHANGE 12356;

SQL> exit

$ tbdown

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1024 : Resetlogs is required.

* Current server mode is MOUNT.

********************************************************

$ tbdown

$ tbboot resetlogs

$ tbsql sys/tibero

SQL> select * from t1;

C1

--------

00011

00012

00013

00021

00022

00023

00031

00032

00033

9 rows selected.

SQL> exit

$ tbdown

Page 30: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

29

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.6.2. 시갂기반 불완젂복구 (Archivelog mode)

[장애발생] 사용자 실수로 테이블을 DROP한 경우

$ tbdown

$ cp –R /home/tibero/tbdata /home/tibero/tbdata_bak

$ tbboot

$ tbsql sys/tibero

SQL> create table t1 (C1 varchar(5));

SQL> insert into t1 values('00011');

SQL> commit;

SQL> select * from t1;

C1

--------

00011

1 row selected.

SQL> !date

2009. 12. 01. (화) 15:22:52 KST

SQL> drop table t1;

SQL> alter system switch logfile;

SQL> exit

$ tbdown

[조치방법] DROP된 시점 젂으로 시갂을 지정하여 복구

$ cp /home/tibero/tbdata_bak/*.tdf /home/tibero/tbdata

--홖경변수 셋팅 후 마운트 모드로 기동

$ export TB_NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

$ tbboot mount

--DROP된 시점 젂까지 Time 기반 복구 진행

$ tbsql sys/tibero

SQL> alter database recover automatic database until time '2009-12-01 15:22:52';

Altered;

SQL> exit

$ tbdown

--리두로그 초기화 모드로 데이터베이스 오픈

$ tbboot resetlogs

$ tbsql sys/tibero

SQL> select * from t1;

C1

--------

00011

Page 31: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

30

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.6.3. 취소기반 불완젂복구 (Archivelog mode)

[장애발생] 디스크 손상으로 인해 주요 데이터파일 손실되고 아카이브로그파일 중 log-t0-r0-s4.arc 파일 손상으로 log-t0-r0-s3.arc 까지 복구 가능한 상황 (여기서는 my_file001.tdf 및 log-t0-r0-s4.arc파일 삭제)

$tbsql tibero/tmax

SQL> create table t1 (c1 number);

SQL> insert into t1 values(10);

SQL> commit;

SQL> alter system switch logfile; -- log-t0-r0-s2.arc생성됨. SQL> insert into t1 values(20);

SQL> commit;

SQL> alter system switch logfile; -- log-t0-r0-s3.arc생성됨. SQL> insert into t1 values(30);

SQL> commit;

SQL> alter system switch logfile; -- log-t0-r0-s4.arc생성됨. SQL> exit

$tbdown

$rm /home/tibero/tbdata/my_file001.tdf /home/tibero/arch/log-t0-r0-s4.arc

[조치방법] 가장 최근에 받은 젂체 backup파일로 복원 후, 해당 archive file까지 적용하여 복구

$ tbdown

$ cp /home/tibero/tbdata_bak/*.tdf /home/tibero/tbdata/

--마운트모드로 DB기동

$ tbboot mount

- 백업할 시점지정 후 복원

$ tbsql sys/tibero

SQL> select name, next_change# from v$archive_dest_files order by name;

NAME NEXT_CHANGE#

---------------------------------------- ----------------------------

/home/tibero/arch/log-t0-r0-s1.arc 7295

/home/tibero/arch/log-t0-r0-s2.arc 11743

/home/tibero/arch/log-t0-r0-s3.arc 11750

SQL> alter database recover database until cancel;

Database altered.

SQL> alter database recover logfile '/home/tibero/arch/log-t0-r0-s2.arc';

Database altered.

SQL> alter database recover logfile '/home/tibero/arch/log-t0-r0-s3.arc';

Database altered.

SQL> alter database recover cancel;

Database altered.

SQL>exit

$ tbdown

- 리두로그 초기화 모드로 데이터베이스 오픈

$ tbboot resetlogs

$tbsql tibero/tmax

SQL> select * from t1;

C1

----------

10

20

Page 32: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

31

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.7. Datafile 유실 시 복구

3.3.7.1. Datafile이 유실되었을 경우에 복구

[장애발생]

$ tbdown

$ rm /home/tibero/tbdata/my_file001.tdf

[조치방법] 해당 Datafile을 drop하여 해결

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1024 : Database needs media recovery: open failed

(/home/tibero/tbdata/my_file001.tdf).

* Current server mode is MOUNT.

********************************************************

$tbsql sys/tibero

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

---------- ------- -------------------- ---------- --------------------

3 ONLINE open failed 12106 2009/11/30

1 row selected.

SQL> select file#, create_tsn, create_date, ts#, status,ckpt_tsn, name from v$datafile;

FILE# CREATE_TSN CREATE_DATE TS# STATUS CKPT_TSN NAME

---------- ---------- -------------------- ---------- ------- ---------- ----------------------------------------

0 1 2009/11/30 0 ONLINE 12255

/home/tibero/tbdata/system001.tdf

1 8 2009/11/30 1 ONLINE 12255

/home/tibero/tbdata/undo001.tdf

2 16 2009/11/30 3 ONLINE 12255

/home/tibero/tbdata/usr001.tdf

3 12106 2009/11/30 4 ONLINE 12255

/home/tibero/tbdata/my_file001.tdf

4 rows selected.

SQL> alter database datafile 3 offline for drop;

Database altered. SQL> exit

$ tbdown

Page 33: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

32

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

$ tbboot resetlogs

$tbsql sys/tibero

SQL> select file#, create_tsn, create_date, ts#, status,ckpt_tsn, name from v$datafile;

FILE# CREATE_TSN CREATE_DATE TS# STATUS CKPT_TSN NAME

---------- ---------- -------------------- ---------- ------- ---------- ----------------------------------------

0 1 2009/11/30 0 ONLINE 12255

/home/tibero/tbdata/system001.tdf

1 8 2009/11/30 1 ONLINE 12255

/home/tibero/tbdata/undo001.tdf

2 16 2009/11/30 3 ONLINE 12255

/home/tibero/tbdata/usr001.tdf

3 12106 2009/11/30 4 OFFLINE 12255

/home/tibero/tbdata/my_file001.tdf

4 rows selected.

SQL> drop tablespace my_file001 including contents and datafiles;

Tablespace 'MY_FILE001' dropped.

SQL> select file#, create_tsn, create_date, ts#, status,ckpt_tsn, name from v$datafile;

FILE# CREATE_TSN CREATE_DATE TS# STATUS CKPT_TSN NAME

---------- ---------- -------------------- ---------- ------- ---------- ----------------------------------------

0 1 2009/11/30 0 ONLINE 12294

/home/tibero/tbdata/system001.tdf

1 8 2009/11/30 1 ONLINE 12294

/home/tibero/tbdata/undo001.tdf

2 16 2009/11/30 3 ONLINE 12294

/home/tibero/tbdata/usr001.tdf

3 rows selected.

Page 34: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

33

Tibero RDBMS Backup&Recovery(Basic)

© 2011 Tibero Co., Ltd. All Rights Reserved.

3.3.7.2. Datafile 다른곳으로 이동했을 경우에 복구

[장애발생]

$ tbdown

$ mv /home/tibero/tbdata/system001.tdf /home/ti bero/tbdata_bak/system001.tdf

[조치방법] 이동한 경로를 앞으로 사용할 경로로 지정하여 복구

$ tbboot

********************************************************

* Critical Warning : Raise svmode failed. The reason is

* TBR-1024 : Database needs media recovery: open failed

(/home/tibero/tbdata/system001.tdf).

* Current server mode is MOUNT.

********************************************************

$ tbsql sys/tibero

SQL> select file#, create_tsn, create_date, ts#, status,ckpt_tsn, name from v$datafile;

FILE# CREATE_TSN CREATE_DATE TS# STATUS CKPT_TSN NAME

---------- ---------- -------------------- ---------- ------- ---------- ----------------------------------------

0 1 2009/11/30 0 ONLINE 12255

/home/tibero/tbdata/system001.tdf

1 8 2009/11/30 1 ONLINE 12255

/home/tibero/tbdata/undo001.tdf

2 16 2009/11/30 3 ONLINE 12255

/home/tibero/tbdata/usr001.tdf

3 12106 2009/11/30 4 ONLINE 12255

/home/tibero/tbdata/my_file001.tdf

4 rows selected.

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

---------- ------- -------------------- ---------- --------------------

0 ONLINE open failed 1 2009/11/30

1 row selected.

SQL> alter database rename file '/home/tibero/tbdata/system001.tdf' to

'/home/tibero/tbdata_bak/system001.tdf';

Database altered.

SQL> select * from v$recover_file;

FILE# ONLINE ERROR CHANGE# TIME

---------- ------- -------------------- ---------- --------------------

0 row selected.

SQL> exit

disconnected.

$ tbdown

$ tbboot

Page 35: Tibero RDBMS Backup&Recovery(Basic) RDBMS... · 2019-06-26 · Tibero RDBMS Backup&Recovery(Basic) 본 문서에서는 Tibero RDBMS 운영 중에 발생할 수 있는 장애상황을

Information Intelligence, Tibero

Click to sub Title