ORA-00250๋?
ORA-00250 ์๋ฌ๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์นด์ด๋ฒ(Archiver) ํ๋ก์ธ์ค๊ฐ ์์๋์ง ์์ ์ํ์์ ์์นด์ด๋ธ ๊ด๋ จ ์์
์ ์ํํ๋ ค ํ ๋ ๋ฐ์ํ๋ ์๋ฌ์
๋๋ค. Oracle์ ARCHIVELOG ๋ชจ๋์์ ์จ๋ผ์ธ ๋ฆฌ๋ ๋ก๊ทธ(Online Redo Log)๊ฐ ๊ฝ ์ฐจ๋ฉด ์๋์ผ๋ก ARCn ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ํด๋น ๋ก๊ทธ๋ฅผ ์์นด์ด๋ธ ํ์ผ๋ก ๋ณต์ฌํ๋๋ฐ, ์ด ํ๋ก์ธ์ค๊ฐ ์ ์์ ์ผ๋ก ๊ธฐ๋๋์ง ์์์ ๊ฒฝ์ฐ ๋ณธ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฃผ๋ก ALTER SYSTEM ARCHIVE LOG START ๋ช
๋ น์ ์คํํ๋ ค ํ๊ฑฐ๋, ์์นด์ด๋ธ ๋ก๊ทธ ๊ด๋ จ ์ค์ ์ ๋ณ๊ฒฝํ ๋ ์ด๋ฏธ ์์นด์ด๋ฒ๊ฐ ์ค๋จ๋ ์ํ์์ ์ค๋ณต ์ค์ง ๋ช
๋ น์ ๋ด๋ฆฌ๋ ์ํฉ์์๋ ์ด ์๋ฌ๊ฐ ๋ํ๋ ์ ์์ต๋๋ค.
์ฃผ์ ๋ฐ์ ์์ธ
1. ARCHIVELOG ๋ชจ๋์ด์ง๋ง ARCn ํ๋ก์ธ์ค๊ฐ ๋น์ ์ ์ข ๋ฃ๋ ๊ฒฝ์ฐ
Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ARCHIVELOG ๋ชจ๋๋ก ์ด์ ์ค์์๋ ๋ถ๊ตฌํ๊ณ , ๋ด๋ถ ์ค๋ฅ๋ OS ๋ ๋ฒจ์ ์์ ๋ถ์กฑ์ผ๋ก ์ธํด ARCn ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ์ข
๋ฃ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด ์ํ์์ ์๋์ผ๋ก ALTER SYSTEM ARCHIVE LOG ALL ๋๋ ๊ด๋ จ ๋ช
๋ น์ ์คํํ๋ฉด ์์นด์ด๋ฒ๊ฐ ์๋ค๋ ORA-00250 ์๋ฌ๊ฐ ์ฆ์ ๋ฐ์ํฉ๋๋ค. Alert ๋ก๊ทธ๋ฅผ ํ์ธํ๋ฉด ARCn ํ๋ก์ธ์ค์ ์ข
๋ฃ ์์ ๊ณผ ์์ธ์ ์ถ์ ํ ์ ์์ต๋๋ค.
2. NOARCHIVELOG ๋ชจ๋์์ ์์นด์ด๋ธ ๊ด๋ จ ๋ช ๋ น์ ์คํํ ๊ฒฝ์ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ NOARCHIVELOG ๋ชจ๋๋ก ์ด์ ์ค์ธ๋ฐ, DBA๊ฐ ์ค์๋ก ์์นด์ด๋ธ ๋ก๊ทธ ๊ด๋ จ ๋ช
๋ น(ALTER SYSTEM ARCHIVE LOG START ๋ฑ)์ ์คํํ ๊ฒฝ์ฐ ์ด ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. NOARCHIVELOG ๋ชจ๋์์๋ ์ ์ด์ ์์นด์ด๋ฒ ํ๋ก์ธ์ค ์์ฒด๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ช
๋ น ์์ฒด๊ฐ ๋ฌด์๋ฏธํ๋ฉฐ, Oracle์ ์ด๋ฅผ ์๋ฌ๋ก ๋ฐํํฉ๋๋ค. ํ์ฌ ์์นด์ด๋ธ ๋ชจ๋ ํ์ธ ์์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ผ๊ด ์คํํ๋ ํ๊ฒฝ์์ ๋น๋ฒํ๊ฒ ๋ฐ์ํฉ๋๋ค.
3. ์๋์ผ๋ก ALTER SYSTEM ARCHIVE LOG STOP์ ์คํํ ํ ์ฌ์์ํ์ง ์์ ๊ฒฝ์ฐ
์ด์ ์ค ํน์ํ ์ ์ง๋ณด์ ๋ชฉ์ ์ผ๋ก ์์นด์ด๋ฒ๋ฅผ ์๋ ์ ์ง(ALTER SYSTEM ARCHIVE LOG STOP)์ํจ ํ, ์์
์ด ์๋ฃ๋์์์๋ ์ฌ์์์ ์์ด๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด ์ํ์์ ๋ฆฌ๋ ๋ก๊ทธ๊ฐ ๊ฝ ์ฐจ๊ฑฐ๋, ๋ค๋ฅธ ์์นด์ด๋ธ ๊ด๋ จ ๋ช
๋ น์ ์คํํ๋ฉด ORA-00250์ด ๋ฐ์ํ๋ฉฐ, ์ต์
์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๊ฐ ์ ์ง(hang)๋๋ ์ํฉ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์๋ ๊ฐ์
์ด ์ฆ์ ์ด์ ํ๊ฒฝ์์ ํนํ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
์์ธ 1 ํด๊ฒฐ: ARCn ํ๋ก์ธ์ค ๋น์ ์ ์ข ๋ฃ ์ ์์นด์ด๋ฒ ์ฌ์์
๋จผ์ ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์นด์ด๋ธ ๋ชจ๋์ ์์นด์ด๋ฒ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
-- ํ์ฌ ์์นด์ด๋ธ ๋ชจ๋ ํ์ธ
SELECT LOG_MODE FROM V$DATABASE;
-- ์์นด์ด๋ฒ ํ๋ก์ธ์ค ์ํ ํ์ธ
SELECT ARCHIVER FROM V$INSTANCE;
-- ARCn ํ๋ก์ธ์ค ๋ชฉ๋ก ํ์ธ
SELECT PNAME, PADDR FROM V$BGPROCESS
WHERE PNAME LIKE 'ARC%';
V$INSTANCE.ARCHIVER ์ปฌ๋ผ ๊ฐ์ด STOPPED๋ก ํ์ธ๋๋ฉด, ์๋ ๋ช
๋ น์ผ๋ก ์์นด์ด๋ฒ๋ฅผ ์ฌ์์ํฉ๋๋ค.
-- SYSDBA ๊ถํ์ผ๋ก ์ ์ ํ ์์นด์ด๋ฒ ์๋ ์์
CONNECT / AS SYSDBA
-- ์์นด์ด๋ฒ ํ๋ก์ธ์ค ์์ ๋ช
๋ น
ALTER SYSTEM ARCHIVE LOG START;
-- ๋ช
๋ น ์คํ ํ ์ํ ์ฌํ์ธ
SELECT ARCHIVER FROM V$INSTANCE;
-- ๊ฒฐ๊ณผ: STARTED ๋ก ๋ณ๊ฒฝ๋์ด์ผ ์ ์
์์นด์ด๋ฒ๋ฅผ ์์ํ ์ดํ, ๋ฏธ์ฒ ์์นด์ด๋ธ๋์ง ์์ ๋ฆฌ๋ ๋ก๊ทธ๊ฐ ์๋ค๋ฉด ์๋ ๋ช
๋ น์ผ๋ก ๊ฐ์ ์์นด์ด๋ธ๋ฅผ ์ํํฉ๋๋ค.
-- ํ์ฌ ๋ฏธ์์นด์ด๋ธ๋ ๋ก๊ทธ ๊ทธ๋ฃน ํ์ธ
SELECT GROUP#, SEQUENCE#, ARCHIVED, STATUS
FROM V$LOG
ORDER BY GROUP#;
-- ์ ์ฒด ๋ฏธ์์นด์ด๋ธ ๋ก๊ทธ ๊ฐ์ ์์นด์ด๋ธ
ALTER SYSTEM ARCHIVE LOG ALL;
-- ํน์ ์ํ์ค ๋ก๊ทธ ๊ฐ์ ์์นด์ด๋ธ
ALTER SYSTEM ARCHIVE LOG SEQUENCE 125;
์์ธ 2 ํด๊ฒฐ: NOARCHIVELOG ๋ชจ๋๋ฅผ ARCHIVELOG ๋ชจ๋๋ก ์ ํ
ํ์ฌ NOARCHIVELOG ๋ชจ๋์ธ๋ฐ ์์นด์ด๋ธ ๊ธฐ๋ฅ์ด ํ์ํ๋ค๋ฉด ๋ชจ๋ ์ ํ ์์
์ ์ํํฉ๋๋ค. ๋ฐ๋์ DB๋ฅผ MOUNT ์ํ๋ก ์ฌ๋ฆฐ ํ ์งํํด์ผ ํฉ๋๋ค.
-- 1๋จ๊ณ: ํ์ฌ ๋ชจ๋ ํ์ธ
SELECT NAME, LOG_MODE FROM V$DATABASE;
-- 2๋จ๊ณ: ์ ํ ์ ๋ฐ๋์ ์ฝ๋ ๋ฐฑ์
์ํ (์์: RMAN ์ฌ์ฉ)
-- RMAN> BACKUP DATABASE;
-- 3๋จ๊ณ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ข
๋ฃ
SHUTDOWN IMMEDIATE;
-- 4๋จ๊ณ: MOUNT ๋ชจ๋๋ก ๊ธฐ๋
STARTUP MOUNT;
-- 5๋จ๊ณ: ARCHIVELOG ๋ชจ๋๋ก ์ ํ
ALTER DATABASE ARCHIVELOG;
-- 6๋จ๊ณ: ๋ฐ์ดํฐ๋ฒ ์ด์ค OPEN
ALTER DATABASE OPEN;
-- 7๋จ๊ณ: ์ ํ ๊ฒฐ๊ณผ ํ์ธ
SELECT LOG_MODE FROM V$DATABASE;
-- ๊ฒฐ๊ณผ: ARCHIVELOG
-- 8๋จ๊ณ: ์์นด์ด๋ธ ๋ก๊ทธ ์ ์ฅ ๊ฒฝ๋ก ํ์ธ
SHOW PARAMETER LOG_ARCHIVE_DEST;
-- ์์นด์ด๋ธ ๊ฒฝ๋ก ์ค์ (ํ์ ์)
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/archive/oradata'
SCOPE=BOTH;
์์ธ 3 ํด๊ฒฐ: ์๋ ์ ์ง ํ ์ฌ์์ ์ ์ฐจ
์๋์ผ๋ก ์์นด์ด๋ฒ๋ฅผ ์ ์ง์ํจ ๊ฒฝ์ฐ, ์๋ ๋ช
๋ น์ผ๋ก ์ฆ์ ์ฌ๊ธฐ๋ํฉ๋๋ค.
-- ์์นด์ด๋ฒ ํ์ฌ ์ํ ํ์ธ
SELECT ARCHIVER FROM V$INSTANCE;
-- ๊ฒฐ๊ณผ: STOPPED
-- ์์นด์ด๋ฒ ์ฌ์์
ALTER SYSTEM ARCHIVE LOG START;
-- ์ฌ์์ ํ ์ํ ํ์ธ
SELECT ARCHIVER FROM V$INSTANCE;
-- ๊ฒฐ๊ณผ: STARTED
-- ์์นด์ด๋ธ ๋ชฉ์ ์ง(Destination) ์ํ ํ์ธ
SELECT DEST_ID, STATUS, TARGET, ARCHIVER, DESTINATION
FROM V$ARCHIVE_DEST
WHERE STATUS != 'INACTIVE';
-- Alert ๋ก๊ทธ ์์น ํ์ธ (์๋ฌ ์์ธ ์ถ์ ์ฉ)
SELECT VALUE FROM V$DIAG_INFO
WHERE NAME = 'Diag Trace';
์์นด์ด๋ธ ๊ด๋ จ ํ๋ผ๋ฏธํฐ ์ ์ฒด ํํฉ๋ ํจ๊ป ์ ๊ฒํฉ๋๋ค.
-- ์์นด์ด๋ธ ๊ด๋ จ ํ๋ผ๋ฏธํฐ ์ ์ฒด ํ์ธ
SELECT NAME, VALUE
FROM V$PARAMETER
WHERE NAME IN (
'log_archive_dest_1',
'log_archive_dest_2',
'log_archive_format',
'log_archive_max_processes',
'log_archive_min_succeed_dest',
'db_recovery_file_dest',
'db_recovery_file_dest_size'
);
-- ARCn ์ต๋ ํ๋ก์ธ์ค ์ ์กฐ์ (ํ์ ์)
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES = 4 SCOPE=BOTH;
์๋ฐฉ ๋ฐฉ๋ฒ
1. ์์นด์ด๋ธ ๋ก๊ทธ ์ํ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๋ ์คํฌ๋ฆฝํธ ๊ตฌ์ฑ
์์นด์ด๋ฒ ํ๋ก์ธ์ค ์ํ ๋ฐ ์์นด์ด๋ธ ๋ชฉ์ ์ง์ ๋์คํฌ ์ฌ์ฉ๋ฅ ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฒํ๋ ๋ชจ๋ํฐ๋ง ์ฒด๊ณ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ต์ ์ ์๋ฐฉ์ฑ
์
๋๋ค. ์๋ ์ฟผ๋ฆฌ๋ฅผ Cron Job์ด๋ OEM(Oracle Enterprise Manager) ์๋๊ณผ ์ฐ๋ํ์ฌ ์์นด์ด๋ฒ๊ฐ STOPPED ์ํ๊ฐ ๋๋ฉด ์ฆ์ ์๋ฆผ์ ๋ฐ์ ์ ์๋๋ก ์ค์ ํ์ธ์.
-- ์์นด์ด๋ฒ ์ํ + ์์นด์ด๋ธ ๋ชฉ์ ์ง ์ฌ์ฉ๋ฅ ํตํฉ ๋ชจ๋ํฐ๋ง ์ฟผ๋ฆฌ
SELECT
I.INSTANCE_NAME,
I.ARCHIVER AS ARCHIVER_STATUS,
D.LOG_MODE,
ROUND(R.SPACE_USED / R.SPACE_LIMIT * 100, 2) AS FRA_USED_PCT,
R.SPACE_LIMIT / 1024 / 1024 / 1024 AS FRA_LIMIT_GB,
R.SPACE_USED / 1024 / 1024 / 1024 AS FRA_USED_GB
FROM V$INSTANCE I
CROSS JOIN V$DATABASE D
LEFT JOIN V$RECOVERY_FILE_DEST R ON 1=1;
-- ์ต๊ทผ ์์นด์ด๋ธ ์์ฑ ์ด๋ ฅ ํ์ธ (1์๊ฐ ๋ด ์์ฑ ์์ผ๋ฉด ์ด์ ์งํ)
SELECT COUNT(*) AS ARC_COUNT_1HOUR
FROM V$ARCHIVED_LOG
WHERE COMPLETION_TIME >= SYSDATE - 1/24
AND STANDBY_DEST = 'NO';
2. LOG_ARCHIVE_MAX_PROCESSES ์ ์ ๊ฐ ์ค์ ๋ฐ FRA(Fast Recovery Area) ์ฉ๋ ๊ด๋ฆฌ
ARCn ํ๋ก์ธ์ค๊ฐ ๊ฐ์๊ธฐ ์ข
๋ฃ๋๋ ์ฃผ๋ ์ด์ ์ค ํ๋๋ ์์นด์ด๋ธ ๋ชฉ์ ์ง ๋์คํฌ์ ๊ณต๊ฐ ๋ถ์กฑ์
๋๋ค. db_recovery_file_dest_size๋ฅผ ์ถฉ๋ถํ ์ค์ ํ๊ณ , ์ค๋๋ ์์นด์ด๋ธ ๋ก๊ทธ๋ RMAN์ ํตํด ์ฃผ๊ธฐ์ ์ผ๋ก ์ญ์ ํ๋ ์ ์ฑ
์ ์๋ฆฝํด์ผ ํฉ๋๋ค. ๋ํ log_archive_max_processes ๊ฐ์ ์ํฌ๋ก๋์ ๋ง๊ฒ ์กฐ์ (๋ณดํต 4~8)ํ๋ฉด ๋ฆฌ๋ ๋ก๊ทธ ์ค์์น ๋น๋๊ฐ ๋์ ํ๊ฒฝ์์ ์์นด์ด๋ฒ ๊ณผ๋ถํ๋ก ์ธํ ๋น์ ์ ์ข
๋ฃ๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
-- RMAN์ผ๋ก ์ค๋๋ ์์นด์ด๋ธ ๋ก๊ทธ ์ ๋ฆฌ (๋ณด์กด ์ ์ฑ
๊ธฐ๋ฐ)
-- RMAN>
-- CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
-- DELETE NOPROMPT ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
-- FRA ์ฌ์ฉ๋ฅ ์๊ณ์น ์กฐํ (80% ์ด์์ด๋ฉด ๊ฒฝ๊ณ )
SELECT
NAME,
ROUND(SPACE_USED/SPACE_LIMIT*100,2) AS USED_PCT
FROM V$RECOVERY_FILE_DEST
WHERE ROUND(SPACE_USED/SPACE_LIMIT*100,2) >= 80;
๊ด๋ จ ์๋ฌ
| ์๋ฌ ์ฝ๋ | ์ค๋ช |
|---|---|
| ORA-00255 |
error archiving log <seq> of thread <n> โ ์์นด์ด๋ธ ๋ก๊ทธ ํ์ผ ๊ธฐ๋ก ์ค ์คํจ. ์์นด์ด๋ธ ๋ชฉ์ ์ง ๊ฒฝ๋ก ๋ฌธ์ ๋ ๋์คํฌ ํ(Full) ์ํฉ์์ ๋ฐ์ํ๋ฉฐ ORA-00250๊ณผ ํจ๊ป ์ฐ์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์. |
| ORA-00257 |
archiver error. Connect internal only, until freed โ ์์นด์ด๋ธ ๋ชฉ์ ์ง ๊ณต๊ฐ์ด ์์ ํ ์์ง๋์ด ๋ ์ด์ ์์นด์ด๋ธ๊ฐ ๋ถ๊ฐ๋ฅํ ์ํ. ์ด ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด SYSDBA ์ ์์ ์ ์ธํ ๋ชจ๋ DB ์ ์์ด ์ฐจ๋จ๋๋ ๋งค์ฐ ๊ธด๊ธํ ์ํฉ. |
| ORA-16014 |
log <n> sequence# <n> not archived, no available destinations โ ์ ํจํ ์์นด์ด๋ธ ๋ชฉ์ ์ง๊ฐ ์์ด์ ๋ฆฌ๋ ๋ก๊ทธ๋ฅผ ์์นด์ด๋ธํ์ง ๋ชปํ ์ํ. V$ARCHIVE_DEST ์ํ ์ ๊ฒ ํ์. |
| ORA-19809 |
limit exceeded for recovery files โ FRA(Fast Recovery Area) ํ ๋น ์ฉ๋ ์ด๊ณผ๋ก ์์นด์ด๋ธ ํ์ผ ์์ฑ ๋ถ๊ฐ. db_recovery_file_dest_size ํ๋ผ๋ฏธํฐ ์ฆ์ค ๋๋ ๋ถํ์ํ ํ์ผ ์ ๋ฆฌ ํ์. |
์ค๋ฌด ํ: ORA-00250 ์๋ฌ ๋ฐ์ ์ ๊ฐ์ฅ ๋จผ์ ํ์ธํด์ผ ํ ํ์ผ์
$ORACLE_BASE/diag/rdbms/<dbname>/<SID>/trace/alert_<SID>.log์ ๋๋ค. Alert ๋ก๊ทธ์๋ ARCn ํ๋ก์ธ์ค์ ์์/์ค์ง ์ด๋ ฅ๊ณผ ํจ๊ป ์ฐ๊ด๋ ์๋ฌ ๋ฉ์์ง๊ฐ ์๊ฐ ์์ผ๋ก ๊ธฐ๋ก๋์ด ์์ด ๊ทผ๋ณธ ์์ธ(Root Cause) ํ์ ์ ๊ฒฐ์ ์ ์ธ ๋จ์๋ฅผ ์ ๊ณตํฉ๋๋ค.












