[문제]
1. archive log mode 인지 noarchive log mode 인지 확인하세요.
2. data file, temp file, redo log file 정보를 확인하세요.
3. noarchive log mode 입니다. Whole database backup(일관성 있는 백업, cold backup) 을
/home/oracle/backup/noarch/20240110 디렉토리에 백업해 주세요. 초기 파라미터 파일도 백업해 주세요.
[나의 풀이]
1. archive log mode 인지 noarchive log mode 인지 확인하세요.
2. data file, temp file, redo log file 정보를 확인하세요.
(d 102)
select name from v$datafile;
데이터파일들 확인하기
(d 102)
select name from v$controlfile;
컨트롤파일들 확인하기
(d 102)
select name from v$tempfile;
temp 파일 확인하기
(d 102)
select name from v$tempfile;
temp 파일 확인하기
3. noarchive log mode 입니다. Whole database backup(일관성 있는 백업, cold backup) 을
/home/oracle/backup/noarch/20240110 디렉토리에 백업해 주세요. 초기 파라미터 파일도 백업해 주세요.
① 디렉토리 만들기
[oracle@oracle ~]$ cd /home/oracle/backup/noarch/
[oracle@oracle noarch]$ pwd
/home/oracle/backup/noarch
[oracle@oracle noarch]$ mkdir -p 20240110
[oracle@oracle noarch]$ ls
20240110 redo01.log sysaux01.dbf undotbs01.dbf
control01.ctl redo02.log system01.dbf users01.dbf
example01.dbf redo03.log temp01.dbf
② 백업파일 위치 확인하기
백업해야 할 원본파일들이 있는 위치:
/u01/app/oracle/oradata/ora11g/
[oracle@oracle dbs]$ cd /u01/app/oracle/oradata/ora11g/
[oracle@oracle ora11g]$ pwd
/u01/app/oracle/oradata/ora11g
[oracle@oracle ora11g]$ ls
control01.ctl redo02.log system01.dbf users01.dbf
example01.dbf redo03.log temp01.dbf
redo01.log sysaux01.dbf undotbs01.dbf
파일 확인하기
백업
초기파라미터 파일 위치:
/u01/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@oracle ora11g]$ cd $ORACLE_HOME/dbs
[oracle@oracle dbs]$ pwd
/u01/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@oracle dbs]$ ls
hc_ora11g.dat initora11g.ora orapwora11g
init.ora lkORA11G spfileora11g.ora
초기파라미터 파일 확인하기
③ 백업 1. /u01/app/oracle/oradata/ora11g/ 위치의 파일들 백업하기
[oracle@oracle noarch]$ cd /u01/app/oracle/oradata/ora11g/
먼저 백업해야 할 파일들이 있는 위치로 가서
[oracle@oracle ora11g]$ ls
control01.ctl redo02.log system01.dbf users01.dbf
example01.dbf redo03.log temp01.dbf
redo01.log sysaux01.dbf undotbs01.dbf
파일들 확인하고
[oracle@oracle ora11g]$ cp -av *.* /home/oracle/backup/noarch/20240110
모든 파일을 속성까지 똑같이, 새로 만든 20240110 디렉토리에 백업하기
백업 완료
④ 백업 2. $ORACLE_HOME/dbs 위치의 초기 파라미터 파일 백업하기
[oracle@oracle ora11g]$ cd $ORACLE_HOME/dbs
파일이 있는 위치로 가서
[oracle@oracle dbs]$ ls
hc_ora11g.dat initora11g.ora orapwora11g
init.ora lkORA11G spfileora11g.ora
초기 파라미터 파일 확인하고
spfileora11g.ora
2023 년 12월 8일 2교시 수업 때
mv spfileora11g.ora spfileora11g.bak
이렇게 저 초기 파라미터 파일의 백업본을 하나 만들어 놓고
(!!!!!!!!!!!!!!!!!!!!!!!!!! 주의! 현장에서는 mv 하면 안되고 cp 해야 함!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
이런 내용을 찾았는데
난 간이 떨려서 복사하고 싶지 않아...
와... 근데 나 3번 문제 풀면서 DB 안내리고 백업했어...
DB를 안 내리고 백업을 해도 백업파일이 만들어지긴 하지만
그 파일로는 복구하는 게 의미가 없다 (복구해도 원래 있던 파일들만 깨지게 만들게 될 뿐)
그렇지만 이 상태에서 DB 를 내리고 새로 백업하면
DB 를 내린 상태에서 새로 백업받는 파일들이
DB 를 안내리고 받은 상태의 백업파일들에 덮어씌워지면서
아무런 문제도 없게 된다.
(휴... 다행이야...!)
(와... 근데 나 이거 위에 거 만치에한테 물어봤던 내용 맞지?... 큰일났다고 있는 호들갑 없는 호들갑 다 떨어가면서?
오늘이 1월 31일인데 21일 전에는 이런 걸 질문이라고 했었군그래?...
정말 만치에도 인내심 대단해... 웃는 얼굴로 받아주기 힘들었을 텐데
진짜 만치에는 하늘에서 내려온 천사야 ㅠㅠ ♡)
[정답]
[정답]
1. archive log mode 인지 noarchive log mode 인지 확인하세요.
2. data file, temp file, redo log file 정보를 확인하세요.
3. noarchive log mode 입니다. Whole database backup(일관성 있는 백업, cold backup) 을
/home/oracle/backup/noarch/20240110 디렉토리에 백업해 주세요. 초기 파라미터 파일도 백업해 주세요.
1. archive log mode 인지 noarchive log mode 인지 확인하세요.
SQL>
select log_mode from v$database;
SQL>
archive log list;
2. data file, temp file, redo log file 정보를 확인하세요.
SQL>
select name from v$datafile;
데이터 파일 확인
SQL>
select name from v$tempfile;
템프 파일 확인
SQL>
select name from v$controlfile;
컨트롤 파일 확인
SQL>
select member from v$logfile;
(리두로그 파일은 네임 컬럼이 아니라 멤버 컬럼으로 확인해야 한다)
select a.group#, a.member, b.bytes/1024/1024 mb, b.archived, b.status
from v$logfile a, v$log b
where a.group# = b.group#
order by 1, 2;
3. noarchive log mode 입니다. Whole database backup(일관성 있는 백업, cold backup) 을
/home/oracle/backup/noarch/20240110 디렉토리에 백업해 주세요. 초기 파라미터 파일도 백업해 주세요.
SQL>
select status from v$instance;
인스턴스가 열려 있는 상태인지 확인
SQL>
shutdown immediate
DB 내리기
SQL> !
OS로 나가기
1단계. 디렉토리 만들기
[oracle@oracle]$ cd backup/noarch
백업 디렉토리로 가기
[oracle@oracle noarch]$ mkdir 20240110
오늘 날짜로 된 백업용 디렉토리 만들기
[oracle@oracle noarch]$ cd 20240110
[oracle@oracle noarch]$ cd /u01/app/oracle/oradata/ora11g/
백업해야 하는 원본파일들이 있는 위치로 가기
2단계. 데이터 파일, 리두로그 파일, 컨트롤 파일, 템프 파일 등등 백업하기
[oracle@oracle ora11g]$ cp -av *.* /home/oracle/backup/noarch/20240110
원본파일이 있는 디렉토리의 모든 파일들을 새 위치 /home/oracle/backup/noarch/20240110 로 백업
3단계. 초기 파라미터 파일 백업하기
SQL>
show parameter spfile
현재 떠있는 초기 파라미터 파일 확인하기
spfile 을 pfile 로 생성하면 그게 백업이므로
SQL>
create pfile from spfile;
spfile 이 있는 위치에 pfile 도 생성됨
(init<SID>.ora 라는 이름으로 만들어짐)
SQL>
create pfile='/home/oracle/backup/noarch/20240110/initora11g_20240110.ora' from spfile;
다른 위치에 pfile 생성하기
백업파일 이름을 정할 때는 그 파일을 만든 날짜도 꼭 같이 써주는 것이 좋다.
create pfile='절대경로' from spfile;
(spfile 로부터 pfile 을, 원하는 위치에 만드는 마법의 주문)
그럼 새로 만든 파일이 있는 물리적인 위치로 한번 가보자.
[oracle@oracle ora11g]$ cd /home/oracle/backup/noarch/20240110/
initora11g_20240110.ora 이 파일이 생성되었는지 확인해보기
만일에 대비해서 꼭 pfile 하나 정도는 만들어 놓자.
2024년 1월 10일 3교시 시나리오 7. 시스템 데이터파일 손상 + 백업본 O + 리두 X (0) | 2024.01.10 |
---|---|
2024년 1월 10일 2교시 시나리오 6. 시스템 데이터파일 손상 + 백업본 O + 백업 이후 리두 O / 콜드 백업 실습 (0) | 2024.01.10 |
2024년 1월 9일 6교시 시나리오 5. 백업 X + 리두 X + TBS 안 세그먼트 O (0) | 2024.01.09 |
2024년 1월 9일 5교시 시나리오 4. 특정 dbf 손상 + 백업 X + 리두 O (0) | 2024.01.09 |
2024년 1월 9일 4교시 시나리오 3. 특정 dbf 손상 + 백업 X + 리두 X (0) | 2024.01.09 |