ORACLE/TUNING2009. 12. 16. 10:52
반응형

                                                                                    

cursor_sharing 파라미터에 대한 테스트

오라클 데이터베이스의 파라미터 중 cursor_sharing value exact, similar, force의 값을 가진다. 값의 설정에 따른 영향도와 정확한 동작 방식을 확인하고자 테스트 진행

테스트 시나리오

child cursor 생기지 않는 형식의 테스트(bind peeking 사용)

1.   테스트 데이터 생성(num 값이 unique 10만건 테이블, 인덱스 생성)

2.   cursor_sharing 변경(exact, similar, force)

3.   10개의 JOB 등록( JOB 1만번의 루프를 수행하며 루프 마다 ‘where num = 조건절 값이 리터럴하게 변경되면서 수행)

4.   모니터링

child cursor 생기는 방식의 테스트(bind peeking 사용) 위의 방식과 동일한 방식으로 진행되지만 조건절을 ‘where num between A and 형식으로 값을 변경해 가면서 테스트 진행한다.

 

사용스크립트

       simulation_hard_parsing.sh

#!/bin/bash

 

## $1 => Sample Data Row Count

## 등록되는 job 10 개로 함

## Hard Parsing Simulation

 

sqlplus /nolog <<EOF

 

CONN / AS SYSDBA

GRANT EXECUTE ON DBMS_SCHEDULER to HR;

DECLARE

BEGIN

   FOR C IN 1 .. 10

   LOOP

      SYS.DBMS_SCHEDULER.DROP_JOB('HR.TEST_SCHEDULE' || '_' || C);

   END LOOP;

END;

/

 

CONN HR/HR

-- Make Test Data

@/home/oracle/script/make_sample_data.sql ALL_OBJECTS TEST $1

 

-- Index 생성하여 index scan 유도

CREATE INDEX TEST_IDX ON TEST(NUM,OBJECT_NAME)

TABLESPACE USERS;

 

-- Creation Procedure for Load

DEFINE P_TOTAL = $1

CREATE OR REPLACE PROCEDURE CURSOR_SHARING_TEST(P_CNT IN NUMBER DEFAULT 0 )

AS

   V_NUM          NUMBER;

   V_OBJECT_NAME  VARCHAR2(128);

   V_OBJECT_ID    NUMBER;

   V_CNT          NUMBER;

   V_STMT         VARCHAR2(4000);

BEGIN

   V_CNT       := P_CNT;

 

   FOR C IN 1 .. &P_TOTAL/10

   LOOP

      V_CNT       := V_CNT + 1;

      V_STMT      := 'SELECT NUM, OBJECT_NAME, OBJECT_ID FROM TEST WHERE NUM = ' || V_CNT;

 

      EXECUTE IMMEDIATE V_STMT INTO   V_NUM, V_OBJECT_NAME, V_OBJECT_ID;

   END LOOP;

END;

/

 

-- Register 10 Test Schedules

CONN / AS SYSDBA

EXECUTE DBMS_STATS.GATHER_TABLE_STATS (OWNNAME => 'HR',TABNAME => 'TEST' , METHOD_OPT => 'for all columns size skewonly' ,DEGREE  => 4   ,CASCADE  => TRUE );

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

ALTER SYSTEM SET CURSOR_SHARING = EXACT;

ALTER SYSTEM FLUSH SHARED_POOL;

ALTER SYSTEM FLUSH BUFFER_CACHE;

 

DECLARE

BEGIN

   FOR C IN 1 .. 10

   LOOP

      BEGIN

         SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME    => 'HR.TEST_SCHEDULE' || '_' || C

                                      ,JOB_TYPE    => 'STORED_PROCEDURE'

                                      ,JOB_ACTION  => 'HR.CURSOR_SHARING_TEST'

                                      ,START_DATE  => CURRENT_TIMESTAMP

                                      ,JOB_CLASS   => 'DEFAULT_JOB_CLASS'

                                      ,COMMENTS    => 'cursor_sharing value test'

                                      ,AUTO_DROP   => FALSE

                                      ,NUMBER_OF_ARGUMENTS => 1

                                      ,ENABLED     => FALSE

                                      );

         SYS.DBMS_SCHEDULER.SET_ATTRIBUTE(NAME        => 'HR.TEST_SCHEDULE' || '_' || C

                                         ,ATTRIBUTE   => 'logging_level'

                                         ,VALUE       => DBMS_SCHEDULER.LOGGING_FULL

                                         );

         SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(JOB_NAME    => 'HR.TEST_SCHEDULE' || '_' || C

                                                  ,ARGUMENT_POSITION => 1

                                                  ,ARGUMENT_VALUE => &P_TOTAL/10 * C

                                                  );

         SYS.DBMS_SCHEDULER.ENABLE('HR.TEST_SCHEDULE' || '_' || C);

      END;

   END LOOP;

END;

/

 

EXIT

EOF

       ALTER SYSTEM SET CURSOR_SHARING=EXACT 부분을 바꾸어 가면서 테스트 진행

 

simulation_hard_parsing_child.sh

#!/bin/bash

 

## $1 => Sample Data Row Count

## 등록되는 job 10 개로 함

## Hard Parsing Simulation

 

sqlplus /nolog <<EOF

 

CONN / AS SYSDBA

GRANT EXECUTE ON DBMS_SCHEDULER to HR;

DECLARE

BEGIN

   FOR C IN 1 .. 10

   LOOP

      SYS.DBMS_SCHEDULER.DROP_JOB('HR.TEST_SCHEDULE' || '_' || C);

   END LOOP;

END;

/

 

CONN HR/HR

-- Make Test Data

@/home/oracle/script/make_sample_data.sql ALL_OBJECTS TEST $1

 

-- Index 생성하여 index scan 유도

CREATE INDEX TEST_IDX ON TEST(NUM,OBJECT_NAME)

TABLESPACE USERS;

 

-- Creation Procedure for Load

DEFINE P_TOTAL = $1

CREATE OR REPLACE PROCEDURE CURSOR_SHARING_TEST(P_CNT IN NUMBER DEFAULT 0 )

AS

   V_NUM          NUMBER;

   V_OBJECT_NAME  VARCHAR2(128);

   V_OBJECT_ID    NUMBER;

   V_CNT          NUMBER;

   V_STMT         VARCHAR2(4000);

BEGIN

   V_CNT       := P_CNT;

 

   FOR C IN 1 .. &P_TOTAL/10

   LOOP

      V_CNT       := V_CNT + 1;

      V_STMT      := 'SELECT COUNT(*) FROM TEST WHERE NUM BETWEEN ' || P_CNT || ' AND ' || V_CNT;

 

      EXECUTE IMMEDIATE V_STMT INTO   V_NUM;

   END LOOP;

END;

/

 

-- Register 10 Test Schedules

CONN / AS SYSDBA

EXECUTE DBMS_STATS.GATHER_TABLE_STATS (OWNNAME => 'HR',TABNAME => 'TEST' , METHOD_OPT => 'for all columns size skewonly' ,DEGREE  => 4   ,CASCADE  => TRUE );

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT;

ALTER SYSTEM SET CURSOR_SHARING = EXACT;

ALTER SYSTEM FLUSH SHARED_POOL;

ALTER SYSTEM FLUSH BUFFER_CACHE;

 

DECLARE

BEGIN

   FOR C IN 1 .. 10

   LOOP

      BEGIN

         SYS.DBMS_SCHEDULER.CREATE_JOB(JOB_NAME    => 'HR.TEST_SCHEDULE' || '_' || C

                                      ,JOB_TYPE    => 'STORED_PROCEDURE'

                                      ,JOB_ACTION  => 'HR.CURSOR_SHARING_TEST'

                                      ,START_DATE  => CURRENT_TIMESTAMP

                                      ,JOB_CLASS   => 'DEFAULT_JOB_CLASS'

                                      ,COMMENTS    => 'cursor_sharing value test'

                                      ,AUTO_DROP   => FALSE

                                      ,NUMBER_OF_ARGUMENTS => 1

                                      ,ENABLED     => FALSE

                                      );

         SYS.DBMS_SCHEDULER.SET_ATTRIBUTE(NAME        => 'HR.TEST_SCHEDULE' || '_' || C

                                         ,ATTRIBUTE   => 'logging_level'

                                         ,VALUE       => DBMS_SCHEDULER.LOGGING_FULL

                                         );

         SYS.DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE(JOB_NAME    => 'HR.TEST_SCHEDULE' || '_' || C

                                                  ,ARGUMENT_POSITION => 1

                                                  ,ARGUMENT_VALUE => &P_TOTAL/10 * C

                                                  );

         SYS.DBMS_SCHEDULER.ENABLE('HR.TEST_SCHEDULE' || '_' || C);

      END;

   END LOOP;

END;

/

 

EXIT

EOF

       리터럴 SQL 문장이 between 사용하는 형태로 바뀌었다.

 

       make_sample_data.sql

-- usage : 1 => Source Table, 2 => Target Table 3 => target Total Rows

 

define cnt=idle

DROP TABLE &2 PURGE;

 

CREATE TABLE &2

AS

   SELECT   1 NUM, ROWNUM SOURCE_NUM, A.*

   FROM     &1 A

   WHERE    1 = 2;

 

COLUMN TBL_CNT NEW_VALUE CNT

 

SELECT   COUNT( * ) TBL_CNT FROM &1;

 

INSERT INTO &2

   SELECT     A.NUM, B.*

   FROM       (SELECT       LEVEL NUM

               FROM         DUAL

               CONNECT BY   LEVEL <= &3) A, (SELECT   ROWNUM - 1 NUM, A.*

                                             FROM     &1 A) B

   WHERE      MOD(A.NUM, &CNT) = B.NUM

   ORDER BY   A.NUM;

 

COMMIT;

 

테스트 측정할 데이터 리스트

l  AWR Report

l  ASH Report

l  EM Performance Graph

l  OS 레벨의 vmstat 정보

테스트 결과1 (child cursor이 생기지 않는 시나리오)

먼저 EM 성능 그래프를 확인해 보자.

 

성능 그래프를 확인해 보면 역시 예상대로 exact 부분에서 wait 현상이 발생하는 것을 확인할 있다.

EAXCT

AWR Report 살펴 보자

 

Load Profile

Load Profile

~~~~~~~~~~~~                            Per Second       Per Transaction

                                   ---------------       ---------------

                  Redo size:              5,209.31             29,990.00

              Logical reads:              1,398.13              8,049.05

              Block changes:                 16.93                 97.48

             Physical reads:                 21.92                126.21

            Physical writes:                  5.00                 28.76

                 User calls:                  4.18                 24.07

                     Parses:                393.62              2,266.07

                Hard parses:                375.25              2,160.33

                      Sorts:                 15.11                 87.00

                     Logons:                  0.12                  0.67

                   Executes:                424.32              2,442.79

               Transactions:                  0.17

역시 리터럴 SQL들은 다른 SQL문으로 받아 들여 Hard parse 수치가 높게 나온다.

 

Instance Efficiency Percentages

Instance Efficiency Percentages (Target 100%)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            Buffer Nowait %:  100.00       Redo NoWait %:  100.00

            Buffer  Hit   %:   98.43    In-memory Sort %:  100.00

            Library Hit   %:   61.36        Soft Parse %:    4.67

         Execute to Parse %:    7.23         Latch Hit %:   99.93

Parse CPU to Parse Elapsd %:   14.10     % Non-Parse CPU:   58.98

역시 Library Hit율이 떨어진다.

 

Top 5 Timed Events

Top 5 Timed Events                                         Avg %Total

~~~~~~~~~~~~~~~~~~                                        wait   Call

Event                                 Waits    Time (s)   (ms)   Time Wait Class

------------------------------ ------------ ----------- ------ ------ ----------

CPU time                                            206          13.3

db file sequential read               4,788         103     21    6.6   User I/O

os thread startup                       100          85    852    5.5 Concurrenc

latch: library cache                  3,541          58     16    3.7 Concurrenc

cursor: mutex X                           6          51   8447    3.3 Concurrenc

Event 중에 latch: library cache 대한 event 많음을 확인할 있다.

 

Time Model Statistics

^LTime Model Statistics                        DB/Inst: ORCL/ORCL  Snaps: 69-70

-> Total time in database user-calls (DB Time): 1544.8s

-> Statistics including the word "background" measure background process

   time, and so do not contribute to the DB time statistic

-> Ordered by % or DB time desc, Statistic name

 

Statistic Name                                       Time (s) % of DB Time

------------------------------------------ ------------------ ------------

sql execute elapsed time                              1,555.0        100.7

parse time elapsed                                    1,220.3         79.0

hard parse elapsed time                                 508.4         32.9

DB CPU                                                  206.1         13.3

PL/SQL execution elapsed time                            19.6          1.3

connection management call elapsed time                  15.3          1.0

PL/SQL compilation elapsed time                           4.1           .3

hard parse (sharing criteria) elapsed time                0.8           .1

repeated bind elapsed time                                0.2           .0

hard parse (bind mismatch) elapsed time                   0.1           .0

sequence load elapsed time                                0.0           .0

DB time                                               1,544.8          N/A

background elapsed time                                 221.1          N/A

background cpu time                                       1.9          N/A

Time Model 통계를 확인해 보면 역시나 Hard Parse 많은 부분을 사용하는 확인할 있다.

 

ASH Report 역시 비슷한 결과에 해당하는 내용이 있다.

SIMILAR

Load Profile

Load Profile

~~~~~~~~~~~~                            Per Second       Per Transaction

                                   ---------------       ---------------

                  Redo size:              2,690.38             22,573.94

              Logical reads:              1,233.33             10,348.35

              Block changes:                  8.17                 68.58

             Physical reads:                 17.18                144.13

            Physical writes:                  1.41                 11.81

                 User calls:                  4.13                 34.61

                     Parses:                363.36              3,048.84

                Hard parses:                  2.68                 22.45

                      Sorts:                 11.68                 97.97

                     Logons:                  0.11                  0.90

                   Executes:                386.53              3,243.26

               Transactions:                  0.12

같은 테스트지만 Hard parse 부분이 많은 부분 없어진 확인할 있다. 파라미터 값을 similar 변경하여 테스트에 사용한 리터럴 SQL 동일한 문장은 아니지만 같은 플랜을 사용하게끔 인식이 되는 것이다. 그래서 이미 Library Cache 존재하는 parsing 정보를 사용하기에 Hard parse 하지 않게 되었다. 이하의 결과에도 마찬가지의 정보를 보여준다.

 

Instance Efficiency Percentages

Instance Efficiency Percentages (Target 100%)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            Buffer Nowait %:  100.00       Redo NoWait %:  100.00

            Buffer  Hit   %:   98.61    In-memory Sort %:  100.00

            Library Hit   %:   97.66        Soft Parse %:   99.26

         Execute to Parse %:    5.99         Latch Hit %:   99.76

Parse CPU to Parse Elapsd %:   27.30     % Non-Parse CPU:   91.17

Library Hit율이 97%까지 올라간 결과를 확인할 있다.

 

Top 5 Timed Events

Top 5 Timed Events                                         Avg %Total

~~~~~~~~~~~~~~~~~~                                        wait   Call

Event                                 Waits    Time (s)   (ms)   Time Wait Class

------------------------------ ------------ ----------- ------ ------ ----------

CPU time                                             53          13.9

db file sequential read               4,218          25      6    6.7   User I/O

library cache load lock                  17           3    195    0.9 Concurrenc

os thread startup                        13           3    253    0.9 Concurrenc

log file parallel write                 123           3     23    0.7 System I/O

latch: library cache 대한 event 사라진 것을 확인할 있다.

 

Time Model Statistics

^LTime Model Statistics                        DB/Inst: ORCL/ORCL  Snaps: 71-72

-> Total time in database user-calls (DB Time): 378.6s

-> Statistics including the word "background" measure background process

   time, and so do not contribute to the DB time statistic

-> Ordered by % or DB time desc, Statistic name

 

Statistic Name                                       Time (s) % of DB Time

------------------------------------------ ------------------ ------------

sql execute elapsed time                                386.4        102.1

parse time elapsed                                       86.6         22.9

DB CPU                                                   52.6         13.9

PL/SQL execution elapsed time                            38.0         10.0

hard parse elapsed time                                  21.6          5.7

PL/SQL compilation elapsed time                           4.8          1.3

connection management call elapsed time                   0.4           .1

repeated bind elapsed time                                0.2           .1

hard parse (sharing criteria) elapsed time                0.2           .0

failed parse elapsed time                                 0.2           .0

sequence load elapsed time                                0.0           .0

DB time                                                 378.6          N/A

background elapsed time                                  12.0          N/A

background cpu time                                       1.6          N/A

전체적으로 parsing 관련된 시간이 줄어든 것을 확인할 있으며 이를 통해 sql execute elapsed time 줄어 것이 확인 가능하다. 결론적으로 DB time 자체가 줄어드는 성능적인 이득을 취하게 된다. 이것을 다르게 말하면 전체적으로 시스템의 Response Time 확연히 증가함을 말한다. End 유저는 확실한 성능 차이를 체감하게 것이다.

 

ASH Report 마찬가지의 결과를 보여주고 있다.

FORCE

Load Profile

Load Profile

~~~~~~~~~~~~                            Per Second       Per Transaction

                                   ---------------       ---------------

                  Redo size:              2,340.54             21,036.32

              Logical reads:                966.83              8,689.63

              Block changes:                  8.08                 72.63

             Physical reads:                 13.81                124.08

            Physical writes:                  1.17                 10.50

                 User calls:                  2.42                 21.71

                     Parses:                278.51              2,503.18

                Hard parses:                  2.97                 26.66

                      Sorts:                  9.02                 81.08

                     Logons:                  0.08                  0.76

                   Executes:                297.61              2,674.82

               Transactions:                  0.11

similar 경우와 비슷한 수치를 보이고 있다.

 

Instance Efficiency Percentages

Instance Efficiency Percentages (Target 100%)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

            Buffer Nowait %:  100.00       Redo NoWait %:  100.00

            Buffer  Hit   %:   98.58    In-memory Sort %:  100.00

            Library Hit   %:   97.35        Soft Parse %:   98.94

         Execute to Parse %:    6.42         Latch Hit %:   99.91

Parse CPU to Parse Elapsd %:   33.57     % Non-Parse CPU:   93.78

similar 경우와 비슷한 수치를 보이고 있다.

 

Top 5 Timed Events

Top 5 Timed Events                                         Avg %Total

~~~~~~~~~~~~~~~~~~                                        wait   Call

Event                                 Waits    Time (s)   (ms)   Time Wait Class

------------------------------ ------------ ----------- ------ ------ ----------

CPU time                                             77          13.2

db file sequential read               4,384          20      5    3.4   User I/O

job scheduler coordinator slav            1           8   7984    1.4      Other

Streams AQ: qmn coordinator wa            1           5   4884    0.8      Other

os thread startup                        13           4    276    0.6 Concurrenc

latch: library cache 대한 event 사라진 것을 확인할 있다.

 

Time Model Statistics

^LTime Model Statistics                        DB/Inst: ORCL/ORCL  Snaps: 73-74

-> Total time in database user-calls (DB Time): 585.2s

-> Statistics including the word "background" measure background process

   time, and so do not contribute to the DB time statistic

-> Ordered by % or DB time desc, Statistic name

 

Statistic Name                                       Time (s) % of DB Time

------------------------------------------ ------------------ ------------

sql execute elapsed time                                597.6        102.1

parse time elapsed                                      122.9         21.0

DB CPU                                                   77.4         13.2

PL/SQL execution elapsed time                            44.4          7.6

hard parse elapsed time                                  21.8          3.7

PL/SQL compilation elapsed time                           3.4           .6

hard parse (sharing criteria) elapsed time                0.7           .1

connection management call elapsed time                   0.2           .0

repeated bind elapsed time                                0.2           .0

failed parse elapsed time                                 0.1           .0

sequence load elapsed time                                0.1           .0

hard parse (bind mismatch) elapsed time                   0.0           .0

DB time                                                 585.2          N/A

background elapsed time                                  27.2          N/A

background cpu time                                       2.3          N/A

similar 때와 비슷한 상황으로 분석된다.

테스트 결과2 (child cursor이 생기는 시나리오)

child cursor 발생 상황에 대해서 먼저 정의가 필요하다. cursor_sharing 파라미터의 값이 similar 경우 오라클은 실행계획이 같다고 판단이 되는 경우 동일한 형태의 리터럴 SQL 문장에 대해서 같은 문장으로 인식하고 사용하게끔 한다. 하지만 실행계획은 같지만 포함된 통계정보가 다를 경우 같은 문장으로는 인식을 하지만 재사용을 하는 것이 아니라 child cursor 생성하여 수행하게 된다. 여기에는 여러 변수가 작용할 있다. Bind peeking 히스토그램, 옵티마이저의 방식 등등이 영향을 미치게 된다.

테스트 시스템은 bind peeking 사용하며 CBO 방식을 사용했으며 child cursor 발생하는 환경으로 세팅을 완료했다.

다음은 테스트 결과를 보도록 하겠다.

 

 

Similar 경우 오히려 많은 wait event 발생한 것을 확인할 있다.

 

exact, force 경우 테스트1 경우와 비슷한 레벨로 보이고 similar에서는 오히려 성능이 떨어지는 그래프를 보이고 있다. 결론적으로 similar 경우에 대해서는 테스트를 완료할 없었다. Child cursor 3만개 이상 발생하자 Job slave terminated 되고 오라클 600에러를 내면서 작업이 fail 끝나게 된다.

결론

cursor_sharing 파라미터의 경우 많은 부분이 해당 value exact, similar, force 대한 용어적 해석을 통한 접근으로 정확하지 않은 표현으로 가이드 되는 경우가 많다.

테스트의 출발은 value 정확히 어떤 기준으로 동작하는지 확인 하는 것이었다.

Similar 경우 실행계획이 같은 문장에 한해서는 같은 문장으로 인식하고 library cache 로딩되어 있는 정보를 그대로 사용한다. 하지만 플랜에 포함된 통계정보가 다르다고 판단이 되는 실행계획일 경우 child cursor 생성하여 사용하게 된다. similar 경우 통계정보까지도 동일한 형태의 실행계획일 경우에 child cursor 생성하지 않고 사용하게 된다. 반면 force 경우는 실행계획만 같다면 similar 다르게 같은 문장으로 인식하여 cache 정보를 재사용하게 한다.

그렇다면 파라미터에 대해선 어떻게 사용해야할까..?

이는 상황에 따라서 다르겠지만 여러가지를 종합적으로 고려를 해야한다. 분명 가이드는 exact 이다. 그리고 bind 변수 사용에 대해 최대한 권장을 해야한다. 임시방편 격으로 similar, force 사용 가능하다. 하지만 이것도 고려 사항이 있다. Similar 경우 child cursor 발생하는 형식으로 된다면 시스템은 버티기가 힘들 것이다. 사이드 이펙트가 없는 상황일 경우에 쓸만하다는 것이다. 그렇다면 force 쓰는게 낫지 않겠냐는 반문이 나올 것이다. 하지만 이도 문제 요소가 있다. 데이터의 분포가 균등하지 못한 경우 사용되는 변수의 값이 어떤 것이냐에 따라서 적합한 실행계획이 다른 바뀔 것이다. Force 경우 이런 케이스를 커버하지 못한다는 단점이 있는 것이다.

반응형

'ORACLE > TUNING' 카테고리의 다른 글

EXPLAIN PLAN(실행계획) 이란  (0) 2010.01.12
Statspack Report 간단 분석 방법  (0) 2009.12.17
Literal SQL 조회하는 방법  (0) 2009.12.05
DML 과 PARALLEL의 관계  (0) 2009.11.06
Oracle dump 뜨는 방법  (0) 2009.05.08
Posted by [PineTree]
ORACLE/PARAMETER2009. 12. 10. 14:03
반응형

--------------------------------------------------------------------------------
Syntax  SESSION_CACHED_CURSORS 
설정방법  Parameter File
ALTER SESSION SET SESSION_CACHED_CURSORS = 100;
ALTER SYSTEM SET SESSION_CACHED_CURSORS = 100;
--------------------------------------------------------------------------------
 
SESSION_CACHED_CURSORS 파라미터 값이 0보다 크면 Session Cursor Caching 기능이 사용된다. Session Cursor Caching 기능이란 하나의 Session 내에서 3회 이상 parse call한 커서 SQL Statement를 PGA 영역에 Cache하는 것을 의미한다.

sql문이 실행될 때마다 세션의 파싱 단계에서 library cache를 검색한다. 하지만 자신이 수행하고자 하는 Execute plan이 없으면 'Hard parsing'을 할 것이고, 있으면 'Soft parsing'을 하게 될 것이다.
"Hard parsing 뿐만 아니라 "Soft parsing"도 librrary cache latch 와 cpu 오버 헤드를 발생시킨다.

일반적으로 Soft Parse가 왕성하고 한번에 많은 수의 Cursor를 사용하는 Application에서는 SESSION_CACHED_CURSORS 파라미터의 값을 크게 함으로써 library cache 래치 경합을 줄일 수 있다.

각각의 커서가 고정된 경우는 이 영역에 대해서 할당할 수 있는 더 많은 shared pool 영역을 요구할 수도 있다. 일반적인 shared pool에서의 커서는 2개의 컴퍼넌트로 구성되어 있다.
a)heap 0 - 1 KB 크기
b)SQL AREA - 4KB 배수 크기

Session Cursor Caching에 의해 PGA에 Cache된 Cursor는 다음과 같은 방법으로 Shared Pool에 Pin된다.

   1. Cursor를 구성하는 Heap0(Cursor 기본 정보)은 Pin된다.
   2. Cursor를 구성하는 Heap6(Cursor의 실행 계획 정보)는 Pin되지 않는다. 

Pin된 영역은 Flush되지 않는다. 따라서 Session Curors Caching에 의해 Cache된 Cursor의 기본 정보는 Shared Pool에 계속 상주하게 된다. 이런 이유 때문에 Cache된 Cursor에 대해서는 Shared Pool의 특정 영역으로 직접 Access가 가능하고 그 만큼 library cache 래치를 점유하는 시간이 줄어든다. 반면 이렇게 Cache된 Cursor의 개수가 지나치게 많으면 그만큼 Flush되지 않는 Cursor(Heap0)의 수가 증가한다. 따라서 Shared Pool의 Fragmentation 현상이 발생할 수 있다.

이런 이유 때문에 Hard Parse가 왕성한 시스템에서는 Flush가 원활하게 이루어져야 하기 때문에 SESSION_CACHED_CURSORS 파라미터 값을 낮게 설정하는 것이 좋다. 보통 50 정도의 값에서 시작하는 것이 권장되며, Hard Parse와 Soft Parse의 발생 정도, Shared Pool의 크기에 따라 가감하는 방식을 사용한다.

  이 파라미터의 동작유무를 체크하려면 다음과 같이 수행한다.

SQL> select max(VALUE) from v$sesstat
where STATISTIC# in(select STATISTIC# from v$STATNAME where NAME = 'session cursor cache count');

MAX(VALUE)
-----------
         20

1 rows selected.

  과거에 session_cached_cursors의 최대값을 보여주는데, 이 값이 init.ora에서 value = "session_cached_cursors" 라면 이 값을 증가할지를 고려해보야 한다.

  이 session cache가 얼마나 얼마나 동작하는지를 보고싶다면 다음과 같이 수행한다.

SQL> select cache/tot*100 "Session cursor cache%"
from
(select value tot from v$sysstat where name = 'parse count (total)'),
(select value cache from sys.v$sysstat where name = 'session cursor cache hits');

Session cur
-----------
 8.849e+001

1 rows selected.

결론적으로, OLTP 어플리케이션에서 같은 SQL 세트는 많은 횟수로 실행되기 때문에 반드시 이 파라미터 값을 Default 값이 50 이상으로 세팅할 필요가 있다.

반응형

'ORACLE > PARAMETER' 카테고리의 다른 글

[SGA튜닝]Cursor Sharing Parameter  (0) 2008.06.10
ORACLE 9i Parameter 설명  (0) 2007.02.10
Posted by [PineTree]
ORACLE/PARAMETER2008. 6. 10. 23:06
반응형
[SGA튜닝]Cursor Sharing Parameter
Cursor Sharing Parameter

비슷한 조건 문을 가지는 문장에 대해 SQL문을 공유하기 위해서는 이전 강좌 처럼 바인드 변수를 이용 할 수 있습니다. 이전강좌에서 상수값을 다르게 주게되는 경우 서로 다른 SQL로 인식을 하여 하드파싱(처음보는 SQL문으로 인식하여 일일이 파싱)을 한다고 하였습니다.

Oracle 8.1.6에서 소개된 Cursor_Sharing 변수는 각각의 문장들에 대해 bind 변수로 처리하지 않게 되더라도 내부적으로 바인드 변수로 처리하여 각각의 Cursor에 대해 공유가 가능 하도록 했습니다. 실제 이 기능은 Bind 변수를 쓰는 것 보다는 빠르지 않지만 Literal SQL문(이전 강좌를 참고 하세요)을 이용하는 것보다 20~30% 성능 향상이 있는 것으로 검증 되었습니다.

1. CURSOR_SHARING = EXACT

SQL문장이 모두 동일해야만 Soft Parsing이 가능 합니다.(재사용 한다는 이야깁니다.) Where절의 상수까지도 같아야 합니다.

다음예문을 참고 하세요~
SQL>conn / as sysdba
SQL> alter system flush shared_pool;

시스템이 변경되었습니다.

SQL> conn scott/tiger
연결되었습니다.
SQL> alter session set cursor_sharing = exact;

세션이 변경되었습니다.

SQL> select dname from dept where deptno = 10;

DNAME
--------------
ACCOUNTING

SQL> select dname from dept where deptno = 40;

DNAME
--------------
OPERATIONS

SQL> conn / as sysdba
연결되었습니다.

SQL> select substr(sql_text,1,40) "SQL", count(*),
  2     sum(executions) "총 실행 횟수"
  3  from v$sqlarea
  4  where sql_text like '%dept%'
  5  group by substr(sql_text,1,40)
  6  having count(*) > 0
  7  order by 2;


SQL                                        COUNT(*)    총 실행 횟수
---------- --------------------------------------------------
select dname from dept where deptno = 10         1            1
select dname from dept where deptno = 40         1            1

파싱을 2번한 것을 알 수 있습니다…


2. CURSOR_SHARING = SIMILAR

SQL 문은 동일 해야 하며 조건에 정의된 바인드 변수의 값이 다르더라도 하나의 SQL문으로 간주하여 Soft Parsing 합니다. 이 값은 결국 다른 상수 값을 사용하더라도 하나의 SQL문으로 인식합니다, 3번의 경우(FORCE)와 같은 결과를 나타냅니다.

SQL> alter system flush shared_pool;

시스템이 변경되었습니다.

SQL> conn scott/tiger
연결되었습니다.
SQL> alter session set cursor_sharing = similar;

세션이 변경되었습니다.

SQL> select dname from dept where deptno = 10;

DNAME
--------------
ACCOUNTING

SQL> select dname from dept where deptno = 40;

DNAME
--------------
OPERATIONS

SQL> conn / as sysdba
연결되었습니다.

SQL> select substr(sql_text,1,40) "SQL", count(*),
  2     sum(executions) "총 실행 횟수"
  3  from v$sqlarea
  4  where sql_text like '%dept%'
  5  group by substr(sql_text,1,40)
  6  having count(*) > 0
  7  order by 2;

SQL                               COUNT(*)          총 실행 횟수
---------- --------------------------------------------------
select dname from dept where deptno = :"         1            2

파싱이 한번만 일어남을 알수 있다…



3. CURSOR_SHARING = FORCE

WHERE 조건절에 정의된 상수가 다르 더라도 Soft Parsiing을 합니다.

SQL> alter system flush shared_pool;

시스템이 변경되었습니다.

SQL> conn scott/tiger
연결되었습니다.
SQL> alter session set cursor_sharing = force;

세션이 변경되었습니다.

SQL> select dname from dept where deptno = 10;

DNAME
--------------
ACCOUNTING

SQL> select dname from dept where deptno = 40;

DNAME
--------------
OPERATIONS

SQL> conn / as sysdba
연결되었습니다.

SQL> select substr(sql_text,1,40) "SQL", count(*),
  2     sum(executions) "총 실행 횟수"
  3  from v$sqlarea
  4  where sql_text like '%dept%'
  5  group by substr(sql_text,1,40)
  6  having count(*) > 0
  7  order by 2;

SQL                               COUNT(*)          총 실행 횟수
---------- --------------------------------------------------
select dname from dept where deptno = :"         1            2

파싱이 한번만 일어남을 알수 있다…
반응형

'ORACLE > PARAMETER' 카테고리의 다른 글

parameter SESSION_CACHED_CURSORS  (0) 2009.12.10
ORACLE 9i Parameter 설명  (0) 2007.02.10
Posted by [PineTree]
ORACLE/PARAMETER2007. 2. 10. 00:31
반응형

07_DICTIONARY_ACCESSIBILITY

설명    : Oracle7에서 Oracle8i로 이전할 때 주로 사용됩니다.

            TRUE로 설정된 경우 SELECT ANY TABLE과 같은 SYSTEM 권한은 SYS 스키마의

            객체에 대한 액세스를 제한하지 않습니다.

            (Oracle7 기능) FALSE인 경우 사용자는 SELECT_CATALOG_ROLE,

            EXECUTE_CATALOG_ROLE 또는 DELETE_CATALOG_ROLE을 부여 받았을 때만

            SYS 스키마 객체에 액세스할 수 있습니다.
사용 가능한 값 : TRUE | FALSE
기본값  : TRUE

 

active_instance_count
설명    : 2개의 인스턴스로 이루어진 클러스터에서 사용자가 하나의 인스턴스를 기본

            인스턴스로 지정하고 나머지 인스턴스를 보조 인스턴스로 지정할 수 있도록 합니다.
            이 매개변수는 2개 이상의 인스턴스가 포함된 클러스터에서는 기능을 수행하지 않습니다.
사용 가능한 값 : 1 또는 >= 클러스터의 인스턴스 수입니다.
기본값  : 없음

 

aq_tm_processes
설명    : 0 보다 클 경우 대기열 메시지에 대한 시간 모니터링이 활성화됩니다.
            시간은 응용 프로그램 개발에 사용되는 지연 및 만료 등록정보를 지정하는 메시지에
            사용할 수 있습니다.
사용 가능한 값 : 0 - 10
기본값  : 0

 

archive_lag_target
설명    : 이 매개변수는 시간 기반의 스레드 고급 기능과 관련됩니다. 
사용 가능한 값 : 0 또는 [60, 7200]의 모든 정수입니다.
기본값 : 기본값은 0으로 시간 기반의 스레드 고급 기능을 비활성화합니다.

            그렇지 않은 경우 값은 초 단위의 숫자로 표시됩니다.

 

audit_file_dest
설명    : 데이터베이스에 대한 모든 SYSDBA 또는 INTERNAL 접속이 이 디렉토리에

            감사 파일을 생성합니다. (UNIX의 경우에만)
사용 가능한 값 : 유효한 임의 디렉토리 이름
기본값  : ORACLE_HOME/rdbms/audit

 

audit_trail
설명    : 데이터베이스 감사 기능을 활성화하거나 비활성화합니다.

            감사 레코드는 매개변수 값이 TRUE 또는 DB일 경우에는 SYS.AUD$ 테이블에

            기록되고 매개변수 값이 OS인 경우에는 운영 체제 파일에 기록됩니다.
사용 가능한 값 : NONE | FALSE | DB | TRUE | OS
기본값  : NONE

 

background_core_dump
설명    : 생성된 코어 파일에 SGA 정보를 덤프할지 여부를 지정합니다. (UNIX의 경우)
사용 가능한 값 : FULL | PARTIAL
기본값  : FULL

 

background_dump_dest
설명    : Oracle 작업 중 백그라운드 프로세스(LGWR, DBW n 등)에 대한 추적 파일을

            기록할 경로명(디렉토리 또는 디스크)을 지정합니다. 또한 중요한 이벤트 및 메시지를
            기록하는 데이터베이스 경보 파일의 위치를 정의합니다.
사용 가능한 값 : 유효한 임의 디렉토리 이름입니다.
기본값  : ORACLE_HOME/rdbms/log (운영 체제에 따라 다름)

 

backup_tape_io_slaves
설명    : Recovery Manager 매개변수로 서버 프로세스 또는 추가 입출력 슬래이브를
            사용하여 테이프를 읽거나 테이프에 기록할지 결정합니다.
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE

 

bitmap_merge_area_size
설명    : 인덱스의 범위 스캔을 통해 읽어들인 비트맵을 병합하는 데 사용되는 메모리 크기를

            지정합니다.
사용 가능한 값 : 시스템에 따라 다릅니다.
기본값  : 1MB

 

blank_trimming
설명    : TRUE 값을 지정하면 원본 길이가 대상 길이보다 길더라도 데이터를 할당할

            수 있습니다. (SQL92 호환)
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE

 

buffer_pool_keep
설명    : 객체를 메모리에 보존하여 입출력을 감소시키는데 목적이 있는

            DB_BLOCK_BUFFERS에서 할당된 유지 풀 크기입니다.
사용 가능한 값 : 특정 문자열 값입니다. (예:. buffers:400, lru_latches:3)
기본값  : 없음

 

buffer_pool_recycle
설명    : 객체를 사용한 후 제거하여 메모리를 재사용하기 위해 DB_BLOCK_BUFFERS에서

            할당한 재생 풀 크기입니다.
사용 가능한 값 : 특정 문자열 값입니다. (예: buffers:50, lru_latches:1)
기본값  : 없음

 

circuits
설명    : 수신 및 송신 네트워크 세션에 대해 사용 가능한 가상 회로의 총 수를 지정합니다.

            이 값은 인스턴스의 전체 SGA 요구 사항을 구성하는 몇몇 매개변수 중의 하나입니다.
기본값  : 파생 : 공유 서버 구조를 사용하는 경우 SESSIONS 매개변수 값. 그렇지 않은 경우 0

 

cluster_database
설명    : CLUSTER_DATABASE를 TRUE로 설정하여 Real Application 클러스터 옵션을

            활성화 합니다.
사용 가능한 값 : TRUE | FALSE
기본값 : FALSE

 

cluster_database_instances
설명    : 클러스터 데이터베이스의 일부로 현재 구성되어 있는 인스턴스의 수입니다.

            이 값은 구성된 인스턴스 수에 따라 달라지는 SGA 구조의 크기를 결정할 때 사용됩니다.
            이 매개변수를 제대로 설정하면 SGA의 메모리 사용이 개선됩니다.

            여러 매개변수는 이 값을 사용하여 계산됩니다.
사용 가능한 값 : 0 이 아닌 값입니다.
기본값 : 1

 

cluster_interconnects
설명    : Real Application 클러스터 환경에서 사용할 수 있는 추가 상호 접속입니다.

            단일 상호 접속이 클러스터 데이터베이스의 대역폭 요구 사항을 충분히 만족시키지

            않을때 이 매개변수를 설정해야 합니다. 이 매개변수를 설정하지 않으면 Oracle은

            Oracle 9i Real Application 클러스터 상호 노드 통신에 대한 해당 상호 접속을 확인하는

            현재 의미를 보존합니다. 
사용 가능한 값 : 콜론으로 구분된 하나 이상의 IP 주소입니다.
기본값: NONE

 

compatible
설명    : 이전 릴리스와의 역호환성을 보증하는 동시에 새 릴리스를 사용할 수 있습니다.
사용 가능한 값 : 현재 릴리스를 기본값으로 합니다.
기본값  : 릴리스에 따라 다름

 

commit_point_strength
설명    : 이 값은 분산 트랜잭션에서 커밋 위치 사이트를 결정합니다.
사용 가능한 값 : 0-255 
기본값  : 운영 체제에 따라 다름

 

control_files
설명    : 하나 이상의 제어 파일 이름을 지정합니다. Oracle은 서로 다른 장치 또는
            OS 파일 이중화에 대해 여러 개의 파일을 사용하도록 권장합니다.
사용 가능한 값 : 1 - 8 파일 이름입니다. (경로명 포함)
기본값  : 운영 체제에 따라 다름

 

constrol_file_record_keep_time
설명    : 제어 파일의 재사용 가능 섹션에 있는 레코드를 유지해야 하는 최소 기간(일 수)입니다.
사용 가능한 값 : 0 - 365
기본값  : 7

 

core_dump_dest
설명    : 코어 덤프 위치를 지정하는 디렉토리 이름입니다. (UNIX의 경우)
사용 가능한 값 : 유효한 임의 디렉토리 이름입니다.
기본값  : ORACLE_HOME/dbs

 

cpu_count
설명    : Oracle이 다른 매개변수 값을 계산하는 데 사용할 수 있는 CPU 수입니다.
            이 값은 변경하지 마십시오.
사용 가능한 값 : 0 - 무제한입니다.
기본값  : Oracle이 자동으로 설정함

 

create_bitmap_area_size
설명    : CREATE_BITMAP_AREA_SIZE가 비트맵 인덱스 작성에 할당된 메모리 크기를
            지정합니다.
사용 가능한 값 : 운영 체제에 따라 다릅니다.
기본값  : 8 MB

 

cusor_space_for_time
설명    : 공유 SQL 영역을 커서가 참조하는 동안 공유 풀에 유지할지 또는 일정 시간이 지난 후

            삭제할지 결정합니다.
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE (일정 시간 후 삭제됨)

 

cursor_sharing
설명    : 최종적으로 동일한 공유 커서를 공유할 수 있는 SQL 문의 종류를 제어합니다.
사용 가능한 값 :
             FORCE : 일부 리터럴이 다르지만 명령문의 의미에는 영향을 주지 않고 나머지는
                          동일한 경우 명령문이 커서를 공유하도록 합니다.
             EXACT : 동일한 SQL 문만 커서를 공유하도록 합니다.
기본값  : EXACT

 

db_2k_cache_size
설명    : 2K 버퍼에 대한 캐시 크기를 지정합니다. db_block_size가 2K가 아닌 다른 값을 가지는 
            경우에만 매개변수를 설정할 수 있습니다.
사용 가능한 값 : 0M 또는 적어도 16M입니다. 플랫폼별 블록 크기 제한 사항이 적용됩니다.
기본값: 0M

 

db_4k_cache_size
설명: 4K 버퍼에 대한 캐시 크기를 지정합니다. db_block_size가 4K가 아닌 다른 값을
 가지는 경우에만 매개변수를 설정할 수 있습니다.
사용 가능한 값: 0M 또는 적어도 16M입니다. 플랫폼별 블록 크기 제한 사항이 적용됩
니다.
기본값: 0M

db_8k_cache_size
설명: 8K 버퍼에 대한 캐시 크기를 지정합니다. db_block_size가 8K가 아닌 다른 값을
 가지는 경우에만 매개변수를 설정할 수 있습니다.
사용 가능한 값: 0M 또는 적어도 16M입니다. 플랫폼별 블록 크기 제한 사항이 적용됩
니다.
기본값: 0M

db_16k_cache_size
설명: 16K 버퍼에 대한 캐시 크기를 지정합니다. db_block_size가 16K가 아닌 다른 값
을 가지는 경우에만 매개변수를 설정할 수 있습니다.
사용 가능한 값: 0M 또는 적어도 16M입니다. 플랫폼별 블록 크기 제한 사항이 적용됩
니다.
기본값: 0M

db_32k_cache_size
설명: 32K 버퍼에 대한 캐시 크기를 지정합니다. db_block_size가 32K가 아닌 다른 값
을 가지는 경우에만 매개변수를 설정할 수 있습니다.
사용 가능한 값: 0M 또는 적어도 16M입니다. 플랫폼별 블록 크기 제한 사항이 적용됩
니다.
기본값: 0M

db_block_buffers
설명    : 버퍼 캐시의 Oracle 블록 수입니다. 이 매개변수 값은 인스턴스에 대한 전
체 SGA 크기에 중요한 영향을 줍니다.
사용 가능한 값: 4 - 운영 체제에 따라 다릅니다.
기본값  : 32768

db_block_checking
설명    : 트랜잭션 관리 블록의 손상 여부를 확인할지 제어할 때 사용됩니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

db_block_checksum
설명    : 읽거나 기록한 모든 데이터 블록에 대해 DBWn, ARCH, SQL*Loader가 블록 체
크섬을 계산 또는 확인할지 지정합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

db_block_size
설명    : 오라클 데이터베이스 블록의 크기(바이트)입니다. 이 값은 데이터베이스 생
성 시 설정되며 이후에는 변경할 수 없습니다.
사용 가능한 값: 1024 - 65536입니다. (운영 체제에 따라 다름)
기본값  : 2048(운영 체제에 따라 다름)

db_cache_advice
설명: 다른 캐시 크기를 사용한 예상 작업에 대한 통계 수집을 활성화 및 비활성화합
니다. 정보는 V$DB_CACHE_ADVICE 뷰에 수집됩니다.
사용 가능한 값: OFF--권고가 해제되고 권고에 대한 메모리는 할당되지 않습니다. ON-
-권고가 설정됩니다. (예: CPU 및 메모리 오버헤드가 모두 초래됩니다.) READY--권고
가 해제되지만 권고에 대한 메모리는 할당된 상태로 유지됩니다.
기본값: OFF

db_cache_online_log_dest_1

db_cache_online_log_dest_2

db_cache_online_log_dest_3

db_cache_online_log_dest_4

db_cache_online_log_dest_5
설명: 온라인 로그 및 제어 파일 생성에 대한 기본 위치를 설정합니다. 기본값은 온라
인 로그 또는 제어 파일 생성 중에 파일 이름이 지정되지 않을 때마다 사용됩니다.
사용 가능한 값: 파일 시스템 디렉토리 이름입니다. 디렉토리가 존재해야 합니다. 디
렉토리는 Oracle이 해당 디렉토리에 파일을 생성할 수 있도록 하는 권한을 가져야 합
니다.

db_cache_size
설명: 표준 블록 크기 버퍼에 대한 캐시 크기를 지정합니다.
사용 가능한 값: 적어도 16M입니다.
기본값: 48M

db_create_file_dest
설명: 데이터 파일, 제어 파일 및 온라인 로그 생성에 대한 기본 위치를 설정합니다.
사용 가능한 값: 파일 시스템 디렉토리 이름입니다. 디렉토리가 존재해야 합니다. 디
렉토리는 Oracle이 해당 디렉토리에 파일을 생성할 수 있도록 하는 권한을 가져야 합
니다.

db_domain
설명    : 도메인에 고유한 데이터베이스 이름을 작성하기 위해 권장하는 데이터베이
스 이름의 확장자를 지정합니다. (예: US.ORACLE.COM)
사용 가능한 값: 마침표로 구분된 임의의 문자열로 최대 길이가 128자입니다.
기본값  : WORLD

db_files
설명    : 데이터베이스에 대해 열 수 있는 데이터베이스 파일의 최대 개수입니다.
사용 가능한 값: MAXDATAFILES - 운영 체제에 따라 다릅니다.
기본값  : 운영 체제에 따라 다름 (예: Solaris의 경우 200)

db_file_multiblock_read_count
설명    : 전체 순차 스캔 관련 입출력 작업을 하는 동안 읽어온 최대 블록 수입니다.
 
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 8

db_file_name_convert
설명    : 기본 데이터베이스 상의 새 데이터 파일 이름을 대기 데이터베이스 상의 파
일 이름으로 변환합니다.
사용 가능한 값: 유효한 기본/대기 디렉토리 및 파일 이름 쌍입니다.
기본값  : 없음

db_keep_cache_size
설명: KEEP 버퍼 풀의 버퍼 수를 지정합니다. KEEP 버퍼 풀의 버퍼 크기는 기본 블록
크기(블록 크기는 db_block_size에 의해 정의됨)입니다.
사용 가능한 값: 0 또는 적어도 하나의 미립자 크기(더 작은 값은 미립자 크기로 자동
으로 반올림됨)입니다.
기본값: 0M

db_name
설명    : CREATE DATABASE 문에 지정된 이름과 동일한 데이터베이스 식별자입니다.
사용 가능한 값: 최대 8자의 유효한 임의의 이름입니다.
기본값  : 없음(지정해야 함)

db_recycle_cache_size
설명: RECYCLE 버퍼 풀의 크기를 지정합니다. RECYCLE 풀의 버퍼 크기는 기본 블록 크
기입니다.
사용 가능한 값: 0 또는 적어도 하나의 미립자 크기(더 작은 값은 미립자 크기로 자동
으로 반올림됨)입니다.
기본값: 0M

db_writer_processes
설명    : 인스턴스에 대한 데이터베이스 기록자 프로세스의 초기 개수입니다. DBWR_I
O_SLAVES를 사용하는 경우 하나의 데이터베이스 기록자만 사용됩니다.
사용 가능한 값: 1 - 10
기본값  : 1

dblink_encrypt_login
설명    : 다른 Oracle 서버에 접속 중일 때 데이터베이스 링크에 암호화된 암호를 사
용할지 지정합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

dbwr_io_slaves
설명    : DBW0 프로세스가 사용하는 입출력 슬래이브의 수입니다. DBW0 프로세스와
해당 슬래이브는 항상 디스크에 기록합니다.
사용 가능한 값: 0 - 운영 체제에 따라 다릅니다.
기본값  : 0

dispatchers
설명    : 공유 서버를 사용하여 공유 환경을 설정하기 위한 작업 할당자의 수와 유형
을 설정합니다. 이 매개변수에는 여러 가지 옵션을 지정할 수 있습니다. 따라서 자세
한 내용은 Oracle8i 관리자 설명서와 Oracle Net Administrator's Guide를 참조하십시
오. 예제 문자열 값은 ''(PROTOCOL=TCP)(DISPATCHERS=3)''입니다.
사용 가능한 값: 유효한 매개변수 사양입니다.
기본값  : NULL

distributed_transactions
설명    : 데이터베이스가 한 번에 참여할 수 있는 분산 트랜잭션의 최대 개수입니다.
 네트워크 실패가 비정상적으로 많이 발생하여 많은 수의 미확정 트랜잭션이 생기는
경우 이 값을 줄입니다.
사용 가능한 값: 0 - TRANSACTIONS 매개변수 값입니다.
기본값  : 운영 체제에 따라 다름

disk_asynch_io
설명    : 데이터 파일, 제어 파일, 로그 파일에 대한 입출력이 비동기적인지, 즉 테
이블 스캔 시 프로세스가 입출력 및 CPU 요청과 겹치는지 제어합니다. 사용 중인 플랫
폼이 디스크에 대한 비동기 입출력을 지원할 경우에만 이 매개변수를 변경하십시오.
사용 가능한 값: TRUE | FALSE
기본값  : TRUE

dml_locks
설명    : 모든 사용자에 의해 획득된 테이블 잠금의 최대 개수입니다. DML(데이터 조
작어) 작업을 수행 중인 각 테이블에는 DML(데이터 조작어) 잠금이 필요합니다. 예를
들어, 3명의 사용자가 2개의 테이블을 수정하는 경우 6의 값이 필요합니다.
사용 가능한 값: 0 또는 20부터 무제한입니다.
기본값  : 4 * TRANSACTIONS (파생)

drs_start
Oracle이 DRMON 프로세스를 시작해야 하는지 여부를 결정하도록 합니다. DRMON은 치명
적이지 않은 Oracle 백그라운드 프로세스며 인스턴스가 존재하는 한 존재합니다.
사용 가능한 값: TRUE | FALSE입니다.
기본값: FALSE

 

E
enqueue_resources
설명    : 대기열에 넣으면 공유 리소스에 대해 동시 프로세스를 활성화할 수 있습니
다. 예를 들어, Oracle은 특정 프로세스가 공유 모드로 테이블을 잠그고 다른 프로세
스가 공유 갱신 모드로 해당 테이블을 잠그는 작업을 허용합니다.
사용 가능한 값: 10 - 65535(7.3) 또는 10 - 무제한(8.1)입니다.
기본값  : 파생됨(값이 DML_LOCKS + 20 이상일 경우 적당함)

event
설명    : 오라클 고객 지원 센터에서 시스템을 디버그하는 데 사용합니다. 일반적으
로 변경해서는 안됩니다. \n사용 가능한 값: 사용할 수 없습니다. \n기본값  : 없음


F
fal_client
설명: FAL 서비스(FAL_SERVER 매개변수를 통해 구성)에 의해 사용되는 FAL 클라이언트
 이름이 FAL 클라이언트를 나타내도록 지정합니다. 매개변수 값은 Oracle Net 서비스
이름입니다. 이 Oracle Net 서비스 이름은 FAL 서버 시스템에서 FAL 클라이언트(예:
이 대기 데이터베이스)를 가리키도록 제대로 구성된 것으로 간주됩니다.
사용 가능한 값: Oracle Net 서비스 이름의 문자열 값입니다.

fal_server
설명: 이 대기 데이터베이스에 대한 FAL 서버를 지정합니다. 값은 Oracle Net 서비스
이름입니다. Oracle Net 서비스 이름은 대기 데이터베이스 시스템에서 원하는 FAL 서
버를 가리키도록 제대로 구성된 것으로 간주됩니다.
사용 가능한 값: Oracle Net 서비스 이름의 문자열 값입니다.

fast_start_io_target
설명    : 충돌 또는 인스턴스 복구 중 필요한 입출력의 수를 지정합니다. DB_BLOCK_M
AX_DIRTY_TARGET 값을 사용할 때보다 복구 진행 시간에 대한 더욱 정밀한 제어를 가능
하게 합니다.
사용 가능한 값: 0은 입출력 복구 제한을 사용하지 않고 1000은 캐시의 모든 버퍼를
사용합니다.
기본값  : 캐시의 모든 버퍼

fast_start_mttr_target
설명: 데이터베이스 단일 인스턴스의 고장 복구를 위해 필요한 초 단위의 예측 시간을
 지정합니다. FAST_START_MTTR_TARGET은 해당 복구 시간이 전체 MTTR(평균 복구 시간)
 부분 내에 있도록 데이터베이스 작업을 수정하는 매개변수 집합으로 내부적으로 변환
됩니다. 매개변수는 "fast start fault recovery" 기능을 가지는 이러한 Edition으로
제한됩니다.
사용 가능한 값: [0, 3600]입니다. 이는 데이터 버터 캐시 항목 수 이상의 제한 및 최
대 크기의 로그에 있는 블록 수보다 큰 제한을 계산합니다.
기본값: 0

fast_start_parallel_rollback
설명    : 병렬 롤백 수행 시 최대 프로세스 수를 결정합니다. 대부분의 트랜잭션이
오랫동안 실행 중인 시스템에서 유용합니다.
사용 가능한 값: FALSE | LOW | HIGH
기본값  : LOW (2 * CPU_COUNT)

fixed_date
설명    : SYSDATE가 반환하는 날짜입니다. 시스템 날짜가 아닌 고정된 날짜를 항상
반환해야 할 경우 테스트하는 데 유용합니다. 큰 따옴표를 사용하거나 사용하지 않습
니다. 작은 따옴표는 사용하지 마십시오.
사용 가능한 값: YYYY-MM-DD-HH24:MI:SS 또는 기본 Oracle 날짜 형식입니다.
기본값  : NULL


G
gc_files_to_locks
설명    : 클러스터 데이터베이스 매개변수로 데이터 파일에 대한 PCM(병렬 캐시 관리
) 잠금 매핑을 제어합니다.
구문         : GC_FILES_TO_LOCKS = '{file_list=lock_count[!blocks][R][EACH][:...
]'
기본값  : NULL

global_context_pool_size
설명: 글로벌 응용 프로그램 컨텍스트 저장 및 관리를 위해 할당할 SGA의 메모리 양입
니다.
사용 가능한 값: 모든 정수 값입니다.
기본값: 1M

global_names
설명    : 데이터베이스 링크 이름이 접속하는 데이터베이스 이름과 동일해야 하는지
지정합니다. FALSE로 지정하면 확인을 수행하지 않습니다. 분산 처리의 일관성있는 이
름 지정 규칙을 위해 이 매개변수를 TRUE로 설정하십시오.
사용 가능한 값: TRUE | FALSE
기본값  : TRUE

 


H
hash_ared_size
설명    : 병렬 실행 작업 및 DML(데이터 조작어) 또는 DDL(데이터 정의어) 문에 관련
된 값으로 해시 조인에 사용될 메모리의 최대 크기를 바이트 단위로 지정합니다. 자세
한 내용은 Oracle8i 개념 설명서를 참조하십시오.
사용 가능한 값: 0 - 운영 체제에 따라 다른 값을 가집니다.
기본값  : 파생: 2 * SORT_AREA_SIZE 매개변수 값

hash_join_enabled
설명    : TRUE로 설정된 경우 최적기는 가장 효율적인 조인 방식을 계산할 때 해시
조인을 고려합니다. Oracle은 데이터 웨어하우징 응용 프로그램에 대해 TRUE 값을 사
용하도록 권장합니다.
사용 가능한 값: TRUE | FALSE
기본값  : TRUE

hi_shared_memory_address
설명    : 시스템 글로벌 영역(SGA)의 런타임 시 시작 주소를 지정합니다. SGA의 시작
 주소를 링크 시 지정하는 플랫폼에서는 무시됩니다. 64비트 플랫폼에서는 이 매개변
수를 사용하여 상위 및 하위 32비트를 지정합니다. 설정하지 않은 경우 기본적으로 플
랫폼에 따라 다른 위치로 지정됩니다.
사용 가능한 값: 임의 정수값입니다.
기본값  : 0

hs_autoregister
설명    : 이기종 서비스(HS) 에이전트의 자동 자체 등록을 활성화하거나 비활성화합
니다. 활성화된 경우 동일한 에이전트를 통해 이후에 접속할 때 적은 수의 오버헤드를
 유발하도록 정보를 데이터 딕셔너리로 업로드합니다.
사용 가능한 값: TRUE | FALSE
기본값  : TRUE

 

I
ifile

설명    : 현재 매개변수 파일에 다른 매개변수 파일을 내장시키기 위해 사용합니다.
이 매개변수는 최대 중첩 수준이 3단계를 초과하지 않는 범위 내에서 하나의 매개변수
 파일의 서로 다른 행에 여러 번 포함시킬 수 있습니다.
사용 가능한 값: 유효한 임의 매개변수 파일 이름입니다. (구문: IFILE = parameter_f
ile_name)
기본값  : NULL

instance_groups
설명    : 클러스터 데이터베이스 매개변수로 현재 인스턴스를 콤마로 구분된 목록을
사용하여 지정한 그룹에 할당합니다. 인스턴스 그룹은 병렬 작업에 대해 질의 슬래이
브를 할당할 때 사용됩니다. \n사용 가능한 값: 콤마로 구분된 그룹 이름의 문자열입
니다. \n기본값  : NULL

instance_name
설명    : 여러 인스턴스가 공통 서비스 이름을 공유할 때 각 데이터베이스 인스턴스
를 고유하게 식별합니다. INSTANCE_NAME과 실제로 호스트 상의 인스턴스 공유 메모리
를 고유하게 식별하는 SID를 혼동하시 마십시오.
사용 가능한 값: 임의 영숫자입니다.
기본값  : 데이터베이스 SID

instance_number
설명    : 클러스터 데이터베이스 매개변수로 저장 영역 매개변수 FREELIST GROUPS를
사용하여 생성된 데이터베이스 객체 소유의 사용 가능한 목록 그룹에 대한 인스턴스
매핑에 고유 번호를 지정합니다. ALTER TABLE ... ALLOCATE EXTENT 문의 INSTANCE 절
에 이 값을 사용하여 이 인스턴스에 확장 영역을 동적으로 할당합니다 \nn사용 가능한
 값: 1 - MAX_INSTANCES입니다. (데이터베이스 생성 시 지정됨) \n기본값  : 사용 가
능한 최하위 번호(인스턴스 시작 순서와 다른 인스턴스에 지정된 INSTANCE_NUMBER 값
에 따라 다름)


J
java_max_sessionspace_size

설명    : 서버에서 Java 프로그램 실행에 사용할 수 있는 메모리의 최대 크기를 바이
트 단위로 지정합니다. 특정 데이터베이스 호출에서 다른 데이터베이스 호출로 Java
상태를 저장합니다. 사용자의 세션 지속 시간 Java 상태가 이 값을 초과하면 이 세션
은 메모리 부족 오류로 종료됩니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 0

java_pool_size
설명    : Java 메소드와 클래스 정의 및 호출 끝에 Java 세션 공간으로 이전된 Java
객체의 공유 인메모리 표현을 저장하는 Java 풀 메모리의 크기를 바이트 단위로 지정
합니다. 자세한 내용은 Oracle8i Java Developer's Guide를 참조하십시오.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 운영 체제에 따라 다름

java_soft_sessionspace_limit
설명    : Java 세션에서 사용되는 Java 메모리에 '부분 제한'을 바이트 단위로 지정
합니다. 사용자의 세션 지속 시간 Java 상태가 너무 많은 메모리를 사용하는 경우 Ora
cle은 경고를 생성하고 추적 파일에 메시지를 기록합니다.
사용 가능한 값: 0 - 4GB
기본값  : 0

job_queue_processes
설명    : 복제된 환경에만 관련된 값으로 인스턴스 당 SNP 작업 대기열 프로세스의
수(SNP0, ... SNP9, SNPA, ... SNPZ)를 지정합니다. 테이블 스냅샷을 자동으로 갱신하
거나 DBMS_JOB에 의해 생성된 요청을 수행하려면 이 매개변수 값을 1 이상으로 설정하
십시오.
사용 가능한 값: 0 - 36
기본값  : 0

 

K

L
large_pool_size

설명    : 공유 서버가 세션 메모리, 메시지 버퍼의 병렬 실행 및 RMAN 백업, 디스크
입출력 버퍼 복구에 사용하는 대형 풀 할당 힙의 크기를 지정합니다.
사용 가능한 값: 600K(최소값)에서 >= 20000M(최대값은 운영 체제에 따라 다름)입니다
.
기본값  : 0(병렬 실행 또는 DBWR_IO_SLAVES를 구성하지 않은 경우)

license_max_users
설명    : 데이터베이스에 생성할 수 있는 최대 사용자 수를 지정합니다. 동시 세션
사용 라이센스와 사용자 라이센스를 모두 활성화하지 마십시오. LICENSE_MAX_SESSIONS
나 LICENSE_MAX_USERS 또는 둘 다 0이어야 합니다.
사용 가능한 값: 0에서 사용자 라이센스 수까지입니다.
기본값  : 0

license_max_sessions
설명    : 동시에 허용하는 동시 사용자 세션의 최대 수를 지정합니다. 이 제한 값에
도달하면 RESTRICTED SESSION 권한을 가진 사용자만 서버에 접속할 수 있습니다. 다른
 모든 사용자는 시스템이 최대 용량에 도달했다는 경고 메시지를 받게 됩니다.
사용 가능한 값: 0에서 세션 라이센스 수까지입니다.
기본값  : 0

license_sessions_warning
설명    : 동시 사용자 세션 수의 경고 제한을 지정합니다. 이 제한 값에 도달해도 추
가 사용자가 접속할 수 있지만 ALERT 파일에 메시지가 기록됩니다. RESTRICTED SESSIO
N 권한을 가진 사용자가 접속할 때 시스템이 최대 용량에 근접하고 있다는 경고 메시
지가 표시됩니다.
사용 가능한 값: 0 - LICENSE_MAX_SESSIONS
기본값  : 0

local_listener
설명    : 동일한 시스템의 데이터베이스 인스턴스를 Oracle Net 리스너로 식별하는 O
racle Net 주소 목록입니다. 각 인스턴스와 작업 할당자는 클라이언트 접속을 활성화
하기 위해 리스너에 등록합니다. 이 매개변수는 현재 버전 8.1에서는 사용되지 않는 M
TS_LISTENER_ADDRESS와 MTS_MULTIPLE_LISTENERS 매개변수보다 우선 적용됩니다.
사용 가능한 값: 유효한 Oracle Net 주소 목록입니다.
기본값  : (ADDRESS_LIST=(Address=(Protocol=TCP)(Host=localhost)(Port=1521)) (Add
ress=(Protocol=IPC)(Key=DBname)))

lock_date
설명    : 전체 SGA를 물리적 메모리로 잠글 때 사용됩니다. 이 기능을 지원하지 않는
 플랫폼에서는 무시됩니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

lock_name_space
설명    : 분산 잠금 관리자(DLM)가 잠금 이름을 생성하기 위해 사용하는 네임스페이
스를 지정합니다. 동일한 클러스터에 동일한 데이터베이스 이름을 가진 대기 또는 복
제 데이터베이스가 있을 경우 이 값을 설정해야 합니다.
사용 가능한 값: 최대 8자로 특수 문자를 수락하지 않습니다.
기본값  : NULL

log_archive_dest
설명    : 데이터베이스가 ARCHIVELOG 모드로 실행 중이거나 아카이브된 리두 로그에
서 데이터베이스를 복구하는 중에만 적용 가능합니다. 8.1 Enterprise Edition에서는
LOG_ARCHIVE_DEST_n을 대신 사용해야 합니다.
사용 가능한 값: NULL 문자열 또는 원시 분할 영역을 제외한 유효한 임의 경로 및 장
치 이름입니다.
기본값  : NULL

log_archive_dest_1
설명    : 아카이브된 리두 로그 파일을 복제할 수 있는 5개의 로컬(LOCATION으로 지
정) 또는 원격(SERVICE로 지정) 대상 중 첫번째 대상입니다. 이 매개변수는 Enterpris
e Edition Oracle8i 데이터베이스 이상에 대해서만 유효합니다.
사용 가능한 값: 구문: (null_string | SERVICE=tnsnames-service |LOCATION=director
y-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
기본값  : NULL

log_archive_dest_2
설명    : 아카이브된 리두 로그 파일을 복제할 수 있는 5개의 로컬(LOCATION으로 지
정) 또는 원격(SERVICE로 지정) 대상 중 두번째 대상입니다. 이 매개변수는 Enterpris
e Edition Oracle8i 데이터베이스 이상에 대해서만 유효합니다.
사용 가능한 값: 구문: (null_string | SERVICE=tnsnames-service |LOCATION=director
y-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
기본값  : NULL

log_archive_dest_3
설명    : 아카이브된 리두 로그 파일을 복제할 수 있는 5개의 로컬(LOCATION으로 지
정) 또는 원격(SERVICE로 지정) 대상 중 세번째 대상입니다. 이 매개변수는 Enterpris
e Edition Oracle8i 데이터베이스 이상에 대해서만 유효합니다.
사용 가능한 값: 구문: (null_string | SERVICE=tnsnames-service |LOCATION=director
y-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
기본값  : NULL

log_archive_dest_4
설명    : 아카이브된 리두 로그 파일을 복제할 수 있는 5개의 로컬(LOCATION으로 지
정) 또는 원격(SERVICE로 지정) 대상 중 네번째 대상입니다. 이 매개변수는 Enterpris
e Edition Oracle8i 데이터베이스 이상에 대해서만 유효합니다.
사용 가능한 값: 구문: (null_string | SERVICE=tnsnames-service |LOCATION=director
y-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
기본값  : NULL

log_archive_dest_5
설명    : 아카이브된 리두 로그 파일을 복제할 수 있는 5개의 로컬(LOCATION으로 지
정) 또는 원격(SERVICE로 지정) 대상 중 다섯번째 대상입니다. 이 매개변수는 Enterpr
ise Edition Oracle8i 데이터베이스 이상에 대해서만 유효합니다.
사용 가능한 값: 구문: (null_string | SERVICE=tnsnames-service |LOCATION=director
y-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
기본값  : NULL

log_archive_dest_6

log_archive_dest_7

log_archive_dest_8

log_archive_dest_9

log_archive_dest_10

log_archive_dest_state_1
설명    : 해당 아카이브된 로그 대상 매개변수의 가용성 상태를 지정합니다. (LOG_AR
CHIVE_DEST_1에만 적용됨) 활성화된 경우 로그 대상을 아카이브하고 지연된 경우에는
다시 활성화할 때까지 해당 대상을 아카이브 작업에서 제외합니다.
사용 가능한 값: ENABLE | DEFER
기본값  : ENABLE

log_archive_dest_state_2
설명    : 해당 아카이브된 로그 대상 매개변수의 가용성 상태를 지정합니다. (LOG_AR
CHIVE_DEST_2에만 적용됨) 활성화된 경우 로그 대상을 아카이브하고 지연된 경우에는
다시 활성화할 때까지 해당 대상을 아카이브 작업에서 제외합니다.
사용 가능한 값: ENABLE | DEFER
기본값  : ENABLE

log_archive_dest_state_3
설명    : 해당 아카이브된 로그 대상 매개변수의 가용성 상태를 지정합니다. (LOG_AR
CHIVE_DEST_3에만 적용됨) 활성화된 경우 로그 대상을 아카이브하고 지연된 경우에는
다시 활성화할 때까지 해당 대상을 아카이브 작업에서 제외합니다.
사용 가능한 값: ENABLE | DEFER
기본값  : ENABLE

log_archive_dest_state_4
설명    : 해당 아카이브된 로그 대상 매개변수의 가용성 상태를 지정합니다. (LOG_AR
CHIVE_DEST_4에만 적용됨) 활성화된 경우 로그 대상을 아카이브하고 지연된 경우에는
다시 활성화할 때까지 해당 대상을 아카이브 작업에서 제외합니다.
사용 가능한 값: ENABLE | DEFER
기본값  : ENABLE

log_archive_dest_state_5
설명    : 해당 아카이브된 로그 대상 매개변수의 가용성 상태를 지정합니다. (LOG_AR
CHIVE_DEST_5에만 적용됨) 활성화된 경우 로그 대상을 아카이브하고 지연된 경우에는
다시 활성화할 때까지 해당 대상을 아카이브 작업에서 제외합니다.
사용 가능한 값: ENABLE | DEFER
기본값  : ENABLE

log_archive_dest_state_6
설명: 특정 로그 아카이브 대상의 마지막 사용자 정의 상태를 식별합니다.
사용 가능한 값: ENABLE--대상 속성이 유효한 경우 archivelog 대상을 활성화합니다.
DEFER--대상 속성이 유효한 경우에도 archivelog 대상의 프로세스를 지연시킵니다. AL
TERNATE--대체 대상 속성이 유효한 경우 다른 대상 실패가 이 대상을 자동으로 활성화
하는 시간까지 archivelog 대상의 프로세스를 지연시킵니다.

log_archive_dest_state_7
설명: 특정 로그 아카이브 대상의 마지막 사용자 정의 상태를 식별합니다.
사용 가능한 값: ENABLE--대상 속성이 유효한 경우 archivelog 대상을 활성화합니다.
DEFER--대상 속성이 유효한 경우에도 archivelog 대상의 프로세스를 지연시킵니다. AL
TERNATE--대체 대상 속성이 유효한 경우 다른 대상 실패가 이 대상을 자동으로 활성화
하는 시간까지 archivelog 대상의 프로세스를 지연시킵니다.

log_archive_dest_state_8
설명: 특정 로그 아카이브 대상의 마지막 사용자 정의 상태를 식별합니다.
사용 가능한 값: ENABLE--대상 속성이 유효한 경우 archivelog 대상을 활성화합니다.
DEFER--대상 속성이 유효한 경우에도 archivelog 대상의 프로세스를 지연시킵니다. AL
TERNATE--대체 대상 속성이 유효한 경우 다른 대상 실패가 이 대상을 자동으로 활성화
하는 시간까지 archivelog 대상의 프로세스를 지연시킵니다.

log_archive_dest_state_9
설명: 특정 로그 아카이브 대상의 마지막 사용자 정의 상태를 식별합니다.
사용 가능한 값: ENABLE--대상 속성이 유효한 경우 archivelog 대상을 활성화합니다.
DEFER--대상 속성이 유효한 경우에도 archivelog 대상의 프로세스를 지연시킵니다. AL
TERNATE--대체 대상 속성이 유효한 경우 다른 대상 실패가 이 대상을 자동으로 활성화
하는 시간까지 archivelog 대상의 프로세스를 지연시킵니다.

log_archive_dest_state_10
설명: 아카이브 로그 대상을 지정합니다.
사용 가능한 값: 로컬 파일 시스템 위치(디스크 위치) 또는 Oracle Net 서비스 이름(t
ns 서비스)을 통한 원격 아카이브입니다.

log_archive_duplex_dest
설명    : LOG_ARCHIVE_DEST가 아닌 두번째 아카이브 대상을 지정합니다. 이 매개변수
는 Oracle8i Enterprise Edition에서 LOG_ARCHIVE_DEST_n으로 바뀌었습니다.
사용 가능한 값: NULL 문자열 또는 원시 분할 영역을 제외한 유효한 경로 및 장치 이
름입니다.
기본값  : NULL

log_archive_format
설명    : LOG_ARCHIVE_FORMAT은 데이터베이스가 ARCHIVELOG 모드일 때만 사용할 수 있습니다. 변수 %s(로그 시퀀스 번호) 및 %t(스레드 번호)이(가) 포함된 텍스트 문자
열을 사용하여 아카이브된 리두 로그 파일의 고유한 파일 이름을 지정합니다. 이 문자
열은 LOG_ARCHIVE_DEST 매개변수에 추가됩니다.
사용 가능한 값: 유효한 임의 파일 이름입니다.
기본값  : 운영 체제에 따라 다름

log_archive_max_processes
설명    : 필요한 ARCH 프로세스의 수를 지정합니다. 이 값이 LOG_ARCHIVE_START = TRUE로 설정된 경우 인스턴스 시작 시 평가되거나 SQL*Plus 또는 SQL 구문을 통해 ARCH 프로세스를 호출할 때 평가됩니다.
사용 가능한 값: 1과 10 사이의 임의 정수입니다.
기본값  : 1

log_archive_min_succeed_dest
설명    : 로그 파일을 겹쳐쓰기 전에 복사해야 하는 최소 대상 수를 정의합니다. 이
값은 LOG_ARCHIVE_DEST_n의 MANDATORY 대상 수보다 크거나 같아야 합니다.
사용 가능한 값: 1 - 5입니다. (LOG_ARCHIVE_DEST 및 LOG_ARCHIVE_DUPLEX_DEST와 함께 사용될 경우에는 1 - 2로 제한됨)
기본값  : 1

log_archive_start
설명    : 데이터베이스가 ARCHIVELOG 모드일 때만 적용 가능한 값으로 리두 로그를
자동 또는 수동으로 복사할지 여부를 지정합니다. 권장값은 자동 아카이브를 수행하는
 TRUE입니다. 이 값을 사용하지 않으면 인스턴스 대기를 방지하기 위해 ALTER SYSTEM
ARCHIVE LOG ... 명령을 사용한 수동 개입이 필요합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

log_archive_trace
설명    : 아카이브 로그 프로세스에 의해 생성되는 출력을 제어합니다. 이 프로세스
는 ARCn 백그라운드 프로세스(출력 로그에 ARCn으로 지정됨)에 의해 시작될 수 있습니
다.
 명시적인 세션 호출 포그라운드 프로세스(출력 로그에 ARCH로 지정됨) 또는
 관리 대기의 원격 파일 서버(RFS) 프로세스. 
사용 가능한 값: 
 0: 아카이브 로그 추적 사용 중지(기본값)
 1: 리두 로그 파일 아카이브 추적
 2: 각 아카이브 로그 대상의 아카이브 상태 추적
 4: 아카이브 작업 단계 추적
 8: 아카이브 로그 대상 작업 추적
 16: 세부 아카이브 로그 대상 작업 추적
 32: 아카이브 로그 대상 매개변수 수정 추적
 64: ARCn 프로세스 상태 작업 추적
기본값  : 0

log_buffer
설명    : 리두 항목을 LGWR에 의해 리두 로그 파일에 기록하기 전에 버퍼로 저장하기
 위해 사용되는 메모리 크기를 지정합니다. 리두 항목은 데이터베이스 블록의 변경 사
항 기록을 보존합니다. 특히 실행 시간이 길거나 많은 수의 트랜잭션이 실행 중인 시
스템에서 이 값을 65536 이상으로 설정하면 리두 로그 파일 입출력을 줄일 수 있습니
다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 최대 500K 또는 128K * CPU_COUNT, 이 중 크기가 더 큰 값

log_checkpoint_interval
설명    : 체크포인트가 발생하기 전에 리두 로그 파일에 써야 할 OS 블록(데이터베이
스 블록이 아님)의 수를 지정합니다. 체크포인트는 이 값에 상관없이 항상 로그 전환
시에 발생합니다. 이 값의 크기를 줄이면 인스턴스 복구에 필요한 시간이 감소하지만
과도한 디스크 작업이 유발될 수 있습니다.
사용 가능한 값: 무제한입니다. (0을 지정하면 이 매개변수 기능을 해제함)
기본값  : 운영 체제에 따라 다름

log_checkpoint_timeout
설명    : 다른 체크포인트가 발생할 때까지의 최대 시간을 초 단위로 지정합니다. 이
 시간 초과 값을 0으로 설정하면 시간에 준한 체크포인트 기능을 해제합니다. 이 값의
 크기를 줄이면 인스턴스 복구 시간이 감소하지만 과도한 디스크 작업이 유발될 수 있
습니다.
사용 가능한 값: 0 - 무제한입니다.
기본값  : Oracle8i: 900초, Enterprise Edition: 1800초

log_checkpoints_to_alert
설명    : 체크포인트 정보를 경보 파일에 기록합니다. 이 매개변수를 사용하면 체크
포인트가 원하는 빈도로 발생하는지 결정할 수 있습니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

log_file_name_convert
설명    : 기본 데이터베이스 상의 로그 파일 이름을 대기 데이터베이스 상의 해당 경
로 및 파일 이름으로 변환합니다. 로그 파일을 기본 데이터베이스에 추가할 때 해당
파일을 대기 데이터베이스에도 추가해야 합니다. 이 매개변수는 Oracle7의 LOG_FILE_N
AME_CONVERT 매개변수를 대신합니다.
사용 가능한 값: 유효한 경로/파일 이름, 형식: ''기본 로그 파일의 경로/파일 이름''
,''대기 로그 파일의 경로/파일 이름''
기본값  : NULL

logmnr_max_persistent_sessions


M
max_commit_propagation_delay

설명    : 클러스터 데이터베이스 매개변수로 LGWR이 인스턴스의 SGA에 저장된 SCN(시
스템 변경 번호)을 새로 고칠 때까지 허용된 최대 시간의 길이를 100분의 1초 단위로
지정합니다. SCN은 정기적으로 갱신되지는 않으므로 이 성능 매개변수는 거의 변경할
필요가 없습니다. \n사용 가능한 값: 0 - 90000 \n기본값  : 700

max_dispatchers
설명    : 공유 서버 환경에서 동시에 실행될 수 있는 작업 할당자 프로세스의 최대
수를 지정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 작업 할당자가 구성된 경우 5와 구성된 작업 할당자 수 가운데 큰 값이 기
본값이 됩니다.

max_dump_file_size
설명    : 각 추적 파일의 최대 크기를 지정합니다. 추적 파일이 너무 많은 공간을 차
지하는 경우 이 제한을 변경할 수 있습니다. 덤프 파일 크기를 운영 체제가 허용하는
크기로만 제한하려면 UNLIMITED로 설정합니다.
사용 가능한 값: 0 - UNLIMITED('K' 또는 'M' 단위 사용 가능)
기본값  : 10000블록

max_enabled_roles
설명    : 하위 롤을 포함하여 사용자가 사용할 수 있는 데이터베이스 롤의 최대 수를
 지정합니다. 각 사용자는 PUBLIC과 사용자 고유 롤에 해당하는 2개의 추가 롤을 가지
고 있으므로 실제로 사용자가 활성화할 수 있는 롤의 수는 MAX_ENABLED_ROLES 값에 2
를 더한 값에 해당합니다.
사용 가능한 값: 0 - 148
기본값  : 20

max_rollback_segments
설명    : SGA에서 롤백 세그먼트 캐시의 최대 크기를 지정합니다. 지정된 숫자는 하
나의 인스턴스가 동시에 온라인 상태(즉, INUSE 상태)를 유지할 수 있는 롤백 세그먼
트의 최대 수를 나타냅니다.
사용 가능한 값: 2 - 65535
기본값  : max(30, TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_SEGMENT)

max_shared_servers
설명    : 공유 서버 환경에서 동시에 실행될 수 있는 공유 서버 프로세스의 최대 수
를 지정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 20

max_transaction_branches
설명    : 분산 트랜잭션의 분기 수를 제어합니다. MAX_TRANSACTION_BRANCHES 값을 작
은 값으로 설정하면 (MAX_TRANSACTION_BRANCHES * DISTRIBUTED_TRANSACTIONS * 72바이
트) 값에 따라 공유 풀 메모리를 약간 줄일 수 있습니다. 이 매개변수는 현재 버전 8.
1.3에서는 사용되지 않습니다.
사용 가능한 값: 1 - 32
기본값  : 8

mts_circuits
설명    : 수신 및 송신 네트워크 세션에 대해 사용 가능한 가상 회로의 총 수를 지정
합니다. 이 값은 인스턴스의 전체 SGA 요구 사항을 구성하는 몇몇 매개변수 중의 하나
입니다.
기본값  : 파생: 공유 서버 구조를 사용하는 경우 SESSIONS 매개변수 값. 그렇지 않은
 경우 0

mts_dispatchers
설명    : 공유 서버를 사용하여 공유 환경을 설정하기 위한 작업 할당자의 수와 유형
을 설정합니다. 이 매개변수에는 여러 가지 옵션을 지정할 수 있습니다. 따라서 자세
한 내용은 Oracle8i 관리자 설명서와 Oracle Net Administrator's Guide를 참조하십시
오. 예제 문자열 값은 ''(PROTOCOL=TCP)(DISPATCHERS=3)''입니다.
사용 가능한 값: 유효한 매개변수 사양입니다.
기본값  : NULL

mts_listener_address
설명    : 공유 서버에 대한 리스너 구성을 지정합니다. 리스너 프로세스는 시스템에
서 사용되는 각 네트워크 프로토콜에 대한 접속 요청의 수신 주소가 필요합니다. MTS_
MULTIPLE_LISTENERS=TRUE로 설정된 경우가 아니면 각 항목은 별도의 인접 값을 가져야
 합니다. 이 매개변수는 현재 버전 8.1.3에서는 사용되지 않습니다.
구문         : (ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=7002))
기본값  : NULL

mts_max_dispatchers
설명    : 공유 서버 환경에서 동시에 실행될 수 있는 작업 할당자 프로세스의 최대
수를 지정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 작업 할당자가 구성된 경우 5와 구성된 작업 할당자 수 가운데 큰 값이 기
본값이 됩니다.

mts_max_servers
설명    : 공유 서버 환경에서 동시에 실행될 수 있는 공유 서버 프로세스의 최대 수
를 지정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 20

mts_multiple_listners
설명    : 다중 리스너 주소를 개별 항목 또는 하나의 ADDRESS_LIST 문자열로 지정할
지 결정합니다. TRUE로 설정된 경우 MTS_LISTENER_ADDRESS 매개변수는 다음과 같이 지
정할 수 있습니다.
   (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(PORT=5000)(HOST=zeus))
                 (ADDRESS=(PROTOCOL=decnet)(OBJECT=outa)(NODE=zeus))
이 매개변수는 현재 버전 8.1.3에서는 사용되지 않습니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

mts_service
설명    : 공유 서버 매개변수로 데이터베이스 접속을 구현하기 위해 작업 할당자에
등록된 고유한 서비스 이름을 지정합니다. 작업 할당자를 사용할 수 없을 경우에도 데
이터베이스에 접속하려면 이 값을 인스턴스 이름과 동일하게 설정합니다. 이 매개변수
는 현재 버전 8.1.3에서는 사용되지 않습니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 0

mts_servers
설명    : 공유 서버 환경에서 인스턴스가 시작될 때 생성할 서버 프로세스의 수를 지
정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 1

mts_sessions
설명    : 허용할 공유 서버 구조 사용자 세션의 총 수를 지정합니다. 이 매개변수를
설정하면 전용 서버의 사용자 세션을 예약할 수 있습니다.
사용 가능한 값: 0부터 (SESSIONS - 5)까지 
기본값  : 파생: MTS_CIRCUITS 값과 (SESSIONS - 5) 값 중 작은 값

 


N
nls_calendar

설명    : Oracle이 날짜 형식에 사용할 달력 시스템을 지정합니다. 예를 들어, NLS_C
ALENDAR를 'Japanese Imperial'로 설정하면 날짜 형식은 'E YY-MM-DD'이며 날짜가 1997년 5월 15일인 경우 SYSDATE는 'H 09-05-15'와 같이 표시됩니다.
사용 가능한 값: Arabic Hijrah, English Hijrah, Gregorian, Japanese Imperial, Per
sian, ROC Official (Republic of China), Thai Buddha입니다.
기본값  : Gregorian

nls_comp
설명    : SQL 문에 NLS_SORT를 사용하는 번거로운 프로세스를 피합니다. 일반적으로
WHERE 절의 비교는 이진 값을 대상으로 하지만 문자 비교의 경우에는 NLSSORT 함수가
필요합니다. NLS_COMP를 사용하면 비교가 NLS_SORT 세션 매개변수에 따른 문자 비교임을 나타낼 수 있습니다.
사용 가능한 값: Oracle8i National Language Support Guide에 지정된 10바이트 길이
의 문자열입니다.
기본값  : BINARY 

nls_currency
설명    : L 숫자 형식 요소에 대해 지역 통화 기호로 사용할 문자열을 지정합니다.
이 매개변수의 기본값은 NLS_TERRITORY에 의해 결정됩니다.
사용 가능한 값: Oracle8i National Language Support Guide에 지정된 10바이트 길이
의 문자열입니다.
기본값  : NLS_TERRITORY에서 파생된 값

nls_date_format
설명    : TO_CHAR 및 TO_DATE 함수에 사용할 기본 날짜 형식을 지정합니다. 이 매개
변수의 기본값은 NLS_TERRITORY에 의해 결정됩니다. 이 매개변수는 큰 따옴표로 표시
한 임의의 유효한 날짜 형식 마스크를 값으로 가질 수 있습니다. 예: ''MMM/DD/YYYY''
사용 가능한 값: 일정한 길이를 넘지 않는 임의의 유효한 날짜 형식 마스크입니다.
기본값  : 파생

nls_date_language
설명    : 요일과 달 이름 및 날짜 약자(AM, PM, AD, BC)를 표기할 언어를 지정합니다
. 이 매개변수의 기본값은 NLS_LANGUAGE에 의해 지정된 언어입니다.
사용 가능한 값: 임의의 유효한 NLS_LANGUAGE 값입니다.
기본값  : NLS_LANGUAGE 값

nls_dual_currency
설명    : NLS_TERRITORY에 정의된 기본 이중 통화 기호를 무시할 때 사용됩니다. 기
본 이중 통화 기호는 이 매개변수가 설정되지 않았을 때 사용됩니다. 그렇지 않으면
이 값을 이중 통화 기호로 하는 새 세션이 시작됩니다.
사용 가능한 값: 임의의 유효한 형식 이름입니다.
기본값  : 이중 통화 기호

nls_iso_currency
설명    : C 숫자 형식 요소에 대해 국제 통화 기호로 사용할 문자열을 지정합니다.
이 매개변수의 기본값은 NLS_TERRITORY에 의해 결정됩니다.
사용 가능한 값: 임의의 유효한 NLS_TERRITORY 값입니다.
기본값  : NLS_TERRITORY에서 파생된 값

nls_languge
설명    : 메시지, 요일 및 달 이름, AD, BC, AM, PM과 같은 기호, 기본 정렬 방법에
사용되는 데이터베이스 기본 언어를 지정합니다. 지원되는 언어에는 영어, 프랑스어,
일본어 등이 있습니다.
사용 가능한 값: 임의의 유효한 언어 이름입니다.
기본값  : 운영 체제에 따라 다름

nls_length_semantics
설명: 바이트 또는 코드포인트 의미를 사용하여 새로운 char, varchar2, clob, nchar,
 nvarchar2, nclob 열 생성을 지정합니다. 모든 문자 집합은 자신의 고유한 문자 정의
를 가집니다. 동일한 문자 집합이 클라이언트 및 서버에서 사용될 경우 문자열은 해당
 문자 집합에 의해 정의된 대로 문자 단위로 측정되어야 합니다. 기존의 열은 영향을
받지 않습니다.
사용 가능한 값: BYTE 또는 CHAR입니다.
기본값: nls_length_semantics에 대한 데이터베이스 문자 집합의 문자를 측정하는 항
목에 대해서는 BYTE입니다.

nls_nchar_conv_excp
설명: (TRUE인 경우) 데이터 손실이 암시적 변환에서 발생할 때 오류를 반환하는 매개
변수입니다.
사용 가능한 값: FALSE | TRUE
기본값: TRUE

nls_numeric_characters
설명    : 그룹 구분 기호와 소수점으로 사용할 문자를 지정합니다. 그룹 구분 기호는
 정수 그룹(예: 천, 백만 등)을 구분하는 문자이고 소수점은 숫자의 정수 부분과 소수
 부분을 구분하는 문자입니다. 형식: <decimal_character><group_separator>.
사용 가능한 값: '+', '-', '<', '>'을 제외한 임의의 단일 바이트 문자 
기본값  : NLS_TERRITORY에서 파생된 값

nls_sort
설명    : ORDER BY 질의에 대한 조합 순서를 지정합니다. 이진 정렬의 경우 ORDER BY
 질의에 대한 조합 순서는 숫자 값을 기준으로 합니다. 문자 정렬의 경우 정의된 문자
 정렬 순서로 데이터를 배열하려면 전체 테이블을 스캔해야 합니다.
사용 가능한 값: BINARY 또는 유효한 문자 정의 이름입니다.
기본값  : NLS_LANGUAGE에서 파생된 값

nls_territory
설명    : 날짜와 주 번호 매김, 기본 날짜 형식, 기본 소수점 문자, 그룹 구분 기호,
 기본 ISO 및 지역 통화 기호에 대한 이름 지정 규칙을 지정합니다. 지원되는 지역에
는 미국, 프랑스, 일본 등이 있습니다. 모든 지역에 대한 내용은 Oracle8i National L
anguage Support Guide를 참조하십시오.
사용 가능한 값: 임의의 유효한 지역 이름입니다.
기본값  : 운영 체제에 따라 다름

nls_time_format
설명    : 날짜 시간 필드인 HOUR, MINUTE, SECOND가 포함된 TIME 데이터 유형의 기본
값을 설정하는 문자열 값을 지정합니다.
구문         : TIME '09:26:50'. (값을 7바이트로 저장함)
기본값  : NLS_TERRITORY에서 파생된 값

nls_time_tz_format
설명    : 날짜 시간 필드인 HOUR, MINUTE, SECOND, TIMEZONE_HOUR, TIMEZONE_MINUTE
가 포함된 TIME WITH TIME ZONE 데이터 유형의 기본값을 설정하는 UTC와 TZD 값 쌍을
지정합니다. UTC는 국제 표준 시간이고 TZD는 지역 시간대입니다.
구문         : TIME '09:26:50.20+ 02:00'. (값을 9바이트로 저장함)
기본값  : NLS_TERRITORY에서 파생된 값

nls_timestamp_format
설명    : NLS_TIME_FORMAT와 유사하지만 시간의 HOUR, MINUTE, SECOND 값을 비롯한
날짜의 YEAR, MONTH, DAY 값을 저장하는 TIMESTAMP 데이터 유형의 기본값을 설정합니
다.
구문         : TIMESTAMP '1997-01-31 09:26:50.10'. (값을 11바이트로 저장함)
기본값  : NLS_TERRITORY에서 파생된 값

nls_timestamp_tz_format
설명    : NLS_TIME_TZ_FORMAT과 유사하며 한 쌍의 값으로 날짜의 YEAR, MONTH, DAY
값과 시간의 HOUR, MINUTE, SECOND 값을 비롯한 TIMEZONE_HOUR와 TIMEZONE_MINUTE 값
을 저장하는 TIMESTAMP 데이터의 기본값을 지정합니다.
구문         : TIMESTAMP '1997- 01- 31 09:26:50+ 02: 00'. (값을 13바이트로 저장
함)
기본값  : NLS_TERRITORY에서 파생된 값

 

O
object_cache_max_size_percent

설명    : 세션 객체 캐시가 최적 크기를 초과할 수 있는 최적 캐시 크기 백분율을 지
정합니다. 최대 크기는 최적 크기와 최적 크기에 이 백분율을 곱한 값의 합과 같습니
다. 캐시 크기가 이 최대 크기를 초과하면 시스템은 캐시를 최적 크기로 축소합니다.
사용 가능한 값: 0%에서 운영 체제에 따른 최대값까지입니다.
기본값  : 10%

object_cache_optimal_size
설명    : 캐시 크기가 최대 크기를 초과할 때 세션 객체 캐시를 어느 크기로 축소할
지 지정합니다.
사용 가능한 값: 10K에서 운영 체제 특정 최대값까지입니다.
기본값  : 100K

open_cursors
설명    : 세션이 한 번에 가질 수 있는 열린 커서(컨텍스트 영역)의 최대 수와 사용
자에 의해 재실행되는 명령문을 다시 구문 분석하지 않기 위해 PL/SQL이 사용하는 PL/
SQL 커서 캐시 크기를 지정합니다. 이 값을 충분히 크게 설정하면 응용 프로그램에 의
해 열린 커서가 부족해지는 현상을 방지할 수 있습니다.
사용 가능한 값: 1 에서 운영 체제 제한값까지입니다.
기본값  : 64

open_links
설명    : 하나의 세션에서 원격 데이터베이스에 대해 동시에 열 수 있는 접속의 최대
 수를 지정합니다. 이 값은 모든 데이터베이스를 열어 해당 명령문을 실행할 수 있도
록 여러 데이터베이스를 참조하는 단일 SQL 문에서 언급된 데이터베이스 수보다 크거
나 같아야 합니다.
사용 가능한 값: 0에서 255까지입니다. (0인 경우 분산 트랜잭션 사용 금지)
기본값  : 4

open_links_per_instance
설명    : XA 응용 프로그램의 이전 가능한 열린 접속의 최대 수를 지정합니다. XA 트
랜잭션은 이전 가능한 열린 접속을 사용하여 트랜잭션이 커밋된 후 접속을 캐시로 저
장합니다. 트랜잭션은 접속을 생성한 사용자와 트랜잭션을 소유한 사용자가 동일한 경
우 접속을 공유할 수 있습니다.
사용 가능한 값: 0 - UB4MAXVAL
기본값  : 4

optimizer_features_enable
설명    : 최적기 기능을 제어하는 ini.ora 매개변수의 변경을 허용합니다. 영향을 받
는 매개변수는 PUSH_JOIN_PREDICATE, FAST_FULL_SCAN_ENABLED, COMPLEX_VIEW_MERGING
및 B_TREE_BITMAP_PLANS입니다.
사용 가능한 값: 8.0.0, 8.0.3, 8.0.4, 8.1.3입니다.
기본값  : 8.0.0

optimizer_index_caching
설명    : 중첩 루프 조인의 버퍼 캐시에 저장할 인덱스 블록의 비율에 대한 비용 기
반 가정을 조정합니다. 이 값을 조정하면 인덱스가 사용되는 중첩 루프 조인의 실행
비용에 영향을 줍니다. 이 매개변수 값을 크게 설정하면 최적기가 중첩 루프 조인의
실행에 부담을 덜 느끼게 됩니다.
사용 가능한 값: 0에서 100%까지입니다.
기본값  : 0

optimizer_index_cost_adj
설명    : 고려할 인덱스 액세스 경로의 수가 너무 많거나 너무 적을 때 최적기 성능
을 조정하기 위해 사용됩니다. 작은 값을 설정하면 최적기가 더 자주 인덱스를 선택하
게 됩니다. 즉, 값을 50%로 설정하면 인덱스 액세스 경로의 부담이 정상의 반이 됩니
다.
사용 가능한 값: 1 - 10000
기본값  : 100(인덱스 액세스 경로의 일반적인 비용)

optimizer_max_permutations
설명    : 대규모 조인을 가진 질의를 구문 분석할 때 최적기가 고려하는 테이블 순열
의 수를 제한합니다. 이렇게 하면 질의 구문 분석 시간을 허용 한도 내로 단축시킬 수
 있지만 찾은 계획이 최적이 아닐 수 있습니다. 일반적으로 1000 이하의 값을 사용하
면 구문 분석 시간을 수 초 이내로 유지할 수 있습니다.
사용 가능한 값: 4에서 2^32(~43억)까지입니다.
기본값  : 80,000

optimizer_mode
설명    : 최적기 기능을 지정합니다. RULE로 설정하면 질의에 힌트가 포함되어 있지
않은 경우 규칙 기반 최적기가 사용됩니다. CHOOSE로 설정하면 명령문의 테이블에 통
계가 없는 경우 비용 기반 최적기가 사용됩니다. ALL_ROWS 또는 FIRST_ROWS로 설정하
면 항상 비용 기반 최적기를 사용합니다.
사용 가능한 값: RULE | CHOOSE | FIRST_ROWS | ALL_ROWS
기본값  : CHOOSE

oracle_trace_collection_name
설명    : Oracle Trace 모음 이름을 지정하여 출력 파일 이름(모음 정의 파일 .cdf와
 데이터 모음 파일 .dat)에 사용됩니다. 이 매개변수가 NULL이 아니면 이 값이 다시 N
ULL로 설정될 때까지 ORACLE_TRACE_ENABLE = TRUE로 되어 기본 Oracle Trace 모음이
시작됩니다.
사용 가능한 값: 최대 16자 길이의 유효한 모음 이름입니다. (8자 길이의 파일 이름을
 사용하는 플랫폼 제외)
기본값  : NULL

oracle_trace_collection_path
설명    : Oracle Trace 모음 정의(.cdf)와 데이터 모음(.dat) 파일이 있는 디렉토리
의 경로명을 지정합니다.
사용 가능한 값: 전체 디렉토리 경로명입니다.
기본값  : 운영 체제 지정값(일반적으로 ORACLE_HOME/otrace/admin/cdf)

oracle_trace_collection_size
설명    : Oracle Trace 모음 파일의 최대 크기를 바이트 단위로 지정합니다. 모음 파
일 크기가 이 최대값에 도달하면 모음 기능이 사용 중지됩니다. 범위 값이 0인 경우에
는 크기 제한이 없습니다.
사용 가능한 값: 0 - 4294967295
기본값  : 5242880

oracle_trace_enable
설명    : 서버의 Oracle Trace 모음 기능을 활성화하려면 이 값을 TRUE로 설정하십시
오. TRUE로 설정된 경우 Oracle Trace를 해당 서버에 대해 사용할 수 있습니다. 모음
을 시작하려면 ORACLE_TRACE_COLLECTION_NAME에 NULL이 아닌 값을 지정하거나 Oracle
Trace Manager를 사용하여 모음을 시작합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

oracle_trace_facillty_name
설명    : Oracle Trace 제품 정의 파일 이름(.fdf 파일)을 지정합니다. 이 파일에는
Oracle Trace 데이터 모음 API를 사용하는 제품에 대해 모여진 모든 이벤트 및 데이터
 항목의 정의 정보가 포함되어 있습니다. Oracle은 기본 파일인 ORCLED.FDF의 사용을
권장합니다.
사용 가능한 값: 최대 16자 길이의 유효한 기능 이름입니다.
기본값  : oracled

oracle_trace_facillity_path
설명    : Oracle TRACE 기능 정의(.fdf) 파일이 위치한 디렉토리 경로명을 지정합니
다.
사용 가능한 값: 전체 디렉토리 경로명입니다.
기본값  : ORACLE_HOME/otrace/admin/fdf/(운영 체제에 따라 다름)

os_authent_prefix
설명    : 사용자의 운영 체제 계정 이름과 암호를 사용하여 서버에 접속한 사용자를
인증합니다. 이 매개변수 값은 모든 사용자의 운영 체제 계정의 시작에 연결됩니다. N
ULL값을 지정하면 OS 계정 접두어를 제거할 수 있습니다.
사용 가능한 값: 임의의 식별자입니다.
기본값  : 운영 체제 지정값(일반적으로 'OPS$')

os_roles
설명    : 운영 체제 또는 데이터베이스가 각 사용자의 롤을 식별할지 지정합니다. TR
UE로 설정하면 운영 체제가 모든 데이터베이스 사용자에 대한 롤 부여를 전적으로 관
리합니다. 그렇지 않으면 데이터베이스가 롤을 식별하고 관리합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE


P
parallel_adaptive_multi_user

설명    : 다중 사용자 환경에서 병렬 실행을 사용하여 성능을 향상시키기 위해 고안
된 적응 알고리즘을 활성화하거나 비활성화합니다. 시스템 부하를 바탕으로 요청된 병
렬 실행 수를 자동으로 축소하여 질의 시작 단계에서 이 작업을 수행합니다. PARALLEL
_AUTOMATIC_TUNING = TRUE로 설정된 경우 가장 잘 사용됩니다.
사용 가능한 값: TRUE | FALSE
기본값  : PARALLEL_AUTOMATIC_TUNING = TRUE로 설정된 경우 TRUE, 아니면 FALSE

parallel_automatic_tuning
설명    : TRUE로 설정된 경우 병렬 실행을 제어하는 매개변수의 기본값을 Oracle이
결정합니다. 이 매개변수의 설정과 더불어 시스템의 테이블에 대한 병렬 계산을 설정
해야 합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

parallel_broadcast_enabled
설명    : 해시 또는 병합 조인을 사용하여 소규모 결과 집합(크기는 행이 아닌 바이
트 단위로 측정됨)에 조인된 대량의 결과 집합에 대한 성능 향상을 제공할 수 있습니
다. TRUE로 설정된 경우 최적기는 소규모 결과 집합의 각 행을 보다 큰 집합의 각 클
러스터 데이터베이스 프로세싱 행에 대해 브로드캐스트할 수 있습니다. \n사용 가능한
 값: TRUE | FALSE \n기본값  : FALSE

parallel_execution_message_size
설명    : 병렬 실행(병렬 질의, PDML(병렬 데이터 조작어), 병렬 복구, 복제)의 메시
지 크기를 지정합니다. 2048 또는 4096보다 큰 값을 지정하면 보다 큰 공유 풀이 필요
합니다. PARALLEL_AUTOMATIC_TUNING = TRUE로 설정된 경우 메시지 버퍼는 대형 풀의 외부에 할당됩니다. 사용 가능한 값: 2148에서 무한대입니다.
기본값  : PARALLEL_AUTOMATIC_TUNING이 FALSE로 설정된 경우 일반적으로 2148 또는 PARALLEL_AUTOMATIC_TUNING이 TRUE로 설정된 경우 4096(운영 체제에 따라 다름)

parallel_instance_group
설명    : 클러스터 데이터베이스 매개변수로 병렬 실행 슬래이브 생성에 사용되는 병
렬 인스턴스 그룹의 식별에 사용됩니다. 병렬 작업은 해당 INSTANCE_GROUPS 매개변수
에 일치 그룹을 지정한 인스턴스에 대해서만 병렬 실행 슬래이브를 생성합니다. \n사
용 가능한 값: 그룹 이름을 나타내는 문자열입니다. \n기본값  : 현재 활성화된 모든
인스턴스로 구성된 그룹

parallel_max_servers
설명    : 인스턴스에 대한 병렬 실행 서버 또는 병렬 복구 프로세스의 최대 수를 지
정합니다. 인스턴스 시작 시 할당된 질의 서버의 수는 수요에 따라 이 값까지 증가하
게 됩니다.
사용 가능한 값: 0 - 256
기본값  : CPU_COUNT, PARALLEL_AUTOMATIC_TUNING, PARALLEL_ADAPTIVE_MULTI_USER 값에 따라 다름

parallel_min_percent
설명    : 병렬 실행에 필요한 스레드의 최소 비율을 퍼센트 단위로 지정합니다. 적절
한 수의 질의 슬래이브를 병렬 실행에 사용할 수 없을 경우 오류 메시지를 표시하고
질의가 순차적으로 실행되지 않도록 하려면 이 매개변수를 설정하십시오.
사용 가능한 값: 0 - 100
기본값  : 0(이 매개변수를 사용하지 않음을 나타냄)

parallel_min_servers
설명    : 병렬 실행을 위해 인스턴스를 시작했을 때 Oracle이 생성하는 질의 서버 프
로세스의 최소 개수를 지정합니다.
사용 가능한 값: 0에서 PARALLEL_MAX_SERVERS까지입니다.
기본값  : 0

parallel_server
설명    : 클러스터 데이터베이스 옵션을 활성화하려면 PARALLEL_SERVER를 TRUE로 설정하십시오. \n사용 가능한 값: TRUE | FALSE \n기본값  : FALSE

parallel_server_instances
설명    : 현재 구성된 인스턴스의 수입니다. 이 값은 구성된 인스턴스의 수에 따라 S
GA 구조의 크기를 결정할 때 사용됩니다. 이 매개변수 값을 적당히 설정하면 SGA의 메
모리 사용을 개선할 수 있습니다. 여러 매개변수가 이 값을 사용하여 계산됩니다.
사용 가능한 값: 0이 아닌 임의의 값입니다.
기본값  : 1

parallel_threads_per_cpu
설명    : 병렬 실행 중 또는 병렬 적응 알고리즘 및 로드 밸런싱 알고리즘을 조정하
기 위해 CPU가 처리할 수 있는 스레드 또는 프로세스의 수를 나타냅니다. 대표 질의를
 실행할 때 시스템이 과부하되면 이 값을 줄여야 합니다.
사용 가능한 값: 0이 아닌 임의의 값입니다.
기본값  : 운영 체제에 따라 다름(일반적으로 2)

partition_view_enabled
설명    : PARTITION_VIEW_ENABLED가 TRUE로 설정된 경우 최적기는 분할 영역 보기에서 불필요한 테이블 액세스를 제거하거나 생략합니다. 이 매개변수는 최적기가 기본
테이블에 대한 통계에서 분할 영역 보기에 대한 통계를 계산하는 비용 기반 방법을 변
경할 수 있습니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

pga_aggregate_target
설명: 인스턴스에 첨부된 모든 서버 프로세스의 총 대상 PGA 메모리를 지정합니다. 작
업 영역의 자동 설정을 활성화하기 전에 이 매개변수를 양수 값으로 설정하십시오. 이
 메모리는 SGA에 상주하지 않습니다. 데이터베이스는 사용하는 PGA 메모리의 대상 크
기로 이 매개변수를 사용합니다. 이 매개변수를 설정할 때 Oracle 인스턴스에 대해 사
용 가능한 시스템의 총 메모리에서 SGA를 빼십시오. 남은 메모리는 pga_aggregate_tar
get에 할당할 수 있습니다.
사용 가능한 값: 이 제한을 KB, MB, GB 단위로 지정하기 위해 문자 K, M 또는 G를 붙
인 정수입니다. 최소값은 10M이고 최대값은 4000G입니다. 
기본값: 작업 영역의 자동 조정이 완전히 비활성화되어 있음을 의미하는 "지정되지 않
음"입니다.

pl_sql_compiler_flags
설명: PL/SQL 컴파일러에 의해 사용됩니다. 컴파일러 플래그 목록을 콤마로 구분된 문
자열 목록으로 지정합니다.
사용 가능한 값: native(PL/SQL 모듈이 원시 코드로 컴파일됨), interpreted(PL/SQL
모듈이 PL/SQL 바이트 코드 형식으로 컴파일됨), debug(PL/SQL 모듈이 조사 디버그 기
호를 사용하여 컴파일됨), non_debug입니다.
기본값: " interpreted, non_debug "

plsql_native_c_compiler
설명: 생성된 C 파일을 객체 파일로 컴파일하는 데 사용되는 C 컴파일러의 전체 경로
명을 지정합니다. 이 매개변수는 선택 사항입니다. 각 플랫폼에 제공되는 플랫폼별 ma
ke 파일은 이 매개변수에 대한 기본값을 포함합니다. 값이 이 매개변수에 대해 지정되
는 경우 해당 값은 make 파일의 기본값보다 우선 적용됩니다.
사용 가능한 값: C 컴파일러의 전체 경로입니다.
기본값: 없음

plsql_native_library_subdir_count

plsql_native_library_dir
설명: PL/SQL 컴파일러에 의해 사용됩니다. 원시 컴파일러에 의해 만들어진 공유 객체
가 있는 디렉토리명을 지정합니다.
사용 가능한 값: 디렉토리명입니다.
기본값: 없음

plsql_native_linker
설명: 이 매개변수는 객체 파일을 공유 객체나 DLL에 링크시키는 데 사용하는 UNIX의
ID 또는 GNU lD와 같은 링커의 전체 경로명을 지정합니다. 이 매개변수는 선택 사항입
니다. 각 플랫폼에 제공되는 플랫폼별 make 파일은 이 매개변수에 대한 기본값을 포함
합니다. 값이 이 매개변수에 대해 지정되는 경우 해당 값은 make 파일의 기본값보다
우선 적용됩니다.
사용 가능한 값: 링커의 전체 경로명입니다.
기본값: 없음

plsql_native_make_file_name
설명: make 파일의 전체 경로명을 지정합니다. make 유틸리티(PLSQL_NATIVE_MAKE_UTIL
ITY에 의해 지정됨)는 이 make 파일을 사용하여 공유 객체나 DLL을 생성합니다. 해당
플랫폼에 DLL을 생성하는 make 유틸리티에 대한 규칙을 포함하는 포트별 make 파일이
각 플랫폼에 제공됩니다.
사용 가능한 값: make 파일의 전체 경로명입니다.
기본값: 없음

plsql_native_make_utility
설명: UNIX의 make 또는 gmake(GNU make)와 같은 make 유틸리티의 전체 경로명을 지정합니다. make 유틸리티는 생성된 C 소스에서 공유 객체나 DLL을 생성하는 데 필요합니다.
사용 가능한 값: make 유틸리티의 전체 경로명입니다.
기본값: 없음

plsql_v2_compatibility
설명    : PL/SQL의 호환성 수준을 설정합니다. FALSE로 설정된 경우 PL/SQL V3 기능
을 사용하고 V2 기능은 금지됩니다. 그렇지 않은 경우 PL/SQL V3를 실행할 때 특정 PL
/SQL V2 기능이 허용됩니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

pre_page_sga
설명    : 플랫폼에 따라 결정되는 매개변수로 TRUE로 설정된 경우 모든 SGA 페이지를
 메모리로 로드하여 인스턴스가 신속하게 최대 성능에 도달할 수 있도록 합니다. 따라
서 이렇게 하면 인스턴스 시작 및 사용자 로그인 시간이 길어지지만 충분한 메모리를
확보하여 시스템 상의 페이지 오류를 줄일 수 있습니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

processes
설명    : Oracle 서버에 동시에 접속할 수 있는 운영 체제 사용자 프로세스의 최대
수를 지정합니다. 이 값은 작업 대기열(SNP)과 병렬 실행(Pnnn) 프로세스와 같은 모든
 백그라운드 프로세스의 수를 고려해야 합니다.
사용 가능한 값: 6에서 운영 체제 특정 값까지입니다.
기본값  : PARALLEL_MAX_SERVERS 값에 따라 다름

 

Q
query_rewrite_enabled

설명    : 구체화된 뷰에 대한 질의 재작성을 활성화하거나 비활성화합니다. 세션 매
개변수 및 별개의 구체화된 뷰가 모두 활성화되고 비용 기반 최적화가 활성화된 경우
에만 특정 구체화된 뷰를 활성화합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

query_rewrite_integrity
설명    : Oracle 서버에 의해 강제로 실행되는 질의 재작성의 정도를 나타냅니다. EN
FORCED로 설정된 경우 Oracle이 일관성과 무결성을 보증하게 됩니다. TRUSTED로 설정
된 경우 선언된 관계를 사용한 재작성이 가능합니다. STALE_TOLERATED로 설정된 경우
구체화된 뷰는 비록 기본 데이터와 일치하지 않는 경우라도 재작성할 수 있습니다.
사용 가능한 값: ENFORCED, TRUSTED, STALE_TOLERATED
기본값  : ENFORCED

 

R
rdbms_server_dn

설명    : RDBMS 서버의 식별 이름입니다. 이 이름은 전사적인 디렉토리 서비스에서
전사적인 롤을 읽어 들이는 데 사용됩니다. 자세한 내용은 Oracle Advanced Security
Administrator's Guide를 참조하십시오.
사용 가능한 값: 모든 X.500 식별 이름 형식의 값입니다.
기본값  : 없음

read_only_open_delayed
설명    : 대부분의 데이터가 읽기 전용 테이블스페이스에 저장된 대규모 데이터베이
스의 시작과 같은 특정 작업의 처리 속도를 향상시키는 데 사용됩니다. TRUE로 설정된
 경우 테이블스페이스에서 데이터를 읽을 때 읽기 전용 테이블스페이스의 데이터에 먼
저 액세스합니다. 가능한 부작용에 대한 내용은 서버 참조 설명서를 참조하십시오.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

recovery_parallelism
설명    : 인스턴스 또는 매체 복구에 참여하는 프로세스의 수를 지정합니다. 0 또는
1의 값을 지정하면 단일 프로세스가 복구를 순차적으로 수행합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다. (PARALLEL_MAX_SERVERS 값을 초과할 수
없음)
기본값  : 운영 체제에 따라 다름

remote_archive_enable
설명: 원격 대상에 대한 리두 로그 파일의 아카이브가 허용되는지 여부를 제어합니다.
 오라클 데이터베이스 인스턴스가 REDO 로그 파일을 원격으로 아카이브하거나 아카이
브 REDO 로그 파일을 원격으로 받으려면 매개변수를 값 "TRUE"로 설정해야 합니다.
사용 가능한 값: FALSE | TRUE
기본값: TRUE

remote_dependencies_mode
설명    : 원격 PL/SQL 내장 프로시저에 대한 종속성을 데이터베이스가 처리하는 방법
을 지정하는 데 사용됩니다. TIMESTAMP로 설정하면 서버와 로컬 시간 기록이 일치할
경우에만 프로시저가 실행됩니다. SIGNATURE로 설정하면 서명이 유효한 경우 프로시저
가 실행됩니다.
사용 가능한 값: TIMESTAMP | SIGNATURE
기본값  : TIMESTAMP

remote_listener

remote_login_passwordfile
설명    : 권한 사용자의 암호를 운영 체제에서 확인할지 파일로 확인할지 지정합니다
. NONE으로 설정하면 Oracle은 암호 파일을 무시합니다. EXCLUSIVE로 설정하면 각 권
한 사용자를 데이터베이스의 암호 파일을 사용하여 인증합니다. SHARED로 설정하면 많
은 수의 데이터베이스가 SYS 및 INTERNAL 암호 파일 사용자를 공유합니다.
사용 가능한 값: NONE | SHARED | EXCLUSIVE
기본값  : NONE

remote_os_authent
설명    : REMOTE_OS_AUTHENT를 TRUE로 설정하면 OS_AUTHENT_PREFIX 값을 사용한 원격
 클라이언트의 인증을 허용합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

remote_os_roles
설명    : REMOTE_OS_ROLES를 TRUE로 설정하면 운영 체제가 원격 클라이언트에 대한
롤을 지정할 수 있습니다. FALSE로 설정하면 원격 클라이언트에 대한 롤은 데이터베이
스가 식별하고 관리합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

replication_dependency_tracking
설명    : 복제 서버가 변경 사항을 병렬로 전달하려면 종속성 추적이 중요합니다. FA
LSE로 설정하면 데이터베이스에 대한 읽기/쓰기 작업의 실행 속도는 빨라지지만 복제
서버에 대한 병렬 전달 종속 정보는 생성되지 않습니다.
사용 가능한 값: TRUE | FALSE
기본값  : TRUE(읽기/쓰기 종속성 추적 활성화)

resource_limit
설명    : 데이터베이스 프로파일에 리소스 제한의 강제 수행 여부를 결정합니다. FAL
SE로 설정하면 리소스 제한의 강제 적용을 비활성화하고, TRUE 값으로 설정하면 리소
스 제한의 강제 적용을 활성화합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

resource_manager_plan
설명    : 지정된 경우 리소스 관리자가 인스턴스의 계획과 모든 종속 항목(하위 계획
, 지침 및 소비자 그룹)을 활성화합니다. 지정되지 않은 경우 리소스 관리자는 비활성
화되지만 ALTER SYSTEM 명령을 사용하면 활성화할 수 있습니다.
사용 가능한 값: 임의의 유효한 문자열입니다.
기본값  : NULL

rollback_segments
설명    : 값이 TRANSACTIONS / TRANSACTIONS_PER_ROLLBACK_SEGMENT 값을 초과하더라
도 인스턴스 시작 중 획득할 하나 이상의 롤백 세그먼트를 지정합니다. 형식: ROLLBAC
K_SEGMENTS = (rbseg_name [, rbseg_name] ... )
사용 가능한 값: DBA_ROLLBACK_SEGS에 나열된 임의의 롤백 세그먼트 이름입니다. (SYS
TEM 제외)
기본값  : NULL(공용 롤백 세그먼트가 기본값으로 사용됨)

row_locking
설명    : 테이블 갱신 시 행 잠금의 획득 여부를 지정합니다. ALWAYS로 설정하면 테
이블이 갱신될 때만 행 잠금을 획득합니다. INTENT로 설정하면 SELECT FOR UPDATE에
대해 행 잠금만 사용되지만 갱신 시에는 테이블 잠금을 획득합니다.
사용 가능한 값: ALWAYS | DEFAULT | INTENT
기본값  : ALWAYS

 

S
serial_reuse

설명    : 직렬의 재사용 가능 메모리 기능을 사용할 SQL 커서의 유형을 지정합니다.
CURSOR_SPACE_FOR_TIME = TRUE로 설정된 경우 SERIAL_REUSE 값은 무시되어 DISABLE 또
는 NULL로 설정된 것으로 처리됩니다.
사용 가능한 값: DISABLE | SELECT | DML | PLSQL | ALL | NULL
기본값  : NULL

serializable
설명    : 질의가 테이블 수준의 읽기 잠금을 획득하여 해당 질의가 포함된 트랜잭션
이 커밋될 때까지 모든 객체 읽기 갱신을 금지할지 결정합니다. 이 작업 모드는 반복
가능한 읽기를 제공하여 동일한 트랜잭션 내의 동일한 데이터에 대한 두 개의 질의가
동일한 값을 반환하는지 확인할 수 있습니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

session_cached_cursors
설명    : 캐시로 저장할 세션 커서의 수를 지정합니다. 동일한 SQL 문을 여러 번 구
문 분석하면 해당 세션 커서가 세션 커서 캐시로 이동합니다. 이렇게 하면 커서가 캐
시로 저장되어 다시 열 필요가 없으므로 구문 분석 시간이 줄어듭니다.
사용 가능한 값: 0에서 운영 체제 특정 값까지입니다.
기본값  : 0

session_max_open_files
설명    : 특정 세션에서 열 수 있는 BFILE의 최대 수를 지정합니다. 이 값에 도달하
면 추가로 파일을 열기 위한 이후의 시도는 실패하게 됩니다. 이 매개변수는 운영 체
제 매개변수인 MAX_OPEN_FILES에도 종속됩니다.
사용 가능한 값: 1에서 (50, OS 수준의 MAX_OPEN_FILES)의 최소값입니다.
기본값  : 10

sessions
설명    : 사용자와 시스템 세션의 총 수를 지정합니다. 기본값은 순환 세션의 수를
고려하여 PROCESSES 값보다 큽니다.
사용 가능한 값: 임의의 정수값입니다.
기본값  : 파생(1.1 * PROCESSES + 5)

service_names
설명    : Oracle Net 리스너가 복제된 환경의 특정 데이터베이스와 같은 단일 서비스
를 식별하기 위해 사용할 수 있는 인스턴스의 서비스 이름을 지정합니다. 서비스에 도
메인이 없으면 DB_DOMAIN 매개변수가 추가됩니다.
구문         : SERVICE_NAMES = name1.domain, name2.domain
기본값  : DB_NAME.DB_DOMAIN(정의된 경우)

shadow_core_dump
설명    : UNIX에서만 사용되는 매개변수로 생성된 코어 파일에 SGA 정보를 덤프할지
지정합니다. FULL로 설정하면 SGA가 코어 덤프에 포함됩니다. PARTIAL로 설정하면 SGA
는 덤프되지 않습니다.
사용 가능한 값: FULL | PARTIAL
기본값  : FULL

shared_memory_address
설명    : SHARED_MEMORY_ADDRESS와 HI_SHARED_MEMORY_ADDRESS는 런타임 시 SGA의 시
작 주소를 지정합니다. 많은 플랫폼에서는 SGA의 시작 주소를 링크 시 지정하므로 이
러한 매개변수는 해당 플랫폼에서 무시됩니다. 두 매개변수가 모두 0 또는 NULL일 경
우 주소는 플랫폼 고유값을 사용하게 됩니다.
사용 가능한 값: 임의의 정수값입니다.
기본값  : 0

shared_pool_reserved_size
설명    : 단편화로 인한 성능 저하를 피하기 위해 공유 풀 메모리의 연속된 대규모
요청에 대해 예약된 공간을 지정합니다. 이러한 풀은 공유 풀에서 객체를 비우지 않도
록 공통적으로 필요한 모든 대규모 프로시저 및 패키지를 저장할 수 있는 크기여야 합
니다.
사용 가능한 값: SHARED_POOL_RESERVED_MIN_ALLOC에서 0.5 *
 SHARED_POOL_SIZE까지입니다. (바이트 단위)
기본값  : SHARED_POOL_SIZE 값의 5%

shared_pool_size
설명    : 공유 풀의 크기를 바이트 단위로 지정합니다. 공유 풀에는 공유 커서, 내장
 프로시저, 제어 구조 및 병렬 실행 메시지 버퍼와 같은 객체가 포함되어 있습니다.
이 값을 크게 설정하면 다중 사용자 환경에서 성능을 향상시킬 수 있습니다.
사용 가능한 값: 300 KB에서 운영 체제 특정 값입니다.
기본값  : 64비트인 경우 64MB, 아니면 16MB

shared_server_sessions
설명    : 허용할 공유 서버 구조 사용자 세션의 총 수를 지정합니다. 이 매개변수를
설정하면 전용 서버의 사용자 세션을 예약할 수 있습니다.
사용 가능한 값: 0부터 (SESSIONS - 5)까지 
기본값  : 파생: MTS_CIRCUITS 값과 (SESSIONS - 5) 값 중 작은 값

shared_servers
설명    : 공유 서버 환경에서 인스턴스가 시작될 때 생성할 서버 프로세스의 수를 지
정합니다.
사용 가능한 값: 운영 체제에 따라 다릅니다.
기본값  : 1

sga_max_size
설명: 인스턴스 사용 기간에 대한 시스템 글로벌 영역의 최대 크기를 지정합니다.
사용 가능한 값: 운영 체제에 따라 0입니다. 시작 시 최소값을 조정하면 부적절하다는
 것에 유념하십시오.
기본값: 지정된 값이 없는 경우 sga_max_size의 기본값은 시작 시 SGA의 초기 크기, X
와 동일합니다. 이 크기는 SGA에서의 다른 풀(예: 버퍼 캐시, 공유 풀, 대형 풀 등)
크기에 따라 다릅니다. 값이 X보다 작은 것으로 지정되는 경우 사용 중인 sga_max_siz
e의 크기는 X가 됩니다. 즉, 최대값(X는 사용자가 지정한 sga_max_size 값)입니다.

sort_area_retained_size
설명    : 정렬 실행이 완료된 후 보유한 사용자 전역 영역(UGA) 메모리의 최대 크기
를 지정합니다. 이 메모리는 정렬 공간에서 마지막 행이 인출된 후 운영 체제가 아닌
UGA로 환원됩니다.
사용 가능한 값: 두 개의 데이터베이스 블록에 해당하는 값부터 SORT_AREA_SIZE 값까
지입니다.
기본값  : SORT_AREA_SIZE 값

sort_area_size
설명    : SORT_AREA_SIZE는 정렬에 사용하는 메모리의 최대 크기를 바이트 단위로 지
정합니다. 정렬이 완료된 후 행은 반환되고 메모리는 해제됩니다. 대규모 정렬의 효율
성을 향상시키려면 이 크기를 증가시키십시오. 메모리가 초과되면 임시 디스크 세그먼
트를 사용합니다.
사용 가능한 값: 6개의 데이터베이스 블록에 해당하는 값(최소값)에서 운영 체제 특정
 값(최대값)까지입니다.
기본값  : 운영 체제에 따라 다름

spfile
설명: 사용 중인 현재 서버 매개변수 파일의 이름을 지정합니다.
사용 가능한 값: 정적 매개변수
기본값: SPFILE 매개변수는 사용할 서버 매개변수 파일의 이름을 나타내기 위해 클라
이언트측 PFILE에 정의될 수 있습니다. 서버에서 기본 서버 매개변수 파일을 사용하는
 경우 SPFILE 값은 서버에 의해 내부적으로 설정됩니다.

sql_trace
설명    : SQL 추적 기능을 활성화하거나 비활성화합니다. TRUE로 설정된 경우 성능
개선에 유용한 조정 정보를 수집합니다. SQL 추적 기능은 시스템 오버헤드를 유발하므
로 TRUE 설정은 조정 정보가 필요한 경우에만 사용해야 합니다.
사용 가능한 값: TRUE | FALSE
기본값  : FALSE

sql_version
설명    :  사용되지 않음

sql92_security
설명: 해당 참조 테이블 열 값의 갱신 또는 삭제를 실행하는 데 테이블 수준 SELECT
권한이 필요한지 여부를 지정합니다.
사용 가능한 값: TRUE | FALSE
기본값: FALSE

standby_archive_dest
설명    : 기본 인스턴스의 아카이브 로그 위치를 지정합니다. STANDBY_ARCHIVE_DEST
및 LOG_ARCHIVE_FORMAT 값을 사용하여 대기 사이트의 전체 아카이브 로그 파일 이름을
 구성합니다. 대기 데이터베이스의 RFS 서버는 ARCHIVE_LOG_DEST 값이 아닌 이 값을
사용합니다.
사용 가능한 값: NULL 문자열 또는 원시 장치 이름을 제외한 유효한 경로/장치 이름입
니다.
기본값  : NULL

standby_file_management

standby_preservs_names
설명: 대기 데이터베이스의 파일 이름이 기본 데이터베이스의 파일 이름과 동일한지
여부를 나타냅니다.
사용 가능한 값: TRUE 또는 FALSE입니다. 참고: 값을 True로 설정하고 대기 데이터베
이스가 기본 데이터베이스와 동일한 시스템에 있는 경우 기본 데이터베이스 파일은 겹
쳐쓰여질 수 있습니다.
기본값: FALSE입니다.

 

start_transformation_enabled
설명    : 스타 질의에 대해 비용 기반 질의 변환의 적용 여부를 결정합니다.
            TRUE로 설정된 경우 최적기는 스타 질의에 대한 비용 기반 변환을 고려합니다.
            FALSE로 설정된 경우 변환을 사용하지 않습니다.
            TEMP_DISABLE로 설정하면 질의 변환을 고려하지만 임시 테이블은 사용되지 않습니다.
사용 가능한 값 : TRUE | FALSE | TEMP_DISABLE
기본값  : FALSE


tape_asynch_io
설명    : 순차 장치에 대한 비동기 입출력(예: Oracle 입출력 테이프 데이터의 BACKUP 또는
            RESTORE) 제어에 사용됩니다. TRUE 값은 사용 중인 플랫폼이 기록 장치에 대한
            비동기 입출력을 지원하는 경우에만 유효합니다. 비동기 입출력 구현이 안정적이지 
            않을 때는 FALSE 값을 사용하십시오.
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE

 

thread
설명    : 클러스터 데이터베이스 매개변수로 각 인스턴스에 대한 고유한 리두 스레드
            번호를 지정합니다. 인스턴스의 리두 스레드를 비활성화하면 해당 인스턴스를
            시작할 수 없습니다. 0으로 설정하면 활성화된 사용 가능한 공용 스레드를 선택하게
            됩니다.
사용 가능한 값 : 0에서 활성화된 최대 스레드 수까지입니다.

기본값  : 0

 

timed_statistics
설명    : 데이터베이스와 SQL 문을 조정하는 데 사용할 수 있는 운영 체제 시간 정보를
            수집합니다. 운영 체제에서 시간을 요청하는 오버헤드를 방지하려면 이 값을 0으로
            설정합니다. TRUE로 설정하면 오래 지속되는 작업의 진행 상황을 보는 데 유용하게 
            사용할 수 있습니다.
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE

 

timed_os_statistics
설명    : 시스템 관리자가 운영 체제 통계를 수집하기 위해 사용합니다.
            리소스를 효율적으로 사용하기 위해 필요한 경우에만 이 값을 설정합니다.
            전용 서버의 경우 운영체제 통계는 사용자가 접속 및 접속 해제하거나 지정된
            시간 제한이 만료되어 호출이 인출될 때 수집됩니다. 공유 서버의 경우 통계는
            인출 또는 인입된 호출에 대해 수집 됩니다.
사용 가능한 값 : 초 단위의 시간입니다.
기본값  : 0 (운영 체제 통계 새로 고침 없음)

 

trace_enabled

 

tracefile_identifier

 

transaction_auditing
설명    : 트랜잭션 계층이 사용자 로그온 이름, 사용자 이름, 세션 ID, 일부 운영 체제 정보 및
            클라이언트 정보를 포함한 특수한 리두 레코드를 생성할지 결정합니다.
            이러한 레코드는 리두 로그 분석 도구를 사용할 때 유용할 수 있습니다.
사용 가능한 값 : TRUE | FALSE
기본값  : TRUE

 

transactions
설명    : 동시 트랜잭션의 최대 수를 지정합니다. 이 값을 크게 설정하면 SGA 크기가 증가하여
            인스턴스 시작 시 할당된 롤백 세그먼트 수를 증가시킬 수 있습니다.
            기본값은 순환 트랜잭션 수를 고려하여 SESSIONS 값 크기보다 큽니다.
사용 가능한 값 : 숫자입니다.
기본값  : 파생(1.1 * SESSIONS)

 

transactions_per_rollback_segment
설명    : 롤백 세그먼트당 허용된 동시 트랜잭션의 수를 지정합니다.
            시작 시 획득하는 롤백 세그먼트의 최소 수는 TRANSACTIONS 값을 이 매개변수
            값으로 나눈 값에 해당합니다.
            롤백 세그먼트 이름을 ROLLBACK_SEGMENTS 매개변수에 지정하면 더 많은 수의 
            롤백 세그먼트를 획득할 수 있습니다.
사용 가능한 값 : 1에서 운영 체제 특정 값까지입니다.
기본값  : 5


undo_retention
설명    : UNDO_RETENTION 매개변수는 데이터베이스에 보유할 커밋된 실행 취소 정보의 양을
            지정하는 데 사용됩니다. 매개변수 값은 인스턴스 시작 시간에 설정할 수 있습니다. 
            실행 취소 보존 공간 요구 사항을 만족시키는 데 필요한 실행 취소 공간의 양은 다음과
            같이 계산될 수 있습니다.
            UndoSpace = RD * UPS.
            여기서 UndoSpace는 실행 취소 블록 수로 나타나고 RD는 초 단위의
            UNDO_RETENTION으로 나타나며 UPS는 초당 실행 취소 블록 수로 나타납니다.
사용 가능한 값 : 허용 최대값은 (2 ** 32)초입니다.
기본값 : 30초입니다.

 

undo_management
설명    : 시스템이 사용해야 하는 실행 취소 공간 관리 모드를 지정합니다. 
            AUTO로 설정할 경우 인스턴스는 SMU 모드로 시작됩니다.
            그렇지 않은 경우 RBU 모드로 시작됩니다.
            RBU 모드에서 실행 취소 공간은 롤백 세그먼트로 외부적으로 할당됩니다.
            SMU 모드에서 실행 취소 공간은 실행 취소 테이블스페이스로 외부적으로 할당됩니다.
사용 가능한 값 : Auto 또는 Manual
기본값 : 첫번째 인스턴스가 시작될 때 UNDO_MANAGEMENT 매개변수가 생략되는 경우
            MANUAL의 기본값이 사용되며 인스턴스는 RBU 모드로 시작됩니다.
            첫번째 인스턴스가 아닌 경우 인스턴스는 모든 다른 기존의 인스턴스와 동일한
            실행 취소 모드로 시작됩니다.

 

undo_suppress_errors
설명    : 사용자가 SMU 모드로 RBU 작업(예: ALTER ROLLBACK SEGMENT ONLINE) 실행을
            시도하는 동안 오류를 방지할 수 있도록 합니다. 사용자는 모든 응용 프로그램 및
            스크립트가 SMU 모드로 변환되기 전에 SMU 기능을 사용할 수 있습니다.
사용 가능한 값 : True 또는 False
기본값: False입니다.

 

undo_tablespace
설명    : 실행 취소 테이블스페이스는 실행 취소 정보를 저장하는 데 단독으로 사용됩니다.
            UNDO_TABLESPACE는 SMU(시스템 관리 실행 취소) 모드로만 사용할 수 있습니다.
            지정된 실행 취소 테이블스페이스, <undoname>은 인스턴스에 의해 사용됩니다.
            테이블스페이스가 존재하지 않는 경우, 실행 취소 테이블스페이스가 아닌 경우 또는
            다른 인스턴스에 의해 사용 중인 경우 인스턴스 STARTUP은 실패합니다.
기본값 : 각 데이터베이스는 0 또는 더 많은 실행 취소 테이블스페이스를 포함합니다.
            SMU 모드에서 각 ORACLE 인스턴스는 하나의 실행 취소 테이블스페이스에 할당됩니다.

 

use_indirect_data_buffers
설명    : 4GB 이상의 물리적 메모리를 지원할 수 있는 32비트 플랫폼에 대해 확장된
            버퍼 캐시 방식의 사용을 제어합니다. 다른 플랫폼에서는 무시됩니다.
사용 가능한 값 : TRUE | FALSE
기본값  : FALSE

 

user_dump_dest
설명    : 사용자 프로세스를 대신하여 디버깅 추적 파일을 기록할 위치의 디렉토리
            경로명을 지정합니다.

      예 : NT의 경우 C:/ORACLE/UTRC;
            UNIX의 경우 /oracle/utrc;
            VMS의 경우 DISK$UR3:[ORACLE.UTRC]
사용 가능한 값 : 유효한 로컬 경로명, 디렉토리, 디스크입니다.
기본값  : 운영 체제에 따라 다름

 

utl_file_dir
설명    : 데이터베이스 관리자가 PL/SQL 파일 입출력이 허용된 디렉토리를 지정할 수 
            있도록 합니다. 하나 이상의 디렉토리를 지정하려면 여러 개의 UTL_FILE_DIR 매개변
            수를 사용하십시오. UTL_FILE_DIR 매개변수에 지정된 파일에 대해서는 모든 사용자가
            읽기 또는 쓰기 작업을 수행할 수 있습니다.
사용 가능한 값 : 임의의 유효한 디렉토리 경로입니다.
기본값  : 없음


workarea_size_policy
설명    : 작업 영역 크기 조정 정책을 지정합니다. 이 매개변수는 작업 영역이 조정되는
            모드를 제어합니다.
사용 가능한 값 : AUTO, MANUAL입니다.
기본값 : PGA_AGGREGATE_TARGET이 설정되어 있는 경우에는 AUTO, 그렇지 않은 경우에는
            MANUAL입니다.

반응형

'ORACLE > PARAMETER' 카테고리의 다른 글

parameter SESSION_CACHED_CURSORS  (0) 2009.12.10
[SGA튜닝]Cursor Sharing Parameter  (0) 2008.06.10
Posted by [PineTree]