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

+ Recent posts