12C CBD 모드에서 매개변수 파일 관리

5128 단어
12C 데이터베이스는 11G 이전 버전의 데이터베이스와 마찬가지로 하나의 초기화 매개 변수 파일만 존재하고 하나의 서버 매개 변수 파일은 하나의 데이터베이스의 초기화 매개 변수로 여겨져 시스템이 실행하는 데이터베이스 서버를 유지할 수 있다.서버 측의 초기화 매개 변수 파일을 설계합니다.서버 매개 변수 파일에 저장된 초기화 매개 변수는 오래 지속되며, 변경된 매개 변수가 있는 경우, 하나의 매개 변수가 실행 중일 때, 전체 매개 변수를 끄고 시작할 수 있습니다.이 스케줄은 초기화 매개변수를 수동으로 업데이트할 필요가 없으며 ALTER SYSTEM 문구를 사용하여 변경되고 영구적으로 적용될 수 있습니다. 12C의 매개변수 파일은 11G 이전의 매개변수 파일과 달리 12CPDB에서 CDB 데이터베이스의 매개변수 설정을 계승합니다. 12C 데이터베이스의 매개변수 파일 관리는 다음과 같습니다.
[oracle@12crac2 ~]$ sqlplus / "as sysdba"
SQL*Plus: Release 12.1.0.1.0 Production on   5  20 16:22:53 2016
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 : 
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options
SQL> col pdb_name for a30
SQL> SELECT PDB_NAME,CON_UID,PDB_ID,STATUS FROM DBA_PDBS;
PDB_NAME     CON_UID     PDB_ID STATUS
------------------------------ ---------- ---------- -------------
PDBORCL          2355717672    3 NORMAL
PDB$SEED         4151145250    2 NORMAL
PDB 
SQL> select name,con_id,open_mode from v$pdbs;
NAME       CON_ID OPEN_MODE
------------------------------ ---------- ----------
PDB$SEED    2 READ ONLY
PDBORCL     3 READ WRITE

여기서 예를 들어 optimizer_를 수정합니다.index_cost_adj 매개 변수, PBD 데이터의 계승 관계를 검증합니다. 우리는 CDB$ROOT 용기에서 optimizer_index_cost_adj 매개 변수 값은 20이고 pdborcl 삽입 데이터베이스optimizer_index_cost_adj의 값도 20으로 변경되었지만 PDB 데이터베이스에서 파라미터를 수정하면 CDB$ROOT 컨테이너 데이터베이스의 파라미터에 영향을 주지 않습니다.
SQL> show con_Name
CON_NAME
------------------------------
CDB$ROOT
SQL> show parameter optimizer_index_cost_adj
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj      integer  100
SQL> alter session set container=pdborcl;
 。
SQL> show parameter index
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj      integer  100
SQL> alter session set container=cdb$root;
 。
SQL> alter system set optimizer_index_cost_adj=20;
 。
SQL> alter session set container=pdborcl;
 。
SQL> show parameter optimizer_index_cost_adj
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj      integer  20
SQL> alter system set optimizer_index_cost_adj=30;
 。
SQL> show parameter optimizer_index_cost_adj
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj      integer  30
SQL> alter session set container=cdb$root
  2  ;
 。
SQL> show parameter optimizer_index_cost_adj
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj      integer  20

매개 변수 파일의 매개 변수는 PDB 데이터베이스에서 수정할 수 있는 모든 매개 변수가 아닙니다. 보기 V$paramter의 ISPDB_MODIFIABLE 필드는 값이 FALSE일 때 매개변수는 PDB 데이터베이스에서 수정할 수 없으며 true는 수정할 수 있다고 판단합니다.이 예는 매개 변수processes를 실험으로 한다.
SQL> SELECT NAME,ISPDB_MODIFIABLE FROM V$PARAMETER WHERE  NAME='processes';
NAME       ISPDB
-------------------- -----
processes      FALSE
SQL> alter system set processes=1000 scope=spfile;
alter system set processes=1000 scope=spfile
*
  1  :
ORA-65040:  

가장 관심 있는 메모리 파라미터의 상황을 보도록 하겠습니다.
SQL> SELECT name, ispdb_modifiable
  2    FROM V$PARAMETER
  3   WHERE NAME like '%sga%'
  4      or NAME like '%buffer%'
  5      or name like '%pga%'
  6  /
NAME                                                                             ISPDB_MODIFIABLE
-------------------------------------------------------------------------------- ----------------
sga_max_size                                                                     FALSE
pre_page_sga                                                                     FALSE
use_indirect_data_buffers                                                        FALSE
lock_sga                                                                         FALSE
pga_aggregate_limit                                                              FALSE
sga_target                                                                       FALSE
db_block_buffers                                                                 FALSE
buffer_pool_keep                                                                 FALSE
buffer_pool_recycle                                                              FALSE
log_buffer                                                                       FALSE
unified_audit_sga_queue_size                                                     FALSE
pga_aggregate_target                                                             FALSE
12 rows selected

모두 FALSE라는 것을 알 수 있습니다. PDB 모드에서의 메모리 관리는 모두 CDB가 통일적으로 분배를 관리합니다. 만약에 특정한 PDB가 지정한 메모리에 대해 분배 제한을 하고 싶다면 ORACLE의 자원 관리자를 통해 조작해야 합니다.

좋은 웹페이지 즐겨찾기