ORACLE/Back & Recovery

14장 RAC Backup & Recovery(물리적복구)

히드라야 2015. 5. 1. 15:19





ORC 개념 및 관리 






Vote Disk 개념 및 관리 






RAC Archive mode 변경하기 

(그림그리기)


※ %t_%s_%r  Thread Sequense     Incornation(고유번호)

※  rawdevice는 하나의 파일이 하나의 disk 처럼 용량이 고정되어 있다는 의미... 

※ File System은 상황에 맞추어서 File의 크기를 늘렸다가 줄였다가 가능함.  



순서

① 양쪽 노드 전부 shutdown immeiate 수행하기 

② 한쪽 노드만 mount 단계로 이동 

③ alter system set log_archive_dest_1='location=/data/arc1';

④ alter system set log_archive_dest_2='location=/data/arc2';

⑤ alter database archivelog;

⑥ alter database open;

⑦ 다른 노드에서 2, 3, 4, 6 실행하기 


SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.



SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.




[1번 노드 작업하기]

SQL> startup mount

ORACLE instance started.


Total System Global Area  184549376 bytes

Fixed Size                  1266488 bytes

Variable Size              88083656 bytes

Database Buffers           92274688 bytes

Redo Buffers                2924544 bytes

Database mounted.

SQL> select instance_name from v$instance;


INSTANCE_NAME

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

rac1


SQL> archive log list

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            /home/oracle/product/10g/db/dbs/arch

Oldest online log sequence     9

Current log sequence           10


SQL> show parameter spfile;


NAME                                 TYPE

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

VALUE

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

spfile                               string

/dev/raw/raw5


[여기서 arc1, arc2 미리 만들어야함..... 이왕이면 추가해줄것]


SQL> alter system set log_archive_dest_1='location=/data/arc1';


System altered.


SQL> alter system set log_archive_dest_2='location=/data/arc2';


System altered.


SQL> alter database archivelog;


Database altered.


SQL> archvie log list;

SP2-0734: unknown command beginning "archvie lo..." - rest of line ignored.

SQL> archive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /data/arc2

Oldest online log sequence     11

Next log sequence to archive   12

Current log sequence           12


SQL> alter database open;


Database altered.



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

SQL> startup mount
ORACLE instance started.
Total System Global Area  184549376 bytes
Fixed Size                  1266488 bytes
Variable Size              79695048 bytes
Database Buffers          100663296 bytes
Redo Buffers                2924544 bytes
Database mounted.

SQL> alter system set log_archive_dest_1='location=/data/arc1';

System altered.

SQL> alter system set log_archive_dest_2='location=/data/arc2';

System altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /data/arc2
Oldest online log sequence     4
Next log sequence to archive   5
Current log sequence           5
SQL>










RAC HOT backup 하기 

절차

① tablespace 별 rawdevice 조사

② 백업 폴더를 만들어주고 

③ alter tablespace system begin backup

④ dd 명령어로 복사하기 

⑤ alter tablespace systemend backup




[tablespace 조회하기]

col tablespace_name for a10

col file_name for a45

select tablespace_name ,bytes/1024/1024 MB ,file_name

from dba_data_files;



[백업용 폴더 만들어 주고]


[oracle@rac1 data]$ mkdir -p /data/backup/open


[end backup 조회하기]

set line 200

col name for a50

col status for a15

select a.file#, a.name, b.status , to_char(b.time,

'YYYY-MM-DD:HH24:MI:SS') as time

from v$datafile a, v$backup b

where a.file#=b.file#;


TABLESPACE         MB FILE_NAME

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

SYSTEM            300 /dev/raw/raw3

UNDOTBS1          200 /dev/raw/raw17

SYSAUX            120 /dev/raw/raw4

UNDOTBS2          200 /dev/raw/raw18

USERS               5 /dev/raw/raw15



[begin backup 시작]

SQL> alter tablespace system begin backup;



[dd 명령어로 복사하기]

SQL> !dd if=/dev/raw/raw3 of=/data/backup/open/system_raw3 bs=8k

76800+0개의 레코드를 입력하였습니다

76800+0개의 레코드를 출력하였습니다


[end backup 해주기]

SQL> alter tablespace system end backup;



[동기화 하기]

SQL> alter system checkpoint;



[모아서 sql]


alter tablespace system begin backup;

!dd if=/dev/raw/raw3 of=/data/backup/open/system_raw3 bs=8k

alter tablespace system end backup;



alter tablespace undotbs1 begin backup;

!dd if=/dev/raw/raw17 of=/data/backup/open/undotbs1_raw17 bs=8k

alter tablespace undotbs1 end backup;


alter tablespace sysaux begin backup;
!dd if=/dev/raw/raw4 of=/data/backup/open/sysaux_raw4 bs=8k
alter tablespace sysaux end backup;

alter tablespace undotbs2 begin backup;
!dd if=/dev/raw/raw18 of=/data/backup/open/undotbs2_raw18 bs=8k
alter tablespace undotbs2 end backup;


alter tablespace users begin backup;
!dd if=/dev/raw/raw15 of=/data/backup/open/users_raw15 bs=8k
alter tablespace users end backup;

alter system checkpoint;








RAC Cold Backup






※ raw_device 추가하기 



Archive 모드에서 물리적 장애 복구




① 백업이 있고 ,Offline 되는 tablespace 장애 , online redo log 로 복구 

② 백업이 있고 ,Offline 되는 tablespace 장애 , Archive redo log  로 복구

③ 백업이 있고 ,Offline 안되는 데이터 파일 장애 , DB 종료후 복구 하기 

④ 백업이 없는 , Offline 되는 데이터 파일 장애 시, 새로 생성해서 복구 

-rawdevice 여분이 있는 경우

-rawdevice 여분이 없는 경우