
Oracle 19c에서 권장되는 파라미터는 시스템 환경에 따라 다를 수 있지만, 전반적인 성능과 안정성을 높이기 위한 몇 가지 중요한 파라미터를 소개하겠습니다. 아래 파라미터들은 주로 성능, 보안, 리소스 관리에 중점을 둔 설정들입니다.
Oracle 19c에서 권장 파라미터를 설정하는 방법
Oracle에서 파라미터를 설정하는 방법은 두 가지로 나뉩니다: SPFILE을 사용하는 방법과 PFILE을 사용하는 방법입니다. 여기서는 SPFILE을 사용하는 방법을 중점적으로 설명하겠습니다. SPFILE은 Oracle의 동적 파라미터 파일로, 데이터베이스가 시작될 때 사용됩니다.
SHOW PARAMETER <파라미터명>;
예를 들어, SGA_TARGET 파라미터를 확인하려면 다음 명령을 실행합니다:
SHOW PARAMETER SGA_TARGET;
파라미터를 변경하는 기본 명령은 다음과 같습니다:
ALTER SYSTEM SET <파라미터명> = <값> SCOPE = <MEMORY|SPFILE|BOTH>;
SCOPE = MEMORY: 현재 인스턴스에만 적용되며, 데이터베이스를 다시 시작하면 사라집니다.
SCOPE = SPFILE: 다음에 데이터베이스를 시작할 때 적용됩니다.
SCOPE = BOTH: 현재 인스턴스와 다음에 데이터베이스가 시작될 때 모두 적용됩니다.
예를 들어, SGA_TARGET을 1GB로 설정하려면 다음 명령을 사용합니다:
ALTER SYSTEM SET SGA_TARGET = 1G SCOPE = BOTH;
ALTER SYSTEM SET MEMORY_TARGET = 4G SCOPE = BOTH;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 4G SCOPE = BOTH;
3.2 PGA_AGGREGATE_TARGET
PGA 메모리를 2GB로 설정하는 예시입니다:
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 2G SCOPE = BOTH;
3.3 OPTIMIZER_ADAPTIVE_PLANS
옵티마이저의 적응 계획 기능을 활성화하는 방법입니다:
ALTER SYSTEM SET OPTIMIZER_ADAPTIVE_PLANS = TRUE SCOPE = BOTH;
3.4 UNDO_RETENTION
UNDO 데이터를 1800초(30분) 동안 보존하도록 설정하는 방법입니다:
ALTER SYSTEM SET UNDO_RETENTION = 1800 SCOPE = BOTH;
3.5 DB_CACHE_SIZE
데이터베이스 캐시의 크기를 500MB로 설정하는 예시입니다:
ALTER SYSTEM SET DB_CACHE_SIZE = 500M SCOPE = BOTH;
3.6 LOG_BUFFER
리두 로그 버퍼의 크기를 16MB로 설정하는 방법입니다:
ALTER SYSTEM SET LOG_BUFFER = 16M SCOPE = SPFILE;
PFILE을 열어서 수정합니다:
PFILE 파일 위치는 보통 $ORACLE_HOME/dbs/init.ora입니다.
파일을 열어 직접 파라미터 값을 변경합니다.
데이터베이스 재시작:
SHUTDOWN IMMEDIATE;
STARTUP PFILE='/path/to/init<SID>.ora';
SHOW PARAMETER <파라미터명>;
CREATE PFILE FROM SPFILE;
이를 통해 SPFILE에서 PFILE을 생성하고 수동으로 PFILE을 편집할 수 있습니다.
Oracle 19c에서는 대부분의 파라미터가 동적으로 설정되며, 관리자는 특정 워크로드나 시스템 요구에 맞게 메모리, I/O, 옵티마이저 등의 설정을 최적화해야 합니다. 이러한 설정이 시스템 성능에 미치는 영향을 주기 때문에 충분한 테스트 후 적용하는 것이 좋습니다.
실행 예시
# Parameter 변경
alter system set "_buddy_instance"=0 scope=spfile;
alter system set "_buffer_busy_wait_timeout"=2 scope=spfile;
alter system set "_cursor_obsolete_threshold"=200 scope=spfile;
alter system set "_cursor_reload_failure_threshold"=5 scope=spfile;
alter system set "_disable_ilm_internal"=TRUE scope=spfile;
alter system set "_dlm_stats_collect"=0 scope=spfile;
alter system set "_drop_stat_segment"=1 scope=spfile;
alter system set "_enable_ptime_update_for_sys"=TRUE scope=spfile;
alter system set "_enable_space_preallocation"=0 scope=spfile;
alter system set "_gc_dump_remote_lock"=FALSE scope=spfile;
alter system set "_gc_integrity_checks"=0 scope=spfile;
alter system set "_gc_persistent_read_mostly"=FALSE scope=spfile;
alter system set "_highest_priority_processes"='VKTMILG*|LMS*' scope=spfile;
alter system set "_imr_non_blocking_device_driver"=FALSE scope=spfile;
alter system set "_in_memory_cdt"=OFF scope=spfile;
alter system set "_in_memory_undo" =FALSE scope=spfile;
alter system set "_kks_obsolete_dump_threshold"=0 scope=spfile;
alter system set "_kks_parse_error_warning"=0 scope=spfile;
alter system set "_ksipc_service_mask"=0 scope=spfile;
alter system set "_nonfatalprocess_redo_dump_time_limit"=0 scope=spfile;
alter system set "_optimizer_aggr_groupby_elim"=FALSE scope=spfile;
alter system set "_optimizer_ansi_rearchitecture"=FALSE scope=spfile;
alter system set "_optimizer_band_join_aware"=FALSE scope=spfile;
alter system set "_optimizer_batch_table_access_by_rowid"=FALSE scope=spfile;
alter system set "_optimizer_cbqt_or_expansion"=OFF scope=spfile;
alter system set "_optimizer_gather_feedback"=FALSE scope=spfile;
alter system set "_optimizer_gather_stats_on_load"=FALSE scope=spfile;
alter system set "_optimizer_gather_stats_on_load_index"=FALSE scope=spfile;
alter system set "_optimizer_inmemory_capture_stored_stats"=FALSE scope=spfile;
alter system set "_optimizer_join_factorization"=FALSE scope=spfile;
alter system set "_optimizer_reduce_groupby_key"=FALSE scope=spfile;
alter system set "_optimizer_unnest_scalar_sq"=FALSE scope=spfile;
alter system set "_sql_plan_directive_mgmt_control"=0 scope=spfile;
alter system set "_sys_logon_delay"=0 scope=spfile;
alter system set "_use_single_log_writer"=TRUE scope=spfile;
alter system set db_block_checking=TRUE scope=spfile;
alter system set optimizer_adaptive_plans=FALSE scope=spfile;
alter system set optimizer_adaptive_reporting_only=TRUE scope=spfile;
alter system set optimizer_inmemory_aware=TRUE scope=spfile;
alter system set pga_aggregate_limit=0 scope=spfile;
alter system set sql92_security=FALSE scope=spfile;
alter system set use_large_pages=ONLY scope=spfile;
alter system set allow_group_access_to_sga=TRUE scope=spfile;