목록백업과 복구/완전복구 (10)
Database초보우낙

리두 로그 그룹의 멤버를 삭제하려면 삭제하려는 리두 로그 그룹의 상태가 current나 active면 안된다 ■ 실습 #1. redo log group의 상태를 확인 #2. inactive인 리두 로그 그룹의 멤버를 하나 drop한다 #3. 나머지 리두 로그 그룹의 멤버도 다 drop하고 그룹당 멤버를 1개씩만 유지 (※ 로그 스위치와 체크포인트를 일으켠서 상태를 inactive로 만들어놓고 작업) ◆ 실습 구현 #1. redo log group의 상태를 확인 @log_status.sql select group#, member from v$logfile order by 1 , 2 ; --로그파일확인 save logfile.sql #2. inactive인 리두 로그 그룹의 멤버를 하나 drop한다 alte..

리두로그 파일 (redo log file) 의 역할 복구를 하기 위해 필요한 파일 redo log file 에 redo log buffer의 내용을 적는 백그라운드 프로세서 -> LGWR redo log file은 순환적으로 사용이 된다 --> 재사용 변경사항이 갑자기 많은 때에 LGWR가 Redo log file에 내용을 적다가 redo log file이 깨지는 경우가 종종 생긴다 ex) 대학교 학교 시스템에 갑자기 insert & update & delete작업이 몰린다 --> 수강신청 장애에 대처를 빠르게 하려면 평소에 백업을 잘해야한다. redo log file같은 경우는 다중화를 해놔야한다 DB장애는 어쩔 수 없이 발생한다. 평상시에 백업을 해둬서 대비를 잘해둬야한다 그룹 : 논리적인 단위 멤버..

* 리두로그 파일? (redo logfile) ↓ 다시 작업하다. 다시 작업하기위한 로그 파일입니다. 즉, 복구를 하기 위해서 필요한 데이터가 있는 파일입니다. select 만 빼고 insert,update, delete, merge, create, alter ,drop, truncate 등의 명령어들이 이 안에 들어있습니다. 리두로그 파일의 상태 4가지 current : LGWR가 현재 쓰고 있는 상태 active : LGWR가 다 썻고 쓴 내용에 대한 메모리의 변경사항들이 datafile로 반영이 안된 상태 inactive : LGWR가 다 내려썻고 메모리의 변경사항이 DATA FILE에 다 반영된 상태 unised : LGWR 가 한번도 사용하지 않은 상태 active를 사용하면 불완전복구를 해야하..

■ 실습 #1. control file이 몇 개가 있는지 확인 #2. shutdown abort로 DB를 내린다 #3. os에서 control01.ctl을 삭제 #4. startup. (nomount에서 멈춘다) #5. 다시 shutdown abort로 내린다 #6. os에서 control02.ctl을 복사해서 control01.ctl로 붙여 넣는다 #7.startup ◆실습 구현 #1. control file이 몇 개가 있는지 확인 select name from v$controlfile; #2. shutdown abort로 DB를 내린다 shutdown abort vi편집기로 .bash_profile을 열어서 아래 내용추가해주기 alias oradate='cd /u01/app/oracle/oradata..

현재 controlfile이 딱 1개로만 운영되고 있다 그러다보니깐 이 1개가 깨지면 백업받은게 있어야 복구가 된다 백업을 자주 받지 않기 때문에 만약 컨트롤 파일 최신 백업본이 없으면 완전히 낭패이다 datafile은 만약 복구를 못하면 그냥 포기하면 되는데 controlfile을 복구못하면 db안올라온다 최신 controlfile 백업본을 자주 생성하던지 아니면 controlfile을 멀티 플랙싱하면 된다 ■ 실습 #1. 현재 controlfile의 위치와 이름을 확인 #2. show parameter control_files라고 해서 파라미터 파일이 인식하는 controlfile의 위치를 확인 #3. 지금 현재 spfile로 운영되는지 pfile로 운영되는지 확인 #4. 다중화할 control fi..

controlfile을 백업하는 방법 2가지 text형태 binary file형태 ■ 실습 #1. binary file 형태로 controlfile을 백업 #2. shutdown abort로 d를 내린다 #3 원본 control file을 삭제 #4 db를 startup 해서 올린다 #5. binary file형태로 백업받은 controlfole을 가지고 복구 ◆ 실습 구현 #1. binary file 형태로 controlfile을 백업 alter database backup controlfile to '/home/oracle/hot_20240304/control01b.bak'; #2. shutdown abort로 d를 내린다 select name from v$controlfile; /u01/app/or..

data base를 구성하는 파일 3가지? data file ➡️system data와 사용자 data가 들어있다 control file ➡️db의 구조와 상태정보가 들어있는 파일 redo log file ➡️db의 변경사항에 대한 이력 데이터가 들어있는 파일 ■ 실습 #1. controlfile 을 binary 형태로 백업 -- binary(0,1로 구성) 형태로 백업 alter database backup controlfile to '/home/oracle/hot_20240304/control01.bak'; #2. controlfile을 text 형태로 백업 alter database backup controlfile to trace as '/home/oracle/hot_20240304/create_..

완전 복구 : 장애가 나기 전 마지막 commit시점으로 데이털르 복구 불완전 복구 : 과거의 특정 시점으로 복구 가급적 완전 복구를 하는게 제일 좋지만 특별한 사정에 의해서 완전복구를 못하게 되면 불환전 복구를 해야한다. ■ 실습. #0. Ouh로 접속 #1. hot 백업을 수행 #1-1 hot 백업을 수행하기 위해 begin 스크립트 추출 select 'alter tablespace ' || tablespace_name || ' begin backup; ' from dba_tablespaces WHERE TABLESPACE_NAME !='TEMP'; --TEMP는 백업할 필요없다, TEMP가 없으면 startup시에 자동으로 생성된다 alter tablespace SYSTEM begin backup;..

✨system data file이란? 오라클을 운영하기 위한 데이터가 들어있는파일 ✨ system data file의 종류 system tablespace, sysaux tablespace , undotbs tablespace system data file들은 DB올리고 복구를 할 수 없다 항상 mount 상태에서 복구해야한다 실습 #1. 다시한번 coldbackup을 수행하는데 /home/oracle밑에 coldbackup2라는 폴더를 만들고 수행합니다 shutdown immediate shutdown immediate cd mkdir coldbackup2 cp /u01/app/oracle/oradata/Ouh/* /home/oracle/coldbackup2/ startup select * from v..

data file의 종류 2가지 1. system data file : 오라클 system을 운영하기 위해서 반드시 필요한 파일들 ex ) system01.dbf , sysaux01.dbf , undotbs1.dbf 이 파일들이 손상이 되면 db가 운영이 안되고 강제로 shutdown 된다 복구할 때 db가 open된 상태에서 복구할 수 없고 mount 상태에서 복구해야한다 2. non system data file : 일반 사용자가 데이터가 저장된 data file ex) users01.dbf , example01.dbf, ts01.dbf 이 파일들이 손상되면 db가 내려가지는 않는데 해당테이블을 select를 할 수 없다 db를 open시키고 복구할 수 있다. mount와 open 상태 둘 다 복구할..