728x90
반응형
SMALL

Backup 70

ARCHIVE LOG MODE 변경하는 방법

1. archive log file 생성되는 디렉터리 생성 [oracle1@oracle ~]$ pwd /home/oracle1 [oracle1@oracle ~]$ mkdir arch1 [oracle1@oracle ~]$ mkdir arch2 [oracle1@oracle ~]$ ls arch1 database Downloads p13390677_112040_LINUX_1of7.zip Public Videos arch2 Desktop Music p13390677_112040_LINUX_2of7.zip Templates backup Documents ora_data Pictures userdata 2. oracle 접속 (=> sql developer로 확인) [oracle1@oracle ~]$ sqlplus..

DB가 종료 후 데이터 파일이 삭제 시키고 DB 올릴 경우

#) data file 상태 확인 select name, status from v$datafile; # DB 정상적인 종료 SQL> shutdown immediate # 장애 유발 # SQL> ! rm /u01/app/oracle/oradata/ora11g/users01.dbf SQL> ! rm /u01/app/oracle/oradata/ora11g/example01.dbf SQL> ! ls /u01/app/oracle/oradata/ora11g/ SQL> ! ls /u01/app/oracle/oradata/ora11g/ # DB 올리기 SQL> startup ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data..

DB가 종료된 후 데이터 파일이 삭제 시키고 DB 올릴 경우

# DB 정상적인 종료 SQL> shutdown immediate # 장애유발 # SQL> ! rm /u01/app/oracle/oradata/ora11g/users01.dbf SQL> ! ls /u01/app/oracle/oradata/ora11g/users01.dbf # DB 올리기 SQL> startup ORA-01157: cannot identify/lock data file 4 - see DBWR trace file ORA-01110: data file 4: '/u01/app/oracle/oradata/ora11g/users01.dbf' # 복구 방법 # 1. online 모드로 확인 select * from v$recover_file; 2. offline 모드 변경 SQL> alter data..

운영 중에 OFFLINE 되는 데이터 파일 손상되었을 경우

# 백업 받는 시점의 scn 정보, 현재 데이터 파일의 scn 정보 - checkpoint_change# : 현재 데이터 파일의 scn - change# : 백업 시점 데이터 파일 scn 정보 select a.file#, a.name, a.checkpoint_change#, b.status, b.change#, b.time from v$datafile a, v$backup b where a.file# = b.file#; # backup 받았을때의 scn 정보 select * from v$backup; # 마지막 백업 박은 시점의 scn 번호를 기준으로 현재 scn 번호까지 redo 정보 확인 select * from v$log; # archive log mode 정보 select sequence#, na..

NOARCHIVE LOG MODE, ARCHIVE LOG MODE

■ noarchive log mode (=:불안전한 복구 방식) - 기본적으로 DB는 noarchive log mode로 생성된다. - redo log file이 순환 방식으로 사용된다. - log switch 발생하면 checkpoint가 발생한 즉시 redo log file 은 재사용 할 수 있다. - redo log가 겹쳐 쓰여지면 마지막 전체 backup 에 대해서만 media recovery 를 할 수 있다. - 안전 복구보다는 불안전한 복구 방식을 수행할 경우가 많다. - 데이터베이스를 정상적인 종료한 후 백업을 수행해야 한다. ☆ shutdown normal | transactinal | immediate - backup 할 때 마다 전체 data file(필수), temp file(필수),..

240111 Backup / Noarchive Log Mode _ undo01.dbf 원상복구

(상황) undo01.dbf → undotbs.dbf 로 변경하려고 시도 했다가 다시 원상복구 한 상황 #) 백업본이 있는지 확인. => 만일을 대비해서 backup file은 있어야 한다..! SQL> ! [oracle1@oracle ~]$ cd backup/noarch/20240110/ [oracle1@oracle 20240110]$ ls control01.ctl redo02.log redo08.log system01.dbf users01.dbf example01.dbf redo03.log redo09.log temp01.dbf redo01.log redo07.log sysaux01.dbf undo01.dbf #) instance 상태 확인하려고 하는데 확인이 되지 않는다. => 급하게 lsnrctl..

240111 Backup / Noarchive Log Mode _ temp file 손상 되었을 경우 복구 방식

#) temp file 확인 SQL> select name from v$tempfile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ora11g/temp01.dbf #) temp file 전체적으로 확인 SQL> select * from v$tempfile; FILE# CREATION_CHANGE# CREATION_ TS# RFILE# STATUS ENABLED ---------- ---------------- --------- ---------- ---------- ------- ---------- BYTES BLOCKS CREATE_BYTES BLO..

backup file에 redo log file(옵션 파일)이 없을 경우

( 상황 ) 1. noarchive log mode 2. Whole database backup (일관성 있는 백업, cold backup)을 /home/oracle/backup/noarch/20240111 디렉터리에 백업하세요. 3. 단 data file, control file 만 백업해주세요. [ => data file, control file : 과거시점으로 돌아가야 하는 checkpoint scn 번호가 동일한 file이 있어야 함 ] [oracle1@oracle noarch]$ mkdir 20240111/ cp -av system01.dbf /home/oracle1/backup/noarch/20240111 cp -av sysaux01.dbf /home/oracle1/backup/noarch/2..

데이터 이관 작업 전 상태로 원상 복구

1. 준비 1) spfil 위치 확인 show parameter spfile 2) pfile 생성 create pfile from spfile; 3) 백업본 체크 [oracle@oracle ~]$ cd backup/noarch/20240110/ [oracle@oracle 20240110]$ ls control01.ctl redo01.log redo03.log system01.dbf undotbs.dbf example01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf 4) 데이터파일, 리두로그파일 위치변경 작업 alter database rename file '/home/oracle/ora_data/system01.dbf' to '/u01/app/oracle/o..

Undo data file 손상 되었을 경우, 새로운 UNDO01.dbf 생성 후 적용

#) data file, tablespace 정보 확인 SELECT a.file#, b.name tbs_name, a.name file_name, a.status, a.checkpoint_change# FROM v$datafile a, v$tablespace b WHERE a.ts# = b.ts#; #) rollback 세그먼트 정보 확인 SELECT segment_id, segment_name, owner, tablespace_name, status FROM dba_rollback_segs; #) hr 계정 : DML 실행 update hr.employees set salary = 2000 where employee_id = 100; #) sys 계정 s.username, /* session의 사용자이..

728x90
반응형
LIST