검색결과 리스트
Controlfile관리에 해당되는 글 1건
- 2015.06.17 5. Control File 관리하기
글
Control file 관리하기.
- Control File은 Binary File라서 Control file 내용을 DBA가 직접 수정할 수 없음.
- 내용 변경 시 Server Process에게 변경을 요구하는 SQL문장이나 DDL 문장을 수행해야한다.
- Instance가 Mount이상의 상태일 때 Control File의 내용이 실시간으로 변경되고 조회된다.
- 삭제 시 복구를 위해 여러곳에 복사본을 만들어 다중화 하는것을 권장함.
1. Spfile일 경우 다중화 하는 방법.
1)Control file 경로 확인 및 인스턴스 상태 확인.
SQL> show parameter control
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string /u01/app/oracle/oradata/PROD/control01.ctl
control_management_pack_access string DIAGNOSTIC+TUNING SQL> select status from v$instance;
STATUS ------------ OPEN SQL> show parameter spfile
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string /u01/app/oracle/product/11.2.0 /dbhome_1/dbs/spfilePROD.ora |
2) 현재 Control file 조회.
SQL> select name from v$controlfile;
NAME ----------------------------------------------------------------- /u01/app/oracle/oradata/PROD/control01.ctl |
3) Spfile의 내용을 변경 후 Instance 종료.
SQL> alter system set control_files='/home/oracle/disk1/control01.ctl', 2 '/home/oracle/disk2/control02.ctl', 3 '/home/oracle/disk3/control03.ctl' scope=spfile; |
4) 대상 디렉토리 생성 및 파일 복사.
[oracle@edydr1p0-PROD ~]$ mkdir disk1 disk2 disk3 [oracle@edydr1p0-PROD ~]$ cp /u01/app/oracle/oradata/PROD/control01.ctl /home/oracle/disk1/control01.ctl [oracle@edydr1p0-PROD ~]$ cp /u01/app/oracle/oradata/PROD/control01.ctl /home/oracle/disk2/control02.ctl [oracle@edydr1p0-PROD ~]$ cp /u01/app/oracle/oradata/PROD/control01.ctl /home/oracle/disk3/control03.ctl |
5)Instance statup 후 Controlfile 다중화 확인.
SQL> startup ORACLE instance started.
Total System Global Area 417546240 bytes Fixed Size 2213936 bytes Variable Size 322963408 bytes Database Buffers 88080384 bytes Redo Buffers 4288512 bytes Database mounted. Database opened. SQL> show parameter control
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string /home/oracle/disk1/control01.c tl, /home/oracle/disk2/control 02.ctl, /home/oracle/disk3/con trol03.ctl control_management_pack_access string DIAGNOSTIC+TUNING SQL>select name from v$controlfile;
NAME -------------------------------------------------------------------------------- /home/oracle/disk1/control01.ctl /home/oracle/disk2/control02.ctl /home/oracle/disk3/control03.ctl |
2. Pfile 다중화 방법.
환경구성.
- 현재 spfile 사용중이므로, pfile 생성.
- pfile 사용하기 위해서는 기존의 spfile을 지워야한다.
SQL> create pfile from spfile; [oracle@edydr1p0-PROD dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@edydr1p0-PROD dbs]$ rm -f spfilePROD.ora SQL> show parameter pfile
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------
spfile string * VALUE에 아무내용이 없으면 pfile 사용한다는 뜻. |
1)현재 사용중인 Control File 조회 및 인스턴스종료.
SQL> select name from v$controlfile;
NAME -------------------------------------------------------------------------------- /home/oracle/disk1/control01.ctl /home/oracle/disk2/control02.ctl /home/oracle/disk3/control03.ctl SQL> shutdown immediate; |
2 )pfile 에서 Control file 경로 수정.
[oracle@edydr1p0-PROD dbs]$ vi initPROD.ora
PROD.__db_cache_size=83886080 PROD.__java_pool_size=4194304 PROD.__large_pool_size=4194304 PROD.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment PROD.__pga_aggregate_target=167772160 PROD.__sga_target=251658240 PROD.__shared_io_pool_size=0 PROD.__shared_pool_size=142606336 PROD.__streams_pool_size=8388608 *.control_files='/home/oracle/disk1/control01.ctl','/home/oracle/disk2/control02.ctl','/home/oracle/disk3/control03.ctl' *.db_block_size=8192 *.db_name='PROD' *.memory_target=400M *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS1' |
기존에 사용하는 Control file 01,02,03 -> 04,05,06 으로 변경
*.control_files='/home/oracle/disk4/control04.ctl','/home/oracle/disk5/control05.ctl','/home/oracle/disk6/control06.ctl'
3)해당 디렉토리 생성 후 Controlfile 복사
[oracle@edydr1p0-PROD ~]$ mkdir disk4 disk5 disk6 [oracle@edydr1p0-PROD ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk4/control04.ctl [oracle@edydr1p0-PROD ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk5/control05.ctl [oracle@edydr1p0-PROD ~]$ cp /home/oracle/disk1/control01.ctl /home/oracle/disk6/control06.ctl |
4) 정상 오픈 후 확인
SQL> startup ORACLE instance started.
Total System Global Area 417546240 bytes Fixed Size 2213936 bytes Variable Size 327157712 bytes Database Buffers 83886080 bytes Redo Buffers 4288512 bytes Database mounted. Database opened. SQL> select name from v$controlfile;
NAME -------------------------------------------------------------------------------- /home/oracle/disk4/control04.ctl /home/oracle/disk5/control05.ctl /home/oracle/disk6/control06.ctl |
'Oracle 참고서적 정리 > 오라클 관리실무' 카테고리의 다른 글
6-2. Redo Log File 구성 및 관리하기. (0) | 2015.06.18 |
---|---|
6-1 Redo Log 관리하기(Redo Log 생성원리) (0) | 2015.06.18 |
4.Oracle 시작하기와 종료하기. (0) | 2015.06.15 |
3. Oracle Background Processes (0) | 2015.06.14 |
2. SQL 문장 실행 원리 (0) | 2015.06.14 |
RECENT COMMENT