Oracle 12c R2의 allow_group_access_to_sga 파라미터

 

allow_group_access_to_sga

Oracle 문서에는 공식적으로 12c R2 (12.2.0.1) 버전에서 추가된 파라미터 입니다. (공식 문서 링크 – https://docs.oracle.com/en/database/oracle/oracle-database/12.2/refrn/ALLOW_GROUP_ACCESS_TO_SGA.html)

그런데 실제로는 12.1.0.2 버전의 2016년 7월 PSU패치에 포함되었고, 해당 패치에는 두 개의 파라미터가 추가 되었습니다.

 

즉 12.1.0.2 버전인 12cR1 DB에서도 사용이 가능한것인데, 실제로 패치가 되지 않은 DB는 사용이 불가는 합니다.

12.1 버전에서는 아예 조회가 되질 않습니다.

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 18 15:35:25 2020

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>

SQL> select name, value from v$parameter where name = 'allow_group_access_to_sga';

no rows selected

no row selected 라는 값을 반환합니다.

하지만 12.2 버전에서는 Default 값인 FALSE를 반환합니다.

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Jun 18 14:03:39 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>

SQL> select name, value from v$parameter where name = 'allow_group_access_to_sga';

NAME			       VALUE
------------------------------ ------------------------------
allow_group_access_to_sga      FALSE

SQL>

해당 파라미터에 대해서 공식 문서는 이렇게 표현합니다.

 

ALLOW_GROUP_ACCESS_TO_SGA controls group access to shared memory on UNIX platforms.

The default value is FALSE, which means that database shared memory is created with owner access only. In Oracle Database releases prior to Oracle Database 12c Release 2 (12.2.0.1), database shared memory was created with owner and group access.

When this parameter is set to TRUE, database shared memory is created with owner and group access. This behavior grants permissions to DBAs to manage shared memory outside the database, but also allows DBAs to read and write to shared memory, which may not be desirable for certain installations.

 

ALLOW_GROUP_ACCESS_TO_SGA는 UNIX 플랫폼에서 공유 메모리에 대한 그룹 액세스를 제어합니다.

기본값은 FALSE입니다. 이는 데이터베이스 공유 메모리가 소유자 액세스로만 작성됨을 의미합니다. Oracle Database 12c Release 2 (12.2.0.1) 이전의 Oracle Database 릴리스에서는 데이터베이스 공유 메모리가 소유자 및 그룹 액세스로 작성되었습니다.

이 매개 변수가 TRUE로 설정되면 데이터베이스 공유 메모리는 소유자 및 그룹 액세스 권한으로 작성됩니다. 이 동작은 DBA에 데이터베이스 외부의 공유 메모리를 관리 할 수있는 권한을 부여하지만 DBA가 공유 메모리를 읽고 쓸 수 있도록 허용합니다. 이는 특정 설치에 바람직하지 않을 수 있습니다.

 

무슨 말이냐 하면 기존 12c R2 이전 버전까지는 모두 allow_group_access_to_sga 파라미터가 따로 없이 12c R2의 allow_group_access_to_sga=TRUE 상태와 동일한 상태였다는 말입니다.

False 값은 DB의 공유 메모리에 대한 접근을 오직 생성한 Owner 계정의 권한으로만 접근할수 있는 것이고, TRUE의 값은 Owner와 Group에 대한 엑세스가 가능하기 때문에 Owner 계정이 아니더라고, 동일한 그룹의 다른 계정이 공유 메모리에 접근할 수 있다는 이야기 입니다.

엑셈의 Maxguage 설치시 해당 파라미터를 TRUE로 변경하는 옵션은 12.1.0.2 PSU 2016 July 이상 버전에서만 하면 됩니다.

allow_group_access_to_sga 파라미터를 TRUE로 변경하는 작업은 DB를 재구동이 필요하기 때문에 주의 하시기 바랍니다.

 

 

You may also like...

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다