본문 바로가기
Oracle/Oracle Admin

Oracle Controlfile 재 생성 오라클 구성 변경

by 의미와의미 2021. 12. 20.
반응형

 

Oracle Controlfile 오라클 구성 변경

 

#구성 환경

VmWare  

OS  DB
VirtualBox  Windows Server 2012R2 19.3.0.0

#오라클 구성 환경

오라클 구성경로
ORACLE_HOME: C:\app\19C\product\WINDOWS.X64_193000_db_home
ORACLE_BASE: C:\app\Oracle
파라미터 파일
NAME VALUE
spfile C:\APP\19C\PRODUCT\WINDOWS.X64_193000_DB_HOME\DATABASE\SPFILEORCL.ORA
pfile C:\APP\19C\PRODUCT\WINDOWS.X64_193000_DB_HOME\DATABASE\INITORCL.ORA
패스워드 파일
PWDorcl.ora C:\app\19C\product\WINDOWS.X64_193000_db_home\database\PWDorcl.ora
데이터파일
TABLESPACE_NAME FILE_NAME
SYSTEM C:\ORADATA\ORCL\SYSTEM01.DBF
SYSAUX C:\ORADATA\ORCL\SYSAUX01.DBF
UNDOTBS1 C:\ORADATA\ORCL\UNDOTBS01.DBF
USERS C:\ORADATA\ORCL\USERS01.DBF
컨트롤파일
NAME
C:\ORADATA\ORCL\CONTROL01.CTL
C:\ORADATA\ORCL\CONTROL02.CTL
리두로그파일 
GROUP# MEMBER
1 C:\ORADATA\ORCL\REDO01.LOG
2 C:\ORADATA\ORCL\REDO02.LOG
3 C:\ORADATA\ORCL\REDO03.LOG
리스너 파일
Listener.ora C:\app\19C\product\WINDOWS.X64_193000_db_home\network\admin\listener.ora
tnsnames.ora C:\app\19C\product\WINDOWS.X64_193000_db_home\network\admin\tnsnames.ora

 

#컨트롤파일 Trace 

SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.

SQL> startup mount
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 1073738560 bytes
Fixed Size                  9036608 bytes
Variable Size             276824064 bytes
Database Buffers          780140544 bytes
Redo Buffers                7737344 bytes
데이터베이스가 마운트되었습니다.

SQL> select instance_name , status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
orcl             MOUNTED


#MOUNT 상태에서 진행
SQL> alter database backup controlfile to trace as 'C:\app\19C\product\WINDOWS.X64_193000_db_home\database\controlfile.sql';

데이타베이스가 변경되었습니다.

 

#Parameter File 수정

Pfile 파일수정 Controlfile_Files ='F\control01.ctl','F\control02.ctl'

orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=729808896
orcl.__inmemory_ext_roarea=0
orcl.__inmemory_ext_rwarea=0
orcl.__java_pool_size=0
orcl.__large_pool_size=8388608
orcl.__oracle_base='C:\app\Oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=369098752
orcl.__sga_target=1073741824
orcl.__shared_io_pool_size=50331648
orcl.__shared_pool_size=268435456
orcl.__streams_pool_size=0
orcl.__unified_pga_pool_size=0
*.audit_file_dest='C:\app\Oracle\admin\orcl\adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='F:\control01.ctl','F:\control02.ctl'
*.db_block_size=8192
*.db_name='orcl'
*.diagnostic_dest='C:\app\Oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521))'
*.nls_language='KOREAN'
*.nls_territory='KOREA'
*.open_cursors=300
*.pga_aggregate_target=350m
*.processes=100
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1023m
*.undo_tablespace='UNDOTBS1'

 

#ControlFile 수정
C:\app\19C\product\WINDOWS.X64_193000_db_home\database\controlfile.sql 편집

SQL>alter database backup controlfile to trace 생성된 controlfile.sql 파일 편집합니다.

1. 모든 주석처리를 제거합니다.
2. 이동 데이터파일 경로를 편집합니다.
3. 해당 경로에 파일 이동(복사)합니다.

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 'F:\REDO01.LOG'  SIZE 200M BLOCKSIZE 512,
  GROUP 2 'F:\REDO02.LOG'  SIZE 200M BLOCKSIZE 512,
  GROUP 3 'F:\REDO03.LOG'  SIZE 200M BLOCKSIZE 512
DATAFILE
  'F:\SYSTEM01.DBF',
  'F:\SYSAUX01.DBF',
  'F:\UNDOTBS01.DBF',
  'F:\USERS01.DBF'
CHARACTER SET KO16MSWIN949
;

저장

SQL> Shutdown immediate
SQL> @CONTROLFILE.SQL

제어 파일이 생성되었습니다.

SQL> SELECT STATUS FROM V$INSTANCE;

STATUS
------------
MOUNTED
SQL> ALTER DATABASE OPEN RESETLOGS;

데이타베이스가 변경되었습니다

#변경된 오라클 데이터파일 및 기타 파일 조회

데이터파일
TABLESPACE_NAME FILE_NAME
SYSTEM F:\SYSTEM01.DBF
SYSAUX F:\SYSAUX01.DBF
UNDOTBS1 F:\UNDOTBS01.DBF
USERS F:\USERS01.DBF
컨트롤파일
NAME
F:\CONTROL01.CTL
F:\CONTROL02.CTL

 

리두로그파일 
GROUP# MEMBER
1 F:\REDO01.LOG
2 F:\REDO02.LOG
3 F:\REDO03.LOG

 

반응형

댓글