오라클에 할당된 메모리 공간은 900m 이지만 고의적으로 MEMORY_TARGET, MEMORY_MAX_TARGET을 1G로 설정하였다.


SHUTDOWN 후 다시 STARTUP 하면 오류를 확인할 수 있다.

PFILE에 파라미터 수정후 PFILE로 실행

PFILE을 SPFILE로 CREATE

그 뒤에는 SHUTDOWN 후 SPFILE로 STARTUP 해주면 된다.
free -h
df -Th
unmount 진행
[root@oracle19c ~]# umount -l tmpfs
mount 진행
[root@oracle19c ~]# mount -t tmpfs(Type) shmfs(변경이름) -o size=900m /dev/shm
- tmpfs 파일시스템 에서 shmfs 파일시스템 이름으로 변경하고 사이즈 크기도 변경하였다.
작은 binary file
데이터베이스 이름, 데이터베이스 식별자, 생성시간
data file, redo log file 이름, 위치정보
현재 redo log file의 sequence 번호
checkpoint정보, scn정보
backup에 대한 정보
noarchive log mode, archivelog mode에 대한 정보
control file 다중화 하자
-이중화 처리 되어있는걸 확인할 수 있다.
- 변경사항은 모든 control file에 일괄 저장된다.

control file 정보 확인

control file 중 database의 checkpoint, current_scn 확인하기
SELECT name, open_mode,checkpoint_change#, current_scn FROM v$database;

control file 중 datafile 확인
SELECT name, checkpoint_change#, status FROM v$datafile;
contrl file중 log 와 logfile 조인해서 확인
SELECT a.group#, b.sequence#, a.member, b.bytes/1024/1024 MB, b.archived, b.status,b.first_change#, b.next_change#
FROM v$logfile a, v$log b
WHERE a.group# = b.group#
ORDER BY 1;
du -hs /u01 : 해당 디렉터리에 할당된 디스크 용량 확인

ALTER SYSTEM SET control_files = '/u01/app/oracle/oradata/ORA19C/control01.ctl',
'/u01/app/oracle/fast_recovery_area/ORA19C/control02.ctl',
'/home/oracle/backup/control03.ctl'
SCOPE = SPFILE;
데이터베이스 정상적인 종료
shutdown immediate
기존 control file을 새로운 위치에 복사
cp -v /u01/app/oracle/oradata/ORA19C/control01.ctl /home/oracle/backup/control03.ctl
오라클 데이터베이스 시작
startup
복구 목적을 위한 내용이 저장되어 있는 파일
순환 형식의 구조이기 때문에 최소 2개 이상의 그룹을 생성해야 한다.
redo log 파일의 block은 os의 block을 가져와서 생성한다.
redo log 파일은 resize가 되지 않는다.
online redo log file member 추가
ALTER DATABASE ADD LOGFILE MEMBER
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo01.log' TO GROUP 1,
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo02.log' TO GROUP 2,
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo03.log' TO GROUP 3;
- 해당 명령어로 log 파일 자동 생성
ALTER SYSTEM SWITH LOGFILE;
ALTER DATABASE ADD LOGFILE GROUP 4(
'/u01/app/oracle/oradata/ORA19C/redo04.log',
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo04.log') SIZE 200M;
ALTER DATABASE ADD LOGFILE GROUP 5(
'/u01/app/oracle/oradata/ORA19C/redo05.log',
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo05.log') SIZE 200M;
ALTER DATABASE ADD LOGFILE GROUP 6( '/u01/app/oracle/oradata/ORA19C/redo06.log') SIZE 200M;ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo06.log' TO GROUP 6;ALTER DATABASE DROP LOGFILE GROUP 6;
[oracle@oracle19c onlinelog]$ rm redo04.log redo05.log[oracle@oracle19c ORA19C]$ rm redo04.log redo05.logALTER SYSTEM CHECKPOINT;ALTER DATABASE DROP LOGFILE MEMBER
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo01.log',
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo02.log',
'/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo03.log' ;
memeber 삭제한 후 물리적인 파일 삭제
rm /u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo01.log
/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo02.log
/u01/app/oracle/fast_recovery_area/ORA19C/onlinelog/redo03.log
| DB(논리적) | OS(물리적) |
|---|---|
| tablespace | data file |
| segment | |
| extent | |
| block | os block(512 byte) |