CKPT
: checkpoint
💡 메모리의 내용을 db로 내려쓰게 하면서
메모리와 db 간의 데이터를 일치시켜주는 역할
💡 이 이벤트 이름을 "checkpoint event" 라고 함
이 작업 주기는 오라클에 의해서 자동으로 관리되고 있음
메모리의 변경사항이 많으면 자주 내려쓰고 별로 없으면 덜 내려씀
SQL> show parameter fast
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 0
fast_start_parallel_rollback string LOW
SQL>
💡 fast_start_mttr_target 이 0으로 되어있으면 oracle이 자동으로 체크포인트를 수행하지 않습니다.
만약 이 값을 300(5분) 으로 설정하면 5분마다 자동으로 체크포인트가 발생합니다.
SQL> alter system checkpoint;
시스템이 변경되었습니다.
💡 db를 내리거나 full backup을 받기 전에 메모리의 내용을 디스크로 내려쓰는 위의 수동 작업을 해주는 것을 권장함
SQL> alter system set fast_start_mttr_target=300 scope=both;
💡 alert log file 입니다. 이 파일에 db에서 발생하는 이슈들이 실시간 기록되고 있습니다.
SQL> show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/product/19.3.0
/dbhome_1/rdbms/log
SQL>
SQL> SELECT value FROM v$diag_info WHERE name = 'Diag Trace';
[oracle@ora19c trace]$ cd /u01/app/oracle/diag/rdbms/ora19/ORA19/trace
[oracle@ora19c trace]$ tail -f alert*
echo -e "
dba 작업을 자동화하는 쉘 스크립트
"
echo -e " ================================= "
echo " "
echo "[1] DB에서 발생한 TX 락을 확인하려면 1번을 누르세요.
[2] DB에서 발생한 악성 SQL을 확인하려면 2번을 누르세요
[3] TOP명령어로 확인한 프로세서 번호로 해당 세션의 정보를 확인하고 싶으면 3번을 누르세요
[4] sys 유져로 접속해서 db를 startup 하려면 4번을 누르세요
[5] 리스너를 시작 시키려면 5번을 누르세요
[6] alert log file을 실시간 모니터링하려면 6번을 누르세요"
echo " "
echo -n "원하는 작업번호를 누르세요 "
read aa
echo " "
case $aa in
1) sqlplus -s system/oracle_4U @/home/oracle/lock.sql ;;
2) sqlplus -s system/oracle_4U @/home/oracle/bad.sql ;;
3) sqlplus -s system/oracle_4U @/home/oracle/spid.sql ;;
4) sqlplus -s sys/oracle_4U as sysdba @/home/oracle/startup.sql ;;
5) lsnrctl start ;;
6) tail -f /u01/app/oracle/diag/rdbms/ora19/ORA19/trace/alert* ;;
esac
echo " "
SQL> alter system set fast_start_mttr_target=600 scope=both;
시스템이 변경되었습니다.
SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL>
SQL> startup
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 1979709008 bytes
Fixed Size 8898128 bytes
Variable Size 520093696 bytes
Database Buffers 1426063360 bytes
Redo Buffers 24653824 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL>
SQL> show parameter fast
SQL> select file#, checkpoint_change#
2 from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2628252
3 2628252
4 2628252
7 2628252
SQL> save dh.sql
file dh.sql(이)가 생성되었습니다
SQL> @c
시스템이 변경되었습니다.
SQL> @dh
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2629588
3 2629588
4 2629588
7 2629588