티스토리 뷰

- 오라클의 파일 종류

  - Parameter File: 오라클 기동 시 필요하며 SGA 및 기타 환경을 구성하기 위한 정보가 기록된 파일
  - Control File: 정합성을 확인하는 바이너리 파일
  - Trace File: 이벤트 및 로그를 저장하는 파일
  - Password File: 오라클 접속 시 인증을 위한 파일

 

- 파라미터 파일: 오라클의 환경을 설정하는 파일. 정적 파라미터 파일과 동적 파라미터 파일이 존재합니다. 

오라클은 많은 parameter를 설정할 수 있으며 데이터베이스 관리자는 데이터베이스가 운영되는 업무의 특성에 따라 각 parameter들의 값을 설정해야 합니다. 설정 값을 파일로 저장하고 파라미터의 종류 및 파라미터 파일의 종류에 따라 바로 적용이 되거나 데이터베이스가 기동 될 때 해당 파라미터 파일을 데이터베이스에 적용하게 됩니다. 아래 정적/동적 초기화 파라미터의 차이를 요약한 표가 있습니다. 이것 외에도 설정이 적용되기 전 데이터베이스 인스턴스를 다시 시작해야 하는지 여부에 차이가 있습니다. 정적은 인스턴스를 다시 시작해야 설정이 적용되나 동적은 그럴 필요가 없습니다. 

정적 파라미터와 동적 파라미터

- 동적 파라미터: 데이터베이스 재기동 없이 ALTER SYSTEM SET 명령어로 변경 사항을 적용할 수 있는 파라미터. ALTER SYSTEM SET으로 변경 후 해당 파라미터 파일을 변경해야만 다음 데이터베이스 재기동 시 적용됩니다. 

변경 자체는 ALTER SYSTEM SET으로 바로 할 수 있으나 해당 파라미터 파일을 변경해야 재기동 시 적용됩니다. 즉 적용은 재기동 후에 적용됩니다. 


파라미터 파일 생성, 변경, 확인

정적 파라미터 파일 생성

CREATE PFILE PFILE = 'pfile name'
FROM SPFILE = 'spfile_name';


- 동적 파라미터 파일 생성:

CREATE SPFILE [='spfile_name']
FROM PFILE [='pfile_name']


- 파라미터 값 변경:

ALTER SYSTEM SET parameter_name = parameter_value
[COMMENT='text']
[SCOPE=MEMORY|SPFILE|BOTH]
[SID='sid'|c*];

ALTER SESSION SET parameter_name = parameter value;


- 파라미터 값 확인:

SELECT * FROM V$PARAMETER;
SELECT * FROM V$SPPARAMETER;
SHOW PARAMETER parameter_name

 

동적 성능 뷰 parameter 속성 확인

SQL> desc v$parameter;
 Name                          Null?    Type
 ----------------------------- -------- ---------------
 NUM                                    NUMBER
 NAME                                   VARCHAR2(80)
 TYPE                                   NUMBER
 VALUE                                  VARCHAR2(4000)
 DISPLAY_VALUE                          VARCHAR2(4000)
 DEFAULT_VALUE                          VARCHAR2(255)
 ISDEFAULT                              VARCHAR2(9)
 ISSES_MODIFIABLE                       VARCHAR2(5)
 ISSYS_MODIFIABLE                       VARCHAR2(9)
 ISPDB_MODIFIABLE                       VARCHAR2(5)
 ISINSTANCE_MODIFIABLE                  VARCHAR2(5)
 ISMODIFIED                             VARCHAR2(10)
 ISADJUSTED                             VARCHAR2(5)
 ISDEPRECATED                           VARCHAR2(5)
 ISBASIC                                VARCHAR2(5)
 DESCRIPTION                            VARCHAR2(255)
 UPDATE_COMMENT                         VARCHAR2(255)
 HASH                                   NUMBER
 CON_ID                                 NUMBER

 

동적 성능 뷰 spparameter 속성 확인

SQL> desc v$spparameter;
 Name                     Null?    Type
 ------------------------ -------- ---------------
 FAMILY                            VARCHAR2(80)
 SID                               VARCHAR2(80)
 NAME                              VARCHAR2(80)
 TYPE                              VARCHAR2(11)
 VALUE                             VARCHAR2(255)
 DISPLAY_VALUE                     VARCHAR2(255)
 ISSPECIFIED                       VARCHAR2(6)
 ORDINAL                           NUMBER
 UPDATE_COMMENT                    VARCHAR2(255)
 CON_ID                            NUMBER

 

v$parameter 갯수:

SQL> select count(*) from v$parameter;

  COUNT(*)
----------
       445

 

v$spparameter 개수:

SQL> select count(*) from v$spparameter;

  COUNT(*)
----------
       449

 

- 값 확인 후 변경 예:

SQL> show parameter recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 1G
recovery_parallelism                 integer     0
remote_recovery_file_dest            string

SQL> alter system set db_recovery_file_dest_size=2G;

System altered.
SQL> show parameter recovery

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 2G
recovery_parallelism                 integer     0
remote_recovery_file_dest            string

- 초기화 파라미터: 초기화 파라미터(Initialization Parameters)는 인스턴스의 기본 작동에 영향을 미치는 구성 파라미터입니다. 인스턴스는 시작 시 파일에서 초기화 파라미터를 읽습니다.

 

초기화 파라미터는 기본적으로 그룹에 속해있습니다. 이러한 그룹으로는,

- 파일 또는 디렉터리와 같은 엔티티의 이름을 지정하는 파라미터

- 프로세스, 데이터베이스 리소스 또는 데이터베이스 자체에 대한 제한을 설정하는 파라미터

- SGA의 크기와 같이 용량에 영향을 주는 매개변수(이러한 파라미터를 가변 파라미터(variable parameters) 또는 변수 파라미터라고 함)

변수 파라미터는 이러한 매개변수를 사용하여 데이터베이스 성능을 향상할 수 있기 때문에 데이터베이스 관리자에게 특히 중요합니다.

 

그다음으로 초기화 파라미터는 Basic 및 Advanced의 두 그룹으로 나뉩니다. 

일반적으로 적절한 성능을 얻으려면 약 30개의 기본 파라미터만 설정하고 조정해야 합니다. 기본 파라미터는 데이터베이스 이름, Control 파일의 위치, 데이터베이스 블록 크기 및 undo 테이블스페이스와 같은 특성을 설정합니다.

드문 경우지만 최적의 성능을 위해 고급 매개변수를 수정해야 할 수 있습니다. 고급 매개변수를 사용하면 전문 DBA가 Oracle Database의 동작을 고유한 요구 사항에 맞게 조정할 수 있습니다. 매개변수 파일에 포함되지 않은 관련 초기화 매개변수의 경우 Oracle Database가 기본값을 제공합니다.


Server Parameter Files

서버 파라미터 파일은 초기화 파라미터의 repository입니다. 주요 특징으로,

- 데이터베이스에 대해 하나의 서버 매개변수 파일만 존재합니다. 이 파일은 데이터베이스 호스트에 있어야 합니다.

- 서버 파라미터 파일은 바이너리이며 텍스트 편집기로 수정할 수 없습니다.

- 서버 파라미터 파일에 저장된 초기화 파라미터는 영구적입니다. 데이터베이스 인스턴스가 실행되는 동안 파라미터에 대한 모든 변경 사항은 인스턴스 종료 및 시작 시 유지될 수 있습니다.

서버 파라미터 파일을 사용하면 클라이언트 응용 프로그램에 대해 여러 텍스트 초기화 파라미터 파일을 유지 관리할 필요가 없습니다. 서버 파라미터 파일은 처음에 CREATE SPFILE 문을 사용하여 텍스트 초기화 파라미터 파일에서 빌드됩니다. Database Configuration Assistant에서 직접 생성할 수도 있습니다.

https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/19/cncpt&id=ADMIN11115 

 

Database Administrator’s Guide

After you plan your database, you can create the database with a graphical tool or a SQL command.

docs.oracle.com

https://docs.oracle.com/pls/topic/lookup?ctx=en/database/oracle/oracle-database/19/cncpt&id=SQLRF01315 

 

SQL Language Reference

 

docs.oracle.com


Text Initialization Parameter Files

텍스트 초기화 파라미터 파일은 초기화 파라미터 목록이 포함된 텍스트 파일입니다. 주요 특성으로,

- 텍스트 초기화 매개변수 파일은 바이너리가 아닌 텍스트 기반입니다.

- Oracle Database는 텍스트 초기화 매개변수 파일을 읽을 수 있지만 쓸 수는 없습니다. 매개변수 값을 변경하려면 텍스트 편집기를 사용하여 파일을 수동으로 변경해야 합니다.

- ALTER SYSTEM에 의한 초기화 매개변수 값 변경은 현재 인스턴스에만 적용됩니다. 변경 사항을 알려면 텍스트 초기화 매개변수 파일을 수동으로 업데이트하고 인스턴스를 다시 시작해야 합니다.

텍스트 초기화 매개변수 파일에는 한 줄에 하나씩 일련의 key=value 쌍이 포함되어 있습니다. 예를 들어,

db_name=sample
control_files=/disk1/oradata/sample_cf.dbf
db_block_size=8192
open_cursors=52
undo_management=auto
shared_pool_size=280M
pga_aggregate_target=29M
.
.
.

Modification of Initialization Parameter Values

초기화 파라미터를 조정하여 데이터베이스의 동작을 수정할 수 있습니다. 파라미터를 정적(static) 또는 동적(dynamic)으로 분류하면 수정 방법이 결정됩니다.

우선 정적 파라미터에는 DB_BLOCK_SIZE, DB_NAME 및 COMPATIBLE이 포함됩니다. 동적 파라미터는 현재 사용자 세션에만 영향을 미치는 세션 수준 파라미터와 데이터베이스 및 모든 세션에 영향을 미치는 시스템 수준 파라미터로 그룹화됩니다. 예를 들어 MEMORY_TARGET은 시스템 수준 파라미터이고 NLS_DATE_FORMAT은 세션 수준 파라미터입니다.

매개변수 변경 scope는 변경 사항이 적용되는 시기에 따라 다릅니다. 인스턴스가 서버 파라미터 파일로 시작된 경우 ALTER SYSTEM SET 문을 사용하여 다음과 같이 시스템 수준 파라미터의 값을 변경할 수 있습니다.

- SCOPE=MEMORY

  변경 사항은 데이터베이스 인스턴스에만 적용됩니다. 데이터베이스를 종료하고 다시 시작하면 변경 사항이 유지되지 않습니다.

- SCOPE=SPFILE

  변경 사항은 서버 파라미터 파일에 적용되지만 현재 인스턴스에는 영향을 미치지 않습니다. 따라서 인스턴스가 다시 시작될 때까지 변경 사항이 적용되지 않습니다. (참고: Oracle Database Reference에서 수정할 수 없는 것으로 설명된 매개변수 값을 변경할 때 SPFILE을 지정해야 합니다.)

- SCOPE=BOTH

메모리와 서버 파라미터 파일 모두에 변경 사항을 기록합니다. 데이터베이스가 서버 파라미터 파일을 사용할 때의 default scope입니다.

데이터베이스는 alert log에 초기화 매개변수의 새 값과 이전 값을 인쇄합니다. 예방 조치로 데이터베이스는 기본 매개변수의 변경을 검증하여 유효하지 않은 값이 서버 매개변수 파일에 기록되는 것을 방지합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/06   »
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
글 보관함