반응형
/********************************************************************************************
-- Title : [10g] 파라미터 파일, SGA 확인 및 컨트롤 파일 - ver.dbrang
-- Key word : prarameter file 파라미터파일 control file 컨트롤파일 콘트롤파일 이중화 flush
********************************************************************************************/

/*********************
-- spfile/pfile 확인
*********************/
-- value값이 있으면 spfile, null이면 pfile
select name, value from v$parameter where name like '%pfile%';
show parameter pfile;
 

/*********************
-- spfile/pfile 변경
*********************/
-- spfile->pfile 생성
create pfile from spfile;

-- pfile 생성 확인(init<SID>.ora 존재)
> ll $ORACLE_HOME/dbs

-- 오라클 shutdown
SQL> shutdown immediate;

-- spfile명 변경
> mv spfileINFRAORA.ora bak_spfileINFRAORA.ora

-- 오라클 Restart
SQL> Startup

-- 변경 확인
select name, value from v$parameter where name like '%pfile%';

-- pfile -> spfile 변경은 상기 작업 반대로
 

/****************
-- SGA 확인 뷰
****************/
-- v$parameter
select name, type, value, description, isdefault
from v$parameter
where name in ('db_cache_size','db_block_size','shared_pool_size'
,'log_buffer','java_pool_size','large_pool_size','streams_pool_size'
,'sessions','spfile','sga_target');

-- v$sgainfo
select * from v$sgainfo;


/*************************************************
-- SGA Flush
-- 사용전에 scott으로 로긴하여 select 여럿 수행]
-- SQL의 sp_cacheobject0와 유사
*************************************************/
-- SCOTT이 사용한 Buffer_Cache 확인
select o.object_type, substr(o.object_name, 1, 10) "object_name"
     , b.objd, b.status, count(b.objd)
from v$bh b
inner join dba_objects o
on b.objd= o.data_object_id
and o.owner = 'SCOTT'
group by o.object_type, o.object_name, b.objd, b.status;

-- Buffer_Cache Flush
alter system flush buffer_cache;

-- SCOTT이 사용한 Buffer_Cache 재확인
select o.object_type, substr(o.object_name, 1, 10) "object_name"
     , b.objd, b.status, count(b.objd)
from v$bh b
inner join dba_objects o
on b.objd= o.data_object_id
and o.owner = 'SCOTT'
group by o.object_type, o.object_name, b.objd, b.status;

-- Shared_Pool 확인
select sql_text, version_count, loads, invalidations, parse_calls, sorts
from v$sqlarea
where sql_text not like '%$%'
and command_type in (2,3,6,7)
order by sql_text;

-- Shared_Pool Flush
alter system flush Shared_Pool;

-- Shared_Pool 재확인
select sql_text, version_count, loads, invalidations, parse_calls, sorts
from v$sqlarea
where sql_text not like '%$%'
and command_type in (2,3,6,7)
order by sql_text; 


/**************************************
-- spfile 상태에서의 파라미터 값 변경
**************************************/
-- undo_retention 값 확인
select name, value from v$parameter where name = 'undo_retention';

-- 파라미터 값 변경(scope=memory)
alter system set undo_retention = 600 scope = memory;

-- 변경 된 값 확인(변경됨)
select name, value from v$parameter where name = 'undo_retention';

-- DB Restart
SQL> shutdown immediate;
SQL> startup;

-- 변경된 값 확인(600이 아님)
select name, value from v$parameter where name = 'undo_retention';

-- 파라미터 값 변경(scope=spfile)
alter system set undo_retention = 500 scope = spfile;

-- 변경 된 값 확인(변경 안됨)
select name, value from v$parameter where name = 'undo_retention';

-- DB Restart
SQL> shutdown immediate;
SQL> startup;

-- 변경된 값 확인(500으로 변경됨)
select name, value from v$parameter where name = 'undo_retention';


/*************************************
-- spfile에서의 control_file 이중화
*************************************/
-- control file 확인
select * from v$controlfile;
select * from v$spparameter where name = 'control_files';

-- alter system set 명령으로 파라미터 수정
alter system set
control_files = '/home/oracle/oradata/control01.ctl'
              , '/home/oracle/oradata/control03.ctl'
              scope = spfile;

-- DB 종료
SQL> shutdown immediate;

-- 파일 이동
> mv /home/oracle/oradata/INFRAORA/control01.ctl ../control01.ctl
> mv /home/oracle/oradata/INFRAORA/control03.ctl ../control03.ctl

-- control file 변경 확인
-- control02.ctl은 없어진것 주의!!
select * from v$controlfile;
select * from v$spparameter where name = 'control_files';
반응형

+ Recent posts