ORA-00204๋?
ORA-00204๋ Oracle ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ปจํธ๋กค ํ์ผ(Control File)์ ์ฝ๋ ๋์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ๋ํ๋๋ ์๋ฌ์ ๋๋ค. ์ปจํธ๋กค ํ์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ(๋ฐ์ดํฐํ์ผ, ๋ฆฌ๋ ๋ก๊ทธ ํ์ผ์ ์์น, SCN ์ ๋ณด ๋ฑ)๋ฅผ ๋ด๊ณ ์๋ ํต์ฌ ๋ฐ์ด๋๋ฆฌ ํ์ผ๋ก, ์ด ํ์ผ์ด ์์๋๊ฑฐ๋ ์ ๊ทผ ๋ถ๊ฐ ์ํ๊ฐ ๋๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์์ ์ผ๋ก ๊ธฐ๋ํ ์ ์์ต๋๋ค. ์ฃผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์(STARTUP) ๋จ๊ณ ๋๋ ์ฒดํฌํฌ์ธํธ, ์์นด์ด๋ธ ๋ก๊ทธ ์ค์์น ๊ณผ์ ์์ ๋ฐ์ํ๋ฉฐ, ๋ฐฉ์นํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๊ฐ ๋ค์ด๋ ์ ์๋ ๋งค์ฐ ์ฌ๊ฐํ ์๋ฌ์ ๋๋ค.
์ฃผ์ ๋ฐ์ ์์ธ
1. ์ปจํธ๋กค ํ์ผ์ ๋ฌผ๋ฆฌ์ ์์ ๋๋ ์ญ์
๊ฐ์ฅ ํํ๊ณ ์น๋ช
์ ์ธ ์์ธ์ผ๋ก, ๋์คํฌ ์ฅ์ , ํ์ผ์์คํ
์ค๋ฅ, ๋๋ ์ด์์์ ์ค์๋ก ์ปจํธ๋กค ํ์ผ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ์์๋๊ฑฐ๋ ์ญ์ ๋ ๊ฒฝ์ฐ์
๋๋ค. Oracle์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค์คํ(Multiplexing)๋ ์ปจํธ๋กค ํ์ผ์ ์ฌ์ฉํ์ง๋ง, ๋ชจ๋ ์ฌ๋ณธ์ด ๋์ผํ ๋์คํฌ์ ์์นํด ์๋ค๋ฉด ๋จ์ผ ์ฅ์ ์ง์ (SPOF)์ด ๋ ์ ์์ต๋๋ค. alert log์ ORA-00202: control file: '/path/to/control01.ctl' ํํ์ ๋ฉ์์ง์ ํจ๊ป ๊ธฐ๋ก๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
2. ์ปจํธ๋กค ํ์ผ์ ๋ํ OS ๋ ๋ฒจ ๊ถํ ๋ฌธ์
Oracle ํ๋ก์ธ์ค(oracle ๋๋ grid ๊ณ์ )๊ฐ ์ปจํธ๋กค ํ์ผ์ด ์์นํ ๊ฒฝ๋ก์ ๋ํ ์ฝ๊ธฐ/์ฐ๊ธฐ ๊ถํ์ ์์คํ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. OS ํจ์น, ๋ณด์ ์ ์ฑ
๋ณ๊ฒฝ, ๋๋ ๋ง์ดํธ ํฌ์ธํธ ์ฌ๊ตฌ์ฑ ์ดํ์ ์ข
์ข
๋ฐ์ํ๋ฉฐ, ํ์ผ ์์ฒด๋ ์กด์ฌํ์ง๋ง ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ ์ํ์
๋๋ค. ls -la๋ก ํ์ผ ์์ ์์ ํผ๋ฏธ์
์ ๋ฐ๋์ ํ์ธํด์ผ ํฉ๋๋ค.
3. ์คํ ๋ฆฌ์ง I/O ์ค๋ฅ ๋๋ ๋คํธ์ํฌ ํ์ผ์์คํ (NFS) ๋ถ์์
ASM(Automatic Storage Management) ๋์คํฌ๊ทธ๋ฃน ๋ง์ดํธ ์คํจ, SAN/NAS ๊ฒฝ๋ก ๋จ์ , ๋๋ NFS ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง์ ๋คํธ์ํฌ ๋ถ์์ ์ผ๋ก ์ธํด ์ปจํธ๋กค ํ์ผ์ ๋ํ I/O๊ฐ ์คํจํ๋ ๊ฒฝ์ฐ์
๋๋ค. ์ด ๊ฒฝ์ฐ alert log์ ORA-15080, ORA-27072 ๋ฑ์ ์คํ ๋ฆฌ์ง ๊ด๋ จ ์๋ฌ๊ฐ ํจ๊ป ๊ธฐ๋ก๋๋ฉฐ, ๋จ์ํ Oracle ๋ ์ด์ด์ ๋ฌธ์ ๊ฐ ์๋ ์ธํ๋ผ ๋ ์ด์ด๊น์ง ์ ๊ฒ์ด ํ์ํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
์ฌ์ ์ง๋จ: ํ์ฌ ์ปจํธ๋กค ํ์ผ ์์น ๋ฐ ์ํ ํ์ธ
๋จผ์ alert log๋ฅผ ํ์ธํ๊ณ , ๊ฐ๋ฅํ๋ค๋ฉด SQL*Plus์ ์ ์ํ์ฌ ํ์ฌ ์ปจํธ๋กค ํ์ผ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.
-- alert log ์์น ํ์ธ (DB๊ฐ ๊ธฐ๋ ์ค์ผ ๋)
SELECT value FROM v$diag_info WHERE name = 'Diag Trace';
-- ํ์ฌ ๋ฑ๋ก๋ ์ปจํธ๋กค ํ์ผ ๋ชฉ๋ก ์กฐํ
SELECT name, status FROM v$controlfile;
-- SPFILE์์ ์ปจํธ๋กค ํ์ผ ํ๋ผ๋ฏธํฐ ํ์ธ
SHOW PARAMETER control_files;
ํด๊ฒฐ์ฑ 1: ์ปจํธ๋กค ํ์ผ ๋ค์คํ ์ฌ๋ณธ์ผ๋ก ๋ณต๊ตฌ
์ปจํธ๋กค ํ์ผ์ด ๋ค์คํ๋์ด ์๊ณ , ์ผ๋ถ ์ฌ๋ณธ์ด ์ ์์ธ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋น ๋ฅธ ํด๊ฒฐ์ฑ
์
๋๋ค.
-- 1๋จ๊ณ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฆ์ ์ข
๋ฃ
SHUTDOWN ABORT;
-- 2๋จ๊ณ: OS ๋ช
๋ น์ผ๋ก ์ ์ ์ปจํธ๋กค ํ์ผ์ ์์๋ ์์น๋ก ๋ณต์ฌ
-- (SQL*Plus ์ธ๋ถ์์ OS ์
ธ๋ก ์คํ)
-- cp /u01/oradata/orcl/control01.ctl /u02/oradata/orcl/control02.ctl
-- 3๋จ๊ณ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ๊ธฐ๋ ์๋
STARTUP MOUNT;
-- 4๋จ๊ณ: ์ ์ ํ์ธ ํ OPEN
ALTER DATABASE OPEN;
-- 5๋จ๊ณ: ์ปจํธ๋กค ํ์ผ ์ํ ์ฌํ์ธ
SELECT name, status FROM v$controlfile;
ํด๊ฒฐ์ฑ 2: RMAN ๋ฐฑ์ ์ผ๋ก ์ปจํธ๋กค ํ์ผ ๋ณต๊ตฌ
RMAN ๋ฐฑ์
์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ปจํธ๋กค ํ์ผ์ ๋ฐฑ์
์์ ๋ณต์ํ ์ ์์ต๋๋ค.
-- RMAN ์ ์ ํ ๋ณต๊ตฌ ์ํ
-- (OS ์
ธ์์ ์คํ)
-- rman target /
-- RMAN ํ๋กฌํํธ์์ ์คํ
STARTUP NOMOUNT;
-- ์๋ ๋ฐฑ์
์์ ์ปจํธ๋กค ํ์ผ ๋ณต๊ตฌ
RESTORE CONTROLFILE FROM AUTOBACKUP;
-- ๋๋ ํน์ ๋ฐฑ์
์ธํธ์์ ๋ณต๊ตฌ
RESTORE CONTROLFILE FROM '/backup/rman/ctl_c-1234567890-20240101-00.bkp';
-- ๋ณต๊ตฌ ํ ๋ง์ดํธ
ALTER DATABASE MOUNT;
-- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต๊ตฌ (ํ์ ์)
RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
-- ๋ฆฌ์
๋ก๊ทธ๋ก ์คํ
ALTER DATABASE OPEN RESETLOGS;
ํด๊ฒฐ์ฑ 3: ์ปจํธ๋กค ํ์ผ ์ฌ์์ฑ (์ตํ ์๋จ)
RMAN ๋ฐฑ์
๋ ์๊ณ ๋ค์คํ ์ฌ๋ณธ๋ ๋ชจ๋ ์์๋ ์ต์
์ ๊ฒฝ์ฐ, ์ปจํธ๋กค ํ์ผ์ ์ฌ์์ฑํด์ผ ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ ์ ์ค ์ํ์ด ์์ผ๋ฏ๋ก ์ ์คํ๊ฒ ์งํํด์ผ ํฉ๋๋ค.
-- 1๋จ๊ณ: NOMOUNT ์ํ๋ก ๊ธฐ๋
STARTUP NOMOUNT;
-- 2๋จ๊ณ: ์ปจํธ๋กค ํ์ผ ์ฌ์์ฑ ์คํฌ๋ฆฝํธ ์คํ
-- (๋ฐ์ดํฐํ์ผ ๋ฐ ๋ฆฌ๋๋ก๊ทธ ํ์ผ ๊ฒฝ๋ก๋ ์ค์ ํ๊ฒฝ์ ๋ง๊ฒ ์์ ํ์)
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/oradata/orcl/redo01.log' SIZE 200M BLOCKSIZE 512,
GROUP 2 '/u01/oradata/orcl/redo02.log' SIZE 200M BLOCKSIZE 512,
GROUP 3 '/u01/oradata/orcl/redo03.log' SIZE 200M BLOCKSIZE 512
DATAFILE
'/u01/oradata/orcl/system01.dbf',
'/u01/oradata/orcl/sysaux01.dbf',
'/u01/oradata/orcl/undotbs01.dbf',
'/u01/oradata/orcl/users01.dbf'
CHARACTER SET AL32UTF8;
-- 3๋จ๊ณ: ๋ณต๊ตฌ ์ํ
RECOVER DATABASE;
-- 4๋จ๊ณ: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํ
ALTER DATABASE OPEN;
-- 5๋จ๊ณ: ์์ ํ
์ด๋ธ์คํ์ด์ค ์ฌ์ถ๊ฐ (์ฌ์์ฑ ์ ์ ์ธ๋๋ฏ๋ก)
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oradata/orcl/temp01.dbf'
SIZE 1G REUSE AUTOEXTEND ON;
ํด๊ฒฐ์ฑ 4: OS ๊ถํ ๋ฌธ์ ํด๊ฒฐ
# OS ์
ธ์์ ์ปจํธ๋กค ํ์ผ ์์ ์ ๋ฐ ๊ถํ ํ์ธ
ls -la /u01/oradata/orcl/*.ctl
# ์์ ์ ๋ฐ ๊ทธ๋ฃน์ Oracle ๊ณ์ ์ผ๋ก ๋ณ๊ฒฝ
chown oracle:oinstall /u01/oradata/orcl/control01.ctl
chown oracle:oinstall /u02/oradata/orcl/control02.ctl
# ๊ถํ ์ค์ (์์ ์ ์ฝ๊ธฐ/์ฐ๊ธฐ, ๊ทธ๋ฃน ์ฝ๊ธฐ)
chmod 640 /u01/oradata/orcl/control01.ctl
-- ๊ถํ ์์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ๊ธฐ๋
SHUTDOWN IMMEDIATE;
STARTUP;
-- ์ ์ ๊ธฐ๋ ํ์ธ
SELECT status FROM v$instance;
์๋ฐฉ ๋ฐฉ๋ฒ
1. ์ปจํธ๋กค ํ์ผ ๋ค์คํ ๋ฐ ๋ฌผ๋ฆฌ์ ๋ถ์ฐ ๋ฐฐ์น
์ปจํธ๋กค ํ์ผ์ ๋ฐ๋์ ์๋ก ๋ค๋ฅธ ๋ฌผ๋ฆฌ ๋์คํฌ(๋๋ ASM ๋์คํฌ๊ทธ๋ฃน)์ ์ต์ 3๊ฐ ์ด์ ๋ค์คํํ์ฌ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค. ๊ฐ์ ๋์คํฌ์ ์ฌ๋ฌ ์ฌ๋ณธ์ ๋๋ ๊ฒ์ ๋ค์คํ์ ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก, ์คํ ๋ฆฌ์ง ๋ ์ด์์์ ์ค๊ณํ ๋ ๋ฐ๋์ ๊ณ ๋ คํด์ผ ํ๋ฉฐ, ์ ๊ธฐ์ ์ผ๋ก ๋ค์คํ ์ํ๋ฅผ ์ ๊ฒํ๋ ๋ชจ๋ํฐ๋ง ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ํ๋ ๊ฒ์ด ํ์์
๋๋ค.
-- ์ปจํธ๋กค ํ์ผ ๋ค์คํ ์ถ๊ฐ ์ค์ ์์ (SPFILE ๊ธฐ์ค)
ALTER SYSTEM SET control_files =
'/u01/oradata/orcl/control01.ctl',
'/u02/oradata/orcl/control02.ctl',
'/u03/oradata/orcl/control03.ctl'
SCOPE=SPFILE;
-- (์ค์ ํ DB ์ฌ๊ธฐ๋ ํ์)
-- RMAN์์ ์ปจํธ๋กค ํ์ผ ์๋ ๋ฐฑ์
ํ์ฑํ
-- rman target /
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/cf_%F';
2. RMAN์ ํตํ ์ ๊ธฐ์ ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ ํ ์คํธ ์ฃผ๊ธฐํ
์ปจํธ๋กค ํ์ผ ์๋ ๋ฐฑ์ (AUTOBACKUP)์ ๋ฐ๋์ ํ์ฑํํ๊ณ , ์ต์ ํ๋ฃจ ํ ๋ฒ ์ด์ ์ ์ฒด ๋ฐฑ์ ์ ์ฑ ์ ํฌํจ์์ผ์ผ ํฉ๋๋ค. ํนํ ๋ฐฑ์ ๋ง ์๊ณ ์ค์ ๋ณต๊ตฌ ํ ์คํธ๋ฅผ ํด๋ณธ ์ ์๋ DBA๊ฐ ๋ง์๋ฐ, ๋ถ๊ธฐ๋ณ๋ก ํ ์คํธ ํ๊ฒฝ์์ ์ปจํธ๋กค ํ์ผ ๋ณต๊ตฌ ์๋๋ฆฌ์ค๋ฅผ ์ง์ ์ํํ์ฌ ์ค์ ์ฅ์ ์ํฉ์์ ๋นํฉํ์ง ์๋๋ก ์ค๋นํ๋ ๊ฒ์ด ์ค๋ฌด์์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๊ด๋ จ ์๋ฌ
-
ORA-00202:
control file: 'filename'โ ORA-00204์ ํจ๊ป ๋ฐ์ํ๋ฉฐ, ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ปจํธ๋กค ํ์ผ์ ์ ํํ ๊ฒฝ๋ก๋ฅผ ์๋ ค์ฃผ๋ ๋ณด์กฐ ์๋ฌ์ ๋๋ค. -
ORA-00205:
error in identifying control fileโ ์ปจํธ๋กค ํ์ผ์ ์๋ณํ๋ ๋จ๊ณ์์ ๋ฐ์ํ๋ ์๋ฌ๋ก, ํ์ผ์ด ์กด์ฌํ์ง ์๊ฑฐ๋ ์๋ชป๋ ๊ฒฝ๋ก๊ฐ ์ง์ ๋์์ ๋ ๋ํ๋ฉ๋๋ค. -
ORA-00206:
error in writing (block %s, # blocks %s) of control fileโ ์ปจํธ๋กค ํ์ผ ์ฝ๊ธฐ๊ฐ ์๋ ์ฐ๊ธฐ ์ค๋ฅ ์ ๋ฐ์ํ๋ฉฐ, ๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ์ด๋ I/O ์ค๋ฅ๊ฐ ์ฃผ ์์ธ์ ๋๋ค. -
ORA-00210:
cannot open the specified control fileโ ์ปจํธ๋กค ํ์ผ ์์ฒด๋ฅผ ์คํ์กฐ์ฐจ ํ ์ ์์ ๋ ๋ํ๋๋ฉฐ, ๊ถํ ๋ฌธ์ ๋ ํ์ผ ๋ถ์ฌ๊ฐ ์์ธ์ ๋๋ค. - ORA-15080: ASM ํ๊ฒฝ์์ ์ปจํธ๋กค ํ์ผ I/O ์คํจ ์ ํจ๊ป ๊ธฐ๋ก๋๋ ASM ๊ด๋ จ ์๋ฌ์ ๋๋ค.












