참고하면 좋은 것
SQL참조 안내서 7.2. ALTER DATABASE
SQL참조 안내서 7.69. FLASHBACK TABLE
여러 유형의 장애로부터 데이터베이스를 보호한다.
시스템 장애 발생 시 복원을 하거나 시스템 작동을 유지시키기 위한 절차 또는 기법
데이터베이스를 복사해서 가지고 있다가 손상 발생 시 복원에 활용할 수 있게 하는 것.
관리자는 시스템 장애 시 발생할 손실을 최소화하고 복구 가능한 상태로 DB를 운용해야 한다.
데이터베이스 관리자는 백업에 대한 정책을 수립하고 꼭 필요한 데이터를 최소한의 양으로 백업한다.
굵은 선을 따라서 백업을 해야함
NOARCHIVELOG 모드에서의 백업
NOARCHIVELOG(오프라인 백업)모드에서는 redolog를 저장하지 않는다. 그 상태에서 백업을 받는다면 closed(파일을 open하는 주체는 티베로 인스턴스(TSM, 로그 버퍼...). 그것을 close한다-> tbdown) -> ??
consistent : 정상적인 shutdown 후의 백업
DB가 닫힌 상태가 됐을 때 redo log, data file, control 파일 간에는 일관성이 있어야 한다. control 파일에 명시된 파일 정보와 실제 파일 간의 정보가 일치해야 하는 것이다. (각 파일의 TSN(티베로 시스템 넘버)가 일치하는 상태)
티베로 인스턴스를 정상 종료할 때 일관성있는 상태가 된다.
(immiediate옵션으로 tbdown할 때)
abnormal tbdown
과 같은 비정상 종료 시에도 복구 가능.보통은 아카이브 모드를 사용한다.
노아카이브 모드는 백업하기 위해 서버를 다운시켜야한다. -> 이용자가 이용할 수 없음
아카이브 모드 -> 24시간 운영. onpe, inconsistent상태에서 백업
온라인 백업을 위해서는 ARCHIVELOG MODE를 변경해야 한다.
Tibero 종료
$ tbdown
$ vi $TB_HOME/config/$TB_SID.tip
$ cat $TB_HOME/config/$TB_SID.tip
---------파라미터 파일 내용----------
DB_NAME=tibero
LISTENER_PORT=8629
CONTROL_FILES="/tibero/tbdata/tibero/c1.ctl","/tibero/tbdata/tibero/c2.ctl"
DB_CREATE_FILE_DEST=/tibero/tbdata/tibero
LOG_ARCHIVE_DEST=/tibero/tbdata/tibero/arch -- LOG_ARCHIVE_DEST
MAX_SESSION_COUNT=20
TOTAL_SHM_SIZE=1G
MEMORY_TARGET=2G
Tibero mount 모드
기동 $ tbboot mount
$ tbsql sys/tibero
SQL> ALTER DATABASE ARCHIVELOG;
Tibero normal 모드
기동 $ tbdown
$ tbboot
$ tbsql sys/tibero
SQL> SELECT LOG_MODE FROM V$DATABASE;
LOG_MODE
------------
ARCHIVELOG
alter system switch logfile
SQL> ARCHIVE LOG LIST;
NAME VALUE
------------------------------- ------------------------------------------------
Database log mode Archive Mode
Archive destination /tibero/tbdata/tibero/arch/
Oldest online log sequence 4
Next log sequence to archive 6
Current log sequence 6
SQL> ALTER SYSTEM SWITCH LOGFILE; -- 로그 스위치
System altered.
SQL> ARCHIVE LOG LIST;
NAME VALUE
------------------------------- ------------------------------------------------
Database log mode Archive Mode
Archive destination /tibero/tbdata/tibero/arch/
Oldest online log sequence 5
Next log sequence to archive 7
Current log sequence 7
SQL> COL NAME FOR A60
SQL> SELECT SEQUENCE#, NAME FROM V$ARCHIVED_LOG; -- 아카이브 로그 조회
SEQUENCE# NAME
---------- ------------------------------------------------------------
5 /tibero/tbdata/tibero/arch/log-t0-r0-s5.arc
6 /tibero/tbdata/tibero/arch/log-t0-r0-s6.arc
-- t0 : 스레드 번호
-- r0 : 리두로그 리셋 시 증가함
-- s6 : 시퀀스 번호
SQL> col name for a60
SQL> select sequence#, name from v$archive_dest_files; -- 아카이브 로그 조회2
SEQUENCE# NAME
---------- ------------------------------------------------------------
6 /tibero/tbdata/tibero/arch/log-t0-r0-s5.arc
7 /tibero/tbdata/tibero/arch/log-t0-r0-s6.arc
아카이브 모드 확인
설명 안한 부분도 다 읽어봐야 함
MOUNT모드
또는 OPEN 모드
에서 v$datafile
, v$logfile
뷰를 통해서 백업할 파일 정보 조회.
SQL> select name from v$datafile;
NAME
-----------------------------------------------
/tibero/tbdata/tibero/system001.dtf
/tibero/tbdata/tibero/undo001.dtf
/tibero/tbdata/tibero/usr001.dtf
/tibero/tbdata/tibero/syssub001.dtf
/tibero/tbdata/tibero/USERS01.dtf
SQL> select GROUP#, member from v$logfile;
GROUP# MEMBER
---------- -----------------------------------
0 /tibero/tbdata/tibero/log01.log
1 /tibero/tbdata/tibero/log11.log
2 /tibero/tbdata/tibero/log21.log
SQL> SELECT NAME FROM V$CONTROLFILE;
NAME
----------------------------------------------------
/tibero/tbdata/tibero/c1.ctl
/tibero/tbdata/tibero/c2.ctl
티베로 인스턴스 종료
tbdown [immediate]
-> 반드시 티베로 정상종료Copy 명령을 이용해 datafile, logfile, controlfile, tip file등을 백업한다.
ARCHIVELOG 모드
에서는 archive 파일도 백업한다.
$ cp /tibero/tbdata/tibero/*.dtf /tibero/s/off_backup
$ cp /tibero/tbdata/tibero/*.log /tibero/s/off_backup
$ cp /tibero/tbdata/tibero/*.ctl /tibero/s/off_backup
$ cp /tibero/tbdata/tibero/arch/*.arc /tibero/s/off_backup
$ cp /tibero/tibero7/config/tibero.tip /tibero/s/off_backup
$ cp /tibero/tbdata/tibero/.passwd /tibero/s/off_backup
오프라인 백업데이터 이용해서 데이터베이스 복원
tbdown abort
가능 tbdown abort
$ rm /tibero/tbdata/tibero/*.dtf
$ rm /tibero/tbdata/tibero/*.log
$ rm /tibero/tbdata/tibero/*.ctl
$ rm /tibero/tbdata/tibero/arch/*.arc
$ rm /tibero/tibero7/config/tibero.tip
$ rm /tibero/tbdata/tibero/.passwd
cp /tibero/s/off_backup/*.dtf /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.log /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.ctl /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.arc /tibero/tbdata/tibero/arch
cp /tibero/s/off_backup/tibero.tip /tibero/tibero7/config
cp /tibero/s/off_backup/.passwd /tibero/tbdata/tibero
tbboot
$ vi off_backup.sh
-------- 오프라인에서 데이터를 백업하는 쉘 파일 --------
#!/bin/sh
echo "TIBERO OFFLINE BACKUP DATABASE : /tibero/s/off_backup2"
### TIBERO INSTACE SHUTDOWN
tbdown immediate
### COPY DATABASE
cp /tibero/tbdata/tibero/*.dtf /tibero/s/off_backup2
cp /tibero/tbdata/tibero/*.log /tibero/s/off_backup2
cp /tibero/tbdata/tibero/*.ctl /tibero/s/off_backup2
cp /tibero/tbdata/tibero/arch/*.arc /tibero/s/off_backup2
cp /tibero/tibero7/config/tibero.tip /tibero/s/off_backup2
cp /tibero/tbdata/tibero/.passwd /tibero/s/off_backup2
### TIBERO INSTANCE START
tbboot
--------------------------------------------------
$ chmod u+x off_backup.sh
$ ./off_backup.sh -- 백업 실행
$ vi recover_using_offback.sh
---- 백업 데이터를 이용해서 db를 원복시키는 쉘 파일 ----
#!/bin/sh
echo "TIBERO DATABASE RECOVER USING OFFLINE BACKUP DATABASE !"
### TIBERO INSTACE SHUTDOWN
tbdown abort
### DELECTE DATABASE
rm /tibero/tbdata/tibero/*.dtf
rm /tibero/tbdata/tibero/*.log
rm /tibero/tbdata/tibero/*.ctl
rm /tibero/tbdata/tibero/arch/*.arc
rm /tibero/tibero7/config/tibero.tip
rm /tibero/tbdata/tibero/.passwd
### RESTORE DATABASE
cp /tibero/s/off_backup/*.dtf /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.log /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.ctl /tibero/tbdata/tibero
cp /tibero/s/off_backup/*.arc /tibero/tbdata/tibero/arch
cp /tibero/s/off_backup/tibero.tip /tibero/tibero7/config
cp /tibero/s/off_backup/.passwd /tibero/tbdata/tibero
### TIBERO INSTANCE START
$ tbboot
---------------------------------------------------
$ ls -al off_backup.sh
-rw-r--r-- 1 tibero dba 818 Aug 25 11:39 off_backup.sh
$ chmod u+x off_backup.sh -- 파일 모드를 변경하여 실행 가능하도록 설정
$ ls -al off_backup.sh
-rwxr--r-- 1 tibero dba 818 Aug 25 11:39 off_backup.sh
$ ./off_backup.sh -- 회복 실행
TIBERO DATABASE RECOVER USING OFFLINE BACKUP DATABASE !
SQL> ALTER TABLESPACE 테이블스페이스명 BEGIN BACKUP;
-- begin backup 시 백업 플래그가 켜진다.
-- redolog file을 이미지 로깅 방식으로 저장하게 된다.
-- -> 변경 사항에 대한 log의 양이 늘어나기 때문에 최대한 빨리 끝내야 한다.
SQL> !cp /data01/tibero/system001.tbf /backup/tibero/system001.tbf_backup
-- 느낌표를 붙이면 tbsql외부의 명령어를 사용할 수 있다.
-- 실제 환경에서는 백업 소프트웨어를 이용
SQL> ALTER TABLESPACE 테이블스페이스명 END BACKUP;
begin backup
을 실행한 뒤 되도록이면 테이블스페이스에 연결된 데이터파일에 대한 데이터 변경 작업을 하지 않는 것이 좋다.
빠르게 end backup
을 하지 않으면?
이미지 log가 많이 발생한다.
서버가 전체적으로 느려진다.
log가 가득차서 log switch가 계속 발생 -> 디스크가 계속찬다.
online log switch가 진행되지 않는다
모든게 멈춘다.
Online Backup은 인스턴스가 데이터를 open하여 사용하는 중에 backup을 수행하는 것이다.
- 보통 테이블 스페이스의 백업플래그를 켜고 -> 백업 -> 백업플래그 종료를 하게 된다.
이는 redolog 발생량을 최소화하는 방법이다.
- 반면 모든 테이블 스페이스의 백업플래그를 한 번에 켜는 방법도 있다.
장 : 명령 한 번으로 사용 가능 / 단 : 이미지 로깅 발생
- 모든 작업이 끝나면 log switch를 수행한다
$ mkdir /tibero/s/on_backup
SQL> ALTER DATABASE BEGIN BACKUP;
SQL> !cp /tibero/tbdata/tibero/*.dtf /tibero/s/on_backup
SQL> ALTER DATABASE END BACKUP;
SQL> ALTER SYSTEM SWITCH LOGFILE;
-- 백업 플래그가 모두 꺼졌는지 조회
SQL> ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS';
Session altered.
SQL> COL TIME FOR A25
SQL> SELECT * FROM V$BACKUP; -- 백업 플래그 종료 확인
FILE# STATUS CHANGE# TIME
---------- ---------- ---------- -------------------------
0 NOT ACTIVE 0
1 NOT ACTIVE 0
2 NOT ACTIVE 0
3 NOT ACTIVE 0
4 NOT ACTIVE 0
SQL> !ls -al /tibero/s/on_backup/*.dtf -- 백업된 데이터파일 조회
-rwxrwx--- 1 root vboxsf 52428800 Aug 25 14:14 /tibero/s/on_backup/syssub001.dtf
-rwxrwx--- 1 root vboxsf 171966464 Aug 25 14:14 /tibero/s/on_backup/system001.dtf
-rwxrwx--- 1 root vboxsf 104857600 Aug 25 14:14 /tibero/s/on_backup/temp001.dtf
-rwxrwx--- 1 root vboxsf 209715200 Aug 25 14:14 /tibero/s/on_backup/undo001.dtf
-rwxrwx--- 1 root vboxsf 136839168 Aug 25 14:14 /tibero/s/on_backup/USERS01.dtf
-rwxrwx--- 1 root vboxsf 52428800 Aug 25 14:14 /tibero/s/on_backup/usr001.dtf
CREATE문으로 컨트롤 파일 새로 생성하는 방식으로 복구
백업장소
백업 명령 실행
-- 컨트롤 파일 백업 쿼리
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/tibero/s/on_backup/crectl.sql'
REUSE -- 동일 파일 존재 시 기존 파일을 덮어쓴다.
NORESETLOGS; -- 로그를 리셋하지 않는다.
$ ls -al /tibero/s/on_backup/crectl.sql
$ cat /tibero/s/on_backup/crectl.sql
-- 로그 스위치 수행
SQL> ALTER SYSTEM SWITCH LOLGFILE;
SQL> !cp /tibero/tbdata/tibero/arch/*.arc /tibero/s/on_backup
SQL> !ls -al /tibero/s/on_backup/*.arc
SQL> !cp /tibero/tibero7/config/tibero.tip /tibero/s/on_backup
SQL> !cp /tibero/tbdata/tibero/.passwd /tibero/s/on_backup
SQL> !ls -al /tibero/s/on_backup/*.tip
SQL> !ls -al /tibero/s/on_backup/.passwd
SQL> !ls -al /tibero/s/on_backup
total 712617
drwxrwx--- 1 root vboxsf 4096 Aug 25 14:44 .
drwxrwx--- 1 root vboxsf 4096 Aug 25 14:09 ..
-rwxrwx--- 1 root vboxsf 3898 Aug 25 14:31 crectl.sql
-rwxrwx--- 1 root vboxsf 1058304 Aug 25 14:40 log-t0-r0-s10.arc
-rwxrwx--- 1 root vboxsf 175104 Aug 25 14:40 log-t0-r0-s11.arc
-rwxrwx--- 1 root vboxsf 119296 Aug 25 14:40 log-t0-r0-s6.arc
-rwxrwx--- 1 root vboxsf 35840 Aug 25 14:40 log-t0-r0-s7.arc
-rwxrwx--- 1 root vboxsf 19968 Aug 25 14:40 log-t0-r0-s8.arc
-rwxrwx--- 1 root vboxsf 51712 Aug 25 14:40 log-t0-r0-s9.arc
-rwxrwx--- 1 root vboxsf 44 Aug 25 14:44 .passwd
-rwxrwx--- 1 root vboxsf 52428800 Aug 25 14:23 syssub001.dtf
-rwxrwx--- 1 root vboxsf 171966464 Aug 25 14:23 system001.dtf
-rwxrwx--- 1 root vboxsf 104857600 Aug 25 14:23 temp001.dtf
-rwxrwx--- 1 root vboxsf 252 Aug 25 14:43 tibero.tip
-rwxrwx--- 1 root vboxsf 209715200 Aug 25 14:23 undo001.dtf
-rwxrwx--- 1 root vboxsf 136839168 Aug 25 14:23 USERS01.dtf
-rwxrwx--- 1 root vboxsf 52428800 Aug 25 14:23 usr001.dtf
1) (장애유발) Datafile 삭제
− Datafile을 삭제한 후 TIBERO 비정상 종료
SQL> SELECT NAME FROM V$DATAFILE;
NAME
--------------------------------------------------------------------------------
/tibero/tbdata/tibero/system001.dtf
/tibero/tbdata/tibero/undo001.dtf
/tibero/tbdata/tibero/usr001.dtf
/tibero/tbdata/tibero/syssub001.dtf
/tibero/tbdata/tibero/USERS01.dtf
5 rows selected.
SQL> !rm /tibero/tbdata/tibero/usr001.dtf -- 데이터파일 삭제
SQL> q
Disconnected.
$ tbdown abnormal -- 서버 강제 종료
2) mount 모드 기동
− 티베로 시작시, MOUNT 모드로 기동됨( 에러메시지 발생 )
3) (mount 모드) 데이터 파일 조회
− open faild 가 발생한 데이터 파일을 조회함
SQL> COL TIME FOR A10
SQL> COL ERROR FOR A30
SQL> SELECT * FROM V$RECOVER_FILE;
FILE# ONLINE ERROR CHANGE# TIME
---------- ------- ------------------------------ ---------- ----------
2 ONLINE open failed 0
SQL> SELECT NAME FROM V$DATAFILE WHERE FILE#=2;
NAME
--------------------------------------------------------------------------------
/tibero/tbdata/tibero/usr001.dtf
4) (mount 모드) 백업 파일 넣기
− 장애 이전에 백업하였던 해당 데이터파일 "usr001.dtf" 을 넣음
SQL> !cp /tibero/s/off_backup/usr001.dtf /tibero/tbdata/tibero/usr001.dtf
SQL> SELECT * FROM V$RECOVER_FILE;
FILE# ONLINE ERROR CHANGE# TIME
---------- ------- ------------------------------ ---------- ----------
2 ONLINE file restored 64990 2022/08/25
5) (mount 모드) 복구 명령 수행
− 미디어 복구 명령 실행함.
SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE;
Database altered.
SQL> SELECT * FROM V$RECOVER_FILE;
0 row selected.
6) 데이터베이스 오픈
− tbdown, tbboot 명령으로 재기동하여, 인스턴스가 NORMAL mode 로 구동되는지 확인한다.
컨트롤파일
파일이름 경로 마지막 갱신시간 (tsn) 을 가지고 있음
1) (장애유발) 모든 파일 삭제
− 모든 파일 삭제한 후 TIBERO 비정상 종료
rm /tibero/tbdata/tibero/*.dtf
rm /tibero/tbdata/tibero/*.log
rm /tibero/tbdata/tibero/*.ctl
rm /tibero/tbdata/tibero/arch/*.arc
rm /tibero/tbdata/tibero/.passwd
-- 비정상 종료
tbdown abnormal
2) 온라인 백업파일 이용
− 백업 파일 리스토어(복구)
-- 백업 폴더에서 파일 가져오기
$ cp /tibero/s/on_backup/*.dtf /tibero/tbdata/tibero
$ cp /tibero/s/on_backup/crectl.sql /tibero/tbdata/tibero
$ cp /tibero/s/on_backup/*.arc /tibero/tbdata/tibero/arch
$ cp /tibero/s/on_backup/.passwd /tibero/tbdata/tibero
-- 복사한 파일 확인
$ ls -al
total 711176
drwxr-xr-x 4 tibero dba 180 Aug 25 16:44 .
drwxr-xr-x 3 tibero dba 20 Aug 23 10:25 ..
drwxr-xr-x 2 tibero dba 152 Aug 25 16:43 arch
-rwxr-x--- 1 tibero dba 3898 Aug 25 16:43 crectl.sql -- 쿼리로 생성해야함
drwx------ 3 tibero dba 17 Aug 23 10:27 java
-rwxr-x--- 1 tibero dba 44 Aug 25 16:44 .passwd
-rwxr-x--- 1 tibero dba 52428800 Aug 25 16:42 syssub001.dtf
-rwxr-x--- 1 tibero dba 171966464 Aug 25 16:42 system001.dtf
-rwxr-x--- 1 tibero dba 104857600 Aug 25 16:42 temp001.dtf
-rwxr-x--- 1 tibero dba 209715200 Aug 25 16:42 undo001.dtf
-rwxr-x--- 1 tibero dba 136839168 Aug 25 16:42 USERS01.dtf
-rwxr-x--- 1 tibero dba 52428800 Aug 25 16:42 usr001.dtf
-- 데이터파일만 존재. 컨트롤파일과 리두로그 파일은 없다.
noresetlogs
: control file을 재생성할 필요가 없는 경우 사용하는 옵션. 온라인 리두 로그에 접근해서 컨트롤 파일을 만들 때 집어넣는다. 온라인 리두 로그 파일이 존재하지 않으면 실패한다.resetlogs
: control file 재성성 시 사용하는 옵션. 어차피 리두 로그가 있어도 리두 로그를 리셋하고, 리두로그가 없다면 리두 로그 파일을 새로 생성하기 때문에 리두 로그가 없어도 컨트롤 파일이 만들어진다. -- nomount모드 부트
$ tbboot nomount
$ cat /tibero/tbdata/tibero/crectl.sql -- 컨트롤파일 내용 확인
-- 이때, 컨트롤파일에서 RESETLOGS case의 CREATE문을 사용한다.
$ cp /tibero/tbdata/tibero/crectl.sql /tibero/tbdata/tibero/crectl_resetlogs.sql
$ vi /tibero/tbdata/tibero/crectl_resetlogs.sql -- RESETLOGS옵션을 사용하도록 noresetlogs 옵션을 지우고 저장
$ tbsql sys/tibero
SQL> @/tibero/tbdata/tibero/crectl_resetlogs.sql
-- Control File created.
...
SQL> -- ALTER TABLESPACE TEMP ADD TEMPFILE '/tibero/tbdata/tibero/temp001.dtf'
...
-- mount모드 부트 가능
$ tbdown
$ tbboot mount
$ tbsql sys/tibero
SQL> ALTER DATABASE RECOVER AUTOMATIC DATABASE; -- 미디어 복구 명령
-- 데이터파일 마지막 백업 시점 이후의 변경이력 적용 -> 최신상태로 적용
-- 아래는 온라인 리두 로그가 없기 때문에 발생하는 에러이다.
-- 아카이브 로그만 이용해서 복구 -> 데이터 파일의 마지막 변경 시점 이후에 발생한 변경 내역이 온라인 리두 로그에 있다?
TBR-1072: Current online log file (thread 0 seq -1) is outdated.
Need a log with seq 12 to recover from TSN 69070.
Recovery done until 2022/08/25 14:40:17 TSN 69061.
-- 69061까지 recover되었다. -> 69061 변경내역까지만 데이터 파일에 적용했다.
Recovery is incomplete and resetlogs is required.
$ tbboot resetlogs -- resetlogs 모드로 부트
Tibero 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Tibero instance started up (NORMAL RESETLOGS mode).
-- 결과적으로는 노말모드 부트. 그러나 과정에서 온라인 리두 로그를 새로 생성했다.
$ ls -al
total 1012460
drwxr-xr-x 4 tibero dba 287 Aug 25 17:01 .
drwxr-xr-x 3 tibero dba 20 Aug 23 10:25 ..
drwxr-xr-x 2 tibero dba 180 Aug 25 17:01 arch
-rw------- 1 tibero dba 75612160 Aug 25 17:02 c1.ctl
-rw------- 1 tibero dba 75612160 Aug 25 17:02 c2.ctl
-rwxr-x--- 1 tibero dba 3068 Aug 25 16:55 crectl_resetlogs.sql
-rwxr-x--- 1 tibero dba 3898 Aug 25 16:43 crectl.sql
drwx------ 3 tibero dba 17 Aug 23 10:27 java
-rw------- 1 tibero dba 52428800 Aug 25 17:01 log01.log -- tbboot resetlog 하는 순간 생성됨
-rw------- 1 tibero dba 52428800 Aug 25 17:01 log11.log
-rw------- 1 tibero dba 52428800 Aug 25 17:01 log21.log
-rwxr-x--- 1 tibero dba 44 Aug 25 16:44 .passwd
-rwxr-x--- 1 tibero dba 52428800 Aug 25 17:01 syssub001.dtf
-rwxr-x--- 1 tibero dba 171966464 Aug 25 17:01 system001.dtf
-rwxr-x--- 1 tibero dba 104857600 Aug 25 16:42 temp001.dtf
-rwxr-x--- 1 tibero dba 209715200 Aug 25 17:01 undo001.dtf
-rwxr-x--- 1 tibero dba 136839168 Aug 25 17:01 USERS01.dtf
-rwxr-x--- 1 tibero dba 52428800 Aug 25 17:01 usr001.dtf
SQL> SELECT FILE_ID, TABLESPACE_NAME FROM DBA_TEMP_FILES;
0 row selected.
SQL> SELECT NAME FROM V$TABLESPACE;
NAME
--------------------------------------------------------------------------------
SYSTEM
UNDO
TEMP -- 테이블 스페이스는 존재하지만 연결된 데이터 파일이 없는 상태
USR
SYSSUB
USERS
-- TEMPFILE 연결
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/tibero/tbdata/tibero/temp001.dtf' size 10m reuse;
복구 끝
redolog reset
을 하게 되면 리셋 이전과 이후는 단절된다. 그래서 리셋을 했으면 전체 백업을 다시 해줘야 한다. 전체 백업을 받지 않고 다시 장애가 발생했을 때 리셋 이전 로그를 사용해서 복구하는 것은 불가능하다.$ cat ./off_backup2.sh
$ ./off_backup2.sh -- 백업 파일 실행
---- 백업 파일 내용 -------------
#!/bin/sh
echo "TIBERO OFFLINE BACKUP DATABASE : /tibero/s/off_backup2"
### RM FILES
rm /tibero/s/off_backup2/*
rm /tibero/s/off_backup2/.passwd
ls -al /tibero/s/off_backup2/*
### TIBERO INSTACE SHUTDOWN
tbdown immediate
### COPY DATABASE
cp /tibero/tbdata/tibero/*.dtf /tibero/s/off_backup2
cp /tibero/tbdata/tibero/*.log /tibero/s/off_backup2
cp /tibero/tbdata/tibero/*.ctl /tibero/s/off_backup2
cp /tibero/tbdata/tibero/arch/*.arc /tibero/s/off_backup2
cp /tibero/tibero7/config/tibero.tip /tibero/s/off_backup2
cp /tibero/tbdata/tibero/.passwd /tibero/s/off_backup2
### TIBERO INSTANCE START
tbboot
-----------------------------------
이미지 자료 출처
- 충남대학교 티베로 DB 엔지니어링 교육 강사 자료
- 티베로 공식문서
제가 찾던 자료 !! 감사합니다 ㅠㅠㅠ 😭😭😭😭