DB 컨트롤 파일 추가하기
2가지 방식이 있다.
첫째, 트레이스 파일을 생성해 create controlfile 명령어로 생성하는 방식
둘째, 기존 컨트롤 파일을 복사하는 방식
위 두가지 방식으로 진행할 때 피할 수 없는 부분이 디비를 한번 내렸다 올려야 하는 것이다.
1. 트레이스 파일을 생성하는 방식
현재 컨트롤 파일에서 트레이스 파일 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
kwan21c.localdomain@oracle:orcl:/home/oracle> sqlplus as sysdba
SQL*Plus: Release 21.0.0.0.0 - Production on 목 3월 9 16:51:19 2023
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
SQL> set linesize 200
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/ORCL/c
ontrol01.ctl, /u01/app/oracle/
fast_recovery_area/ORCL/contro
l02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
diagnostics_control string IGNORE
SQL> alter database backup controlfile to '/home/oracle/backup_controlfile.trc';
데이타베이스가 변경되었습니다.
SQL> alter database backup controlfile to trace as '/home/oracle/backup_controlfile.trc';
데이타베이스가 변경되었습니다.
|
파라미터를 변경하고 트레이스 파일의 create controlfile 명령어에
3번 컨트롤 파일 문구를 추가해 컨트롤 파일을 생성한다.(데이터베이스 restart가 포함된다.)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
spfile string /u01/app/oracle/dbs/spfileorcl
.ora
SQL> alter system set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/oradata/ORCL/control02.ctl','/u01/app/oracle/oradata/ORCL/control03.ctl' scope=spfile;
시스템이 변경되었습니다.
컨트롤 파일 생성 수행
SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup nomount
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 4294963456 bytes
Fixed Size 9695488 bytes
Variable Size 1811939328 bytes
Database Buffers 2466250752 bytes
Redo Buffers 7077888 bytes
SQL> @/home/oracle/create_controlfile.sql
17:12:35 SQL>
17:12:35 SQL> spool create_controlfile.log
17:12:35 SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
17:12:35 2 MAXLOGFILES 16
17:12:35 3 MAXLOGMEMBERS 3
17:12:35 4 MAXDATAFILES 1024
17:12:35 5 MAXINSTANCES 8
17:12:35 6 MAXLOGHISTORY 292
17:12:35 7 LOGFILE
17:12:35 8 GROUP 1 '/u01/app/oracle/oradata/ORCL/redo01.log' SIZE 200M BLOCKSIZE 512,
17:12:35 9 GROUP 2 '/u01/app/oracle/oradata/ORCL/redo02.log' SIZE 200M BLOCKSIZE 512,
17:12:35 10 GROUP 3 '/u01/app/oracle/oradata/ORCL/redo03.log' SIZE 200M BLOCKSIZE 512
17:12:35 11 DATAFILE
17:12:35 12 '/u01/app/oracle/oradata/ORCL/system01.dbf',
17:12:35 13 '/u01/app/oracle/oradata/ORCL/sysaux01.dbf',
17:12:35 14 '/u01/app/oracle/oradata/ORCL/undotbs01.dbf',
17:12:35 15 '/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf',
17:12:35 16 '/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf',
17:12:35 17 '/u01/app/oracle/oradata/ORCL/users01.dbf',
17:12:35 18 '/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf',
17:12:35 19 '/u01/app/oracle/oradata/ORCL/mpkwan/system01.dbf',
17:12:35 20 '/u01/app/oracle/oradata/ORCL/mpkwan/sysaux01.dbf',
17:12:35 21 '/u01/app/oracle/oradata/ORCL/mpkwan/undotbs01.dbf',
17:12:35 22 '/u01/app/oracle/oradata/ORCL/mpkwan/users01.dbf'
17:12:35 23 CHARACTER SET AL32UTF8
17:12:35 24 ;
제어 파일이 생성되었습니다.
경 과: 00:00:02.80
17:12:37 SQL> spool off
|
데이터베이스를 오픈하고 cdb 템프 파일을 추가하고
플러그블 데이터베이스도 오픈하고 템프 파일을 추가한다.
그리고 추가된 컨트롤 파일을 확인한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
17:13:34 SQL> select status from v$instance;
STATUS
------------------------------------
MOUNTED
경 과: 00:00:00.01
17:14:32 SQL> ALTER DATABASE OPEN;
데이타베이스가 변경되었습니다.
경 과: 00:01:55.12
17:17:23 SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
플러그인할 수 있는 데이터베이스가 변경되었습니다.
경 과: 00:00:54.26
17:18:25 SQL> select * from dba_temp_files;
선택된 레코드가 없습니다.
경 과: 00:00:00.07
17:18:36 SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORCL/temp01.dbf'
17:18:51 2 SIZE 248512512 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
테이블스페이스가 변경되었습니다.
경 과: 00:00:00.88
17:18:53 SQL> ALTER SESSION SET CONTAINER = "PDB$SEED";
세션이 변경되었습니다.
경 과: 00:00:01.55
17:19:06 SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORCL/pdbseed/temp012023-02-24_17-17-24-282-PM.dbf'
17:19:12 2 SIZE 36700160 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
테이블스페이스가 변경되었습니다.
경 과: 00:00:07.30
17:19:21 SQL> ALTER SESSION SET CONTAINER = "MPKWAN";
세션이 변경되었습니다.
경 과: 00:00:00.06
17:19:26 SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ORCL/mpkwan/temp01.dbf'
17:19:33 2 SIZE 222298112 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
테이블스페이스가 변경되었습니다.
경 과: 00:00:00.94
17:19:36 SQL> ALTER SESSION SET CONTAINER = "CDB$ROOT";
세션이 변경되었습니다.
경 과: 00:00:00.00
17:19:44 SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
control_files string /u01/app/oracle/oradata/ORCL/c
ontrol01.ctl, /u01/app/oracle/
oradata/ORCL/control02.ctl, /u
01/app/oracle/oradata/ORCL/con
trol03.ctl
|
2. 컨트롤 파일을 복사해서 추가하기
파라미터 파일에 4번 컨트롤 파일을 추가한다
1
2
3
4
|
SQL> alter system set control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/oradata/ORCL/control02.ctl'
,'/u01/app/oracle/oradata/ORCL/control03.ctl','/u01/app/oracle/oradata/ORCL/control04.ctl' scope=spfile;
시스템이 변경되었습니다.
|
컨트롤 파일 복사를 수행하고 나머지 작업을 수행한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> exit
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0에서 분리되었습니다.
kwan21c.localdomain@oracle:orcl:/u01/app/oracle/oradata/ORCL> cp control03.ctl control04.ctl
kwan21c.localdomain@oracle:orcl:/u01/app/oracle/oradata/ORCL> sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 - Production on 월 3월 27 16:40:48 2023
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
휴지 인스턴스에 접속되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 4294963456 bytes
Fixed Size 9695488 bytes
Variable Size 2399141888 bytes
Database Buffers 1879048192 bytes
Redo Buffers 7077888 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL> set linesize 120
SQL> show parameter control_file
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/ORCL/c
ontrol01.ctl, /u01/app/oracle/
oradata/ORCL/control02.ctl, /u
01/app/oracle/oradata/ORCL/con
trol03.ctl, /u01/app/oracle/or
adata/ORCL/control04.ctl
SQL> desc v$controlfile
이름 널? 유형
----------------------------------------------------------------- -------- --------------------------------------------
STATUS VARCHAR2(7)
NAME VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
BLOCK_SIZE NUMBER
FILE_SIZE_BLKS NUMBER
CON_ID NUMBER
SQL> col name for a50
SQL> select status, name, con_id from v$controlfile;
STATUS NAME CON_ID
--------------------- -------------------------------------------------- ----------
/u01/app/oracle/oradata/ORCL/control01.ctl 0
/u01/app/oracle/oradata/ORCL/control02.ctl 0
/u01/app/oracle/oradata/ORCL/control03.ctl 0
/u01/app/oracle/oradata/ORCL/control04.ctl 0
SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
플러그인할 수 있는 데이터베이스가 변경되었습니다.
SQL> select file_name, tablespace_name, status, bytes, con_id from cdb_temp_files;
FILE_NAME TABLESPACE_NAME STATUS BYTES CON_ID
-------------------------------------------------- --------------- --------------------- ---------- ----------
/u01/app/oracle/oradata/ORCL/mpkwan/temp01.dbf TEMP ONLINE 223346688 3
/u01/app/oracle/oradata/ORCL/temp01.dbf TEMP ONLINE 249561088 1
|
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
» | DB 컨트롤 파일 추가하기 | 명품관 | 2023.03.27 | 967 |
8 | data pump 모니터링 | 명품관 | 2023.01.31 | 986 |
7 | Rman 복구 중 Netbackup 이 연결이 안되는 에러 [1] | Talros | 2022.11.24 | 119 |
6 | 12C RAC, OS Fault 로 다운된 1번 Node 재구성 | Talros | 2020.08.28 | 1095 |
5 | alter database begin backup 사용을 권해 드립니다. [1] | 우뽕 | 2020.01.22 | 14316 |
4 | Rman 을 이용해 ASM 에 컨트롤 파일 복구 하기 [1] | Talros | 2019.07.16 | 2882 |
3 | Data Pump Query 파라미터 사용법 [1] | Talros | 2016.01.28 | 4496 |
2 | Data pump 사용시 Warnings Like DBMS_AW_EXP: SYS.AW$EXPRESS: OLAP not enabled | Talros | 2016.01.08 | 1965 |
1 | 비정상적인 복구를 수행하게 되는 경우(Redo log 유실, Archive log 파일 부재, Resetlog open 에러) | 명품관 | 2015.12.22 | 6789 |