0. DB 내리기
shutdown immediate
[oracle1@oracle ~]$ pwd
/home/oracle1
1. 백업본의 딕셔너리 생성
[oracle1@oracle ~]$ mkdir -p backup/noarch/
[oracle1@oracle ~]$ cd backup/noarch/
[oracle1@oracle noarch]$ pwd
/home/oracle1/backup/noarch
2. 백업할 파일들의 위치로 이동
[oracle1@oracle noarch]$ cd /u01/app/oracle/oradata/ora11g
[oracle1@oracle ora11g]$ pwd
/u01/app/oracle/oradata/ora11g
[oracle1@oracle ora11g]$ ls
3. 복사 모든속성 모든파일 경로
cp(복사) -av(보여주기) *.*(모든속성) /home/oracle1/backup/noarch(복사할 경로)
[oracle1@oracle ora11g]$ cp -av *.* /home/oracle1/backup/noarch
tip) 백업할 date 같이 해주는게 좋다!
[oracle1@oracle ora11g]$ date
Mon Jan 8 20:30:54 EST 2024
4. 복사한 파일 확인
[oracle1@oracle ora11g]$ cd /home/oracle1/backup/noarch
[oracle1@oracle noarch]$ ls
[oracle1@oracle noarch]$ ls -l
5. SQL sys 접속후 startup
[oracle1@oracle noarch]$ sqlplus / as sysdba
startup
#) current, sequence 번호 확인
select * from v$log;
6. 백업 이후에 유저가 table 생성 후 data 로드, commit 작업
<HR SESSION>
show user
create table new (id number) tablespace example;
insert into new (id) values(1);
commit;
<SYS SESSION>
select f.file_name
from dba_extents e, dba_data_files f
where e.file_id = f.file_id
and e.segment_name = 'NEW'
and e.owner = 'HR';
#) 정상적인 종료 후 OS로 나오기
shutdown immediate
# 장애 유발 #
[oralce1@oralce ~]$ rm /u01/app/oracle/oradata/ora11g/example01.dbf
[oralce1@oralce ~]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
#) DB startup
startup
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/u01/app/oracle/oradata/ora11g/example01.dbf'
7. DB mount 단계에서 나오기
#) 없어진 파일 확인했을 경우, 확인 불가.
[oracle1@oracle ~]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
8. 백업 파일 restore(복구) : 백업본 위치(/home/oracle/backup/noarch)로 이동해서 copy 하기
[oracle1@oracle noarch]$ cp -av example01.dbf /u01/app/oracle/oradata/ora11g/example01.dbf
[oracle1@oracle noarch]$ ls /u01/app/oracle/oradata/ora11g/example01.dbf
9. 오라클로 접속
[oracle1@oracle noarch]$ exit
exit
# 복구 작업
recover tablespace example;
-- 또는
recover database;
--Media recovery complete. → redo 적용
#) DB open
alter database open;
#) data file 확인
select name, checkpoint_change# from v$datafile;
10. redo 있었기에 복구 가능함
conn hr/hr
select * from hr.new;
#) CURRENT_SCN 번호 확인
select current_scn from v$database;
#) data file 확인
select name, checkpoint_change# from v$datafile;
#) redo log 정보 확인
select * from v$log;
11. 복구 완료
'Backup > Noarchive Log Mode' 카테고리의 다른 글
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓒ (0) | 2024.01.09 |
---|---|
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓑ (0) | 2024.01.09 |
BackUp 받지 않는 Tablespace 손상되었을 경우 ⓐ (0) | 2024.01.09 |
특정한 데이터 파일 손상되었을 경우(단, backup 이후에 redo 정보가 없을 경우) (1) | 2024.01.09 |
BackUP 기초용어 (0) | 2024.01.09 |