Archive log full 인 경우 해결
쿼리 실행이 오래 걸리는 것을 확인한 후 DB에 문제가 생긴 것을 확인
alert log 확인
[oracle@ts-oracle1 ~]$ cd $ORACLE_BASE/diag/rdbms/tsora18/TSORA18/trace
[oracle@ts-oracle1 trace]$ ls -alrt alert_TSORA18.log
-rw-r----- 1 oracle oinstall 50738390 Jan 2 16:39 alert_TSORA18.log
계속 같은 에러가 반복적으로 떨어지는 것을 확인
2023-01-02T10:04:42.455750+09:00
Errors in file /app/oracle/diag/rdbms/tsora18/TSORA18/trace/TSORA18_arc2_24933.trc:
ORA-19502: write error on file "/run/user/1001/archarch_1_2610_1049881890.arc", block number 210944 (block size=512)
ORA-27072: File I/O error
Additional information: 4
Additional information: 210944
Additional information: 53248
ORA-19502: write error on file "/run/user/1001/archarch_1_2610_1049881890.arc", block number 210944 (block size=512)
ARC2 (PID:24933): I/O error 19502 archiving LNO:3 to '/run/user/1001/archarch_1_2610_1049881890.arc'
ARC2 (PID:24933): Stuck archiver: insufficient local LADs
ARC2 (PID:24933): Stuck archiver condition declared
disk 용량 확인
disk 용량 확인시 아카이브 로그가 저장되는 공간인 /run/user/1001이 97%로 full 차서 아카이브 로그가 저장이 안 되어 발생한 것으로 확인된다.
[oracle@ts-oracle1 1001]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 986M 15G 7% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 100G 86G 15G 86% /
tmpfs 3.2G 0 3.2G 0% /run/user/0
tmpfs 3.2G 3.1G 104M 97% /run/user/1001
/dev/sdb1 394G 73M 374G 1% /oradata
아카이브 로그 확인
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /run/user/1001/arch
Oldest online log sequence 2610
Next log sequence to archive 2610
Current log sequence 2612
아카이브 로그 파일이 떨어지는 곳은 /run/user/1001/arch 이지만 arch 디렉토리가 없어 /run/user/1001에 떨어진다.
아카이브 로그 파일을 공간이 여유로운 /oradata/arch 밑으로 이동시킨 후 아카이브 로그가 떨어지도록 해결해준다.
[oracle@ts-oracle1 oradata]$ ls -alrt
total 32
drwx------ 2 oracle oinstall 16384 Jan 2 10:49 lost+found
drwxr-xr-x 2 oracle oinstall 4096 Jan 2 10:55 arch
drwxr-xr-x 2 oracle oinstall 4096 Jan 2 10:55 datafile
drwxr-xr-x 5 oracle oinstall 4096 Jan 2 10:55 .
dr-xr-xr-x 21 root root 4096 Jan 2 12:08 ..
현재 아카이브 로그가 저장되는 디렉토리 확인
전부 /oradata/arch로 이동시킨다.
[oracle@ts-oracle1 ~]$ cd /run/user/1001
[oracle@ts-oracle1 1001]$ ls -alrt
total 3172472
-rw-r----- 1 oracle oinstall 167680000 Sep 27 15:24 archarch_1_2591_1049881890.arc
-rw-r----- 1 oracle oinstall 162232832 Sep 27 15:24 archarch_1_2592_1049881890.arc
-rw-r----- 1 oracle oinstall 200333824 Sep 27 15:24 archarch_1_2593_1049881890.arc
-rw-r----- 1 oracle oinstall 200176128 Sep 27 15:25 archarch_1_2594_1049881890.arc
-rw-r----- 1 oracle oinstall 166613504 Sep 28 04:00 archarch_1_2595_1049881890.arc
-rw-r----- 1 oracle oinstall 168433152 Sep 28 20:00 archarch_1_2596_1049881890.arc
-rw-r----- 1 oracle oinstall 200332288 Sep 29 10:05 archarch_1_2597_1049881890.arc
-rw-r----- 1 oracle oinstall 161772032 Sep 29 18:50 archarch_1_2598_1049881890.arc
-rw-r----- 1 oracle oinstall 166884864 Sep 30 08:00 archarch_1_2599_1049881890.arc
-rw-r----- 1 oracle oinstall 171574784 Nov 16 17:00 archarch_1_2600_1049881890.arc
-rw-r----- 1 oracle oinstall 163061760 Nov 17 12:00 archarch_1_2601_1049881890.arc
-rw-r----- 1 oracle oinstall 163527680 Nov 18 07:00 archarch_1_2602_1049881890.arc
-rw-r----- 1 oracle oinstall 168455680 Nov 19 02:00 archarch_1_2603_1049881890.arc
-rw-r----- 1 oracle oinstall 165522944 Nov 19 21:00 archarch_1_2604_1049881890.arc
-rw-r----- 1 oracle oinstall 163832832 Nov 20 15:00 archarch_1_2605_1049881890.arc
-rw-r----- 1 oracle oinstall 167092736 Nov 21 08:00 archarch_1_2606_1049881890.arc
-rw-r----- 1 oracle oinstall 163598848 Nov 22 01:00 archarch_1_2607_1049881890.arc
-rw-r----- 1 oracle oinstall 162375168 Nov 22 18:00 archarch_1_2608_1049881890.arc
-rw-r----- 1 oracle oinstall 165066240 Nov 23 11:00 archarch_1_2609_1049881890.arc
drwxr-xr-x 4 root root 80 Dec 1 13:42 ..
drwx------ 2 oracle oinstall 420 Jan 2 16:34 .
아카이브 로그 파일 이동
mv /run/user/1001/* /oradata/arch
파일이 이동된 것을 확인할 수 있다.
[oracle@ts-oracle1 ~]$ cd /oradata/arch
[oracle@ts-oracle1 arch]$ ls -alrt
total 3172488
-rw-r----- 1 oracle oinstall 167680000 Sep 27 15:24 archarch_1_2591_1049881890.arc
-rw-r----- 1 oracle oinstall 162232832 Sep 27 15:24 archarch_1_2592_1049881890.arc
-rw-r----- 1 oracle oinstall 200333824 Sep 27 15:24 archarch_1_2593_1049881890.arc
-rw-r----- 1 oracle oinstall 200176128 Sep 27 15:25 archarch_1_2594_1049881890.arc
-rw-r----- 1 oracle oinstall 166613504 Sep 28 04:00 archarch_1_2595_1049881890.arc
-rw-r----- 1 oracle oinstall 168433152 Sep 28 20:00 archarch_1_2596_1049881890.arc
-rw-r----- 1 oracle oinstall 200332288 Sep 29 10:05 archarch_1_2597_1049881890.arc
-rw-r----- 1 oracle oinstall 161772032 Sep 29 18:50 archarch_1_2598_1049881890.arc
-rw-r----- 1 oracle oinstall 166884864 Sep 30 08:00 archarch_1_2599_1049881890.arc
-rw-r----- 1 oracle oinstall 171574784 Nov 16 17:00 archarch_1_2600_1049881890.arc
-rw-r----- 1 oracle oinstall 163061760 Nov 17 12:00 archarch_1_2601_1049881890.arc
-rw-r----- 1 oracle oinstall 163527680 Nov 18 07:00 archarch_1_2602_1049881890.arc
-rw-r----- 1 oracle oinstall 168455680 Nov 19 02:00 archarch_1_2603_1049881890.arc
-rw-r----- 1 oracle oinstall 165522944 Nov 19 21:00 archarch_1_2604_1049881890.arc
-rw-r----- 1 oracle oinstall 163832832 Nov 20 15:00 archarch_1_2605_1049881890.arc
-rw-r----- 1 oracle oinstall 167092736 Nov 21 08:00 archarch_1_2606_1049881890.arc
-rw-r----- 1 oracle oinstall 163598848 Nov 22 01:00 archarch_1_2607_1049881890.arc
-rw-r----- 1 oracle oinstall 162375168 Nov 22 18:00 archarch_1_2608_1049881890.arc
-rw-r----- 1 oracle oinstall 165066240 Nov 23 11:00 archarch_1_2609_1049881890.arc
drwxr-xr-x 5 oracle oinstall 4096 Jan 2 10:55 ..
drwxr-xr-x 2 oracle oinstall 4096 Jan 2 16:54 .
현재 아카이브 로그가 떨어지는 곳을 확인하면 공간이 부족해서 아카이브 로그가 떨어지지 못한 파일이 정상적으로 떨어진 것을 확인할 수 있다.
[oracle@ts-oracle1 1001]$ ls -alrt
total 515112
drwxr-xr-x 4 root root 80 Dec 1 13:42 ..
-rw-r----- 1 oracle oinstall 164784640 Jan 2 16:54 archarch_1_2610_1049881890.arc
drwx------ 2 oracle oinstall 100 Jan 2 16:54 .
-rw-r----- 1 oracle oinstall 162350080 Jan 2 16:54 archarch_1_2611_1049881890.arc
-rw-r----- 1 oracle oinstall 200333824 Jan 2 16:54 archarch_1_2612_1049881890.arc
공간도 줄어든 것을 확인할 수 있다.
[oracle@ts-oracle1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 994M 15G 7% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 100G 86G 15G 86% /
tmpfs 3.2G 0 3.2G 0% /run/user/0
tmpfs 3.2G 504M 2.7G 16% /run/user/1001
/dev/sdb1 394G 3.1G 371G 1% /oradata
아카이브 로그 경로 변경
공간이 여유로운 디스크에 아카이브 경로를 변경할 것이다.
아카이브 로그 경로 확인
현재 아카이브 로그 저장 경로는 /run/user/1001/arch
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /run/user/1001/arch
Oldest online log sequence 2610
Next log sequence to archive 2610
Current log sequence 2612
/oradata/arch로 아카이브 경로 이동할 것이다.
[oracle@ts-oracle1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 994M 15G 7% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 100G 86G 15G 86% /
tmpfs 3.2G 0 3.2G 0% /run/user/0
tmpfs 3.2G 504M 2.7G 16% /run/user/1001
/dev/sdb1 394G 3.1G 371G 1% /oradata
현재 아카이브 경로 확인
SQL> show parameter arch
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
log_archive_config string
log_archive_dest string
log_archive_dest_1 string LOCATION=/run/user/1001/arch
log_archive_dest_10 string
log_archive_dest_11 string
log_archive_dest_12 string
아카이브 경로 변경
SQL> alter system set log_archive_dest_1='location=/oradata/arch' scope=spfile;
System altered.
alert log 확인
DB 재시작하기 전에 alert log를 같이 확인하면서 재시작한다.
tail -f 옵션 : 파일 뒤부터 실시간으로 떨어지는 log를 확인할 수 있다.
cd $ORACLE_BASE/diag/rdbms/[DB명]/[SID명]/trace/alert[SID].log
tail -f alert[SID].log
DB 재시작
SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount;
SQL> alter database open;
경로 변경 확인
경로가 변경된 것을 확인할 수 있다.
SQL> show parameter arch
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
log_archive_config string
log_archive_dest string
log_archive_dest_1 string location=/oradata/arch
log_archive_dest_10 string
log_archive_dest_11 string
log_archive_dest_12 string
아카이브 로그 강제 생성
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
아카이브 로그 확인
오늘 날짜로 아카이브 로그가 쌓인 것을 확인할 수 있다.
[oracle@ts-oracle1 ~]$ cd /oradata/arch
[oracle@ts-oracle1 arch]$ ls -alrt
total 3307168
-rw-r----- 1 oracle oinstall 167680000 Sep 27 15:24 archarch_1_2591_1049881890.arc
-rw-r----- 1 oracle oinstall 162232832 Sep 27 15:24 archarch_1_2592_1049881890.arc
-rw-r----- 1 oracle oinstall 200333824 Sep 27 15:24 archarch_1_2593_1049881890.arc
-rw-r----- 1 oracle oinstall 200176128 Sep 27 15:25 archarch_1_2594_1049881890.arc
-rw-r----- 1 oracle oinstall 166613504 Sep 28 04:00 archarch_1_2595_1049881890.arc
-rw-r----- 1 oracle oinstall 168433152 Sep 28 20:00 archarch_1_2596_1049881890.arc
-rw-r----- 1 oracle oinstall 200332288 Sep 29 10:05 archarch_1_2597_1049881890.arc
-rw-r----- 1 oracle oinstall 161772032 Sep 29 18:50 archarch_1_2598_1049881890.arc
-rw-r----- 1 oracle oinstall 166884864 Sep 30 08:00 archarch_1_2599_1049881890.arc
-rw-r----- 1 oracle oinstall 171574784 Nov 16 17:00 archarch_1_2600_1049881890.arc
-rw-r----- 1 oracle oinstall 163061760 Nov 17 12:00 archarch_1_2601_1049881890.arc
-rw-r----- 1 oracle oinstall 163527680 Nov 18 07:00 archarch_1_2602_1049881890.arc
-rw-r----- 1 oracle oinstall 168455680 Nov 19 02:00 archarch_1_2603_1049881890.arc
-rw-r----- 1 oracle oinstall 165522944 Nov 19 21:00 archarch_1_2604_1049881890.arc
-rw-r----- 1 oracle oinstall 163832832 Nov 20 15:00 archarch_1_2605_1049881890.arc
-rw-r----- 1 oracle oinstall 167092736 Nov 21 08:00 archarch_1_2606_1049881890.arc
-rw-r----- 1 oracle oinstall 163598848 Nov 22 01:00 archarch_1_2607_1049881890.arc
-rw-r----- 1 oracle oinstall 162375168 Nov 22 18:00 archarch_1_2608_1049881890.arc
-rw-r----- 1 oracle oinstall 165066240 Nov 23 11:00 archarch_1_2609_1049881890.arc
drwxr-xr-x 5 oracle oinstall 4096 Jan 2 10:55 ..
-rw-r----- 1 oracle oinstall 137878528 Jan 3 10:14 arch_1_2613_1049881890.arc
-rw-r----- 1 oracle oinstall 1024 Jan 3 10:14 arch_1_2614_1049881890.arc
drwxr-xr-x 2 oracle oinstall 4096 Jan 3 10:14 .
-rw-r----- 1 oracle oinstall 28672 Jan 3 10:14 arch_1_2615_1049881890.arc
'DB ORACLE 공부 기록' 카테고리의 다른 글
Default profile 변경 (PASSWORD_LIFE_TIME 변경) (0) | 2023.01.05 |
---|---|
Datafile 이동 (0) | 2023.01.04 |
Redo log file 관리 (추가/삭제) (0) | 2022.12.21 |
Redo log 이중화 및 STATUS (0) | 2022.12.21 |
ARCHIVE LOG MODE (아카이브 로그 모드) 경로 변경 (0) | 2022.12.19 |