Site icon DBA의 정석

DB 12c – Tablespace 관리, Alter Database 구문 관련

배경 : 현재 12c 설치되어 있고 PDB 2개 설치 되어 있는 상태 입니다.

  
 

# Tablespace 관리

  1. MANAGING TABLESPACES IN A CDB
  1. MANAGING TEMPORARY TABLESPACES

# Alter Database 구문
관련

  1. USING ALTER DATABASE STATEMENT IN A CDB
  1. ALTER DATABASE TO MODIFY ONLY THE ROOT

    현재
    접속한 container Root 라면 ALTER DATABASE 명령어는 PDBs 의 변경 없이 root 를 변경할


    있다. 테이블스페이스가 명시적으로 지정되지 않은 현재 접속한 container Root 인 유저는

    root
    기본 테이블스페이스를 사용한다. ALTER DATABASE 문에 지정된 테이블스페이스는 root

    존재해야
    한다.

     
     

    SQL> CONNECT SYS/oracle@CDB1 AS SYSDBA;

    Connected.

    SQL> COLUMN PROPERTY_NAME FORMAT A30;

    SQL> COLUMN PROPERTY_VALUE FORMAT A30;

    SQL> SELECT CON_ID, PROPERTY_NAME, PROPERTY_VALUE

    FROM CDB_PROPERTIES

    WHERE PROPERTY_NAME LIKE ‘%TABLESPACE’ order by con_id;

     
     

    CON_ID PROPERTY_NAME PROPERTY_VALUE

    ———- —————————— ——————————

    1 DEFAULT_PERMANENT_TABLESPACE USERS

    1 DEFAULT_TEMP_TABLESPACE TEMP

    2 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    2 DEFAULT_TEMP_TABLESPACE TEMP

    3 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    3 DEFAULT_TEMP_TABLESPACE TEMP

    4 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    4 DEFAULT_TEMP_TABLESPACE TEMP

     
     

    8 rows selected.

     
     

    SQL> ALTER DATABASE DEFAULT TABLESPACE CDB1_USERS;

     
     

    Database altered.

     
     

    SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE CDB1_TEMP;

     
     

    Database altered.

     
     

    SQL> COLUMN PROPERTY_NAME FORMAT A30;

    SQL> COLUMN PROPERTY_VALUE FORMAT A30;

    SQL> SELECT CON_ID, PROPERTY_NAME, PROPERTY_VALUE

    FROM CDB_PROPERTIES

    WHERE PROPERTY_NAME LIKE ‘%TABLESPACE’ order by con_id;

     
     

    CON_ID PROPERTY_NAME PROPERTY_VALUE

    ———- —————————— ——————————

    1 DEFAULT_PERMANENT_TABLESPACE CDB1_USERS

    1 DEFAULT_TEMP_TABLESPACE CDB1_TEMP

    2 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    2 DEFAULT_TEMP_TABLESPACE TEMP

    3 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    3 DEFAULT_TEMP_TABLESPACE TEMP

    4 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    4 DEFAULT_TEMP_TABLESPACE TEMP

     
     

    8 rows selected.

     
     

     
     

  2. ALTER DATABASE TO MODIFY THE PDB.

    ALTER DATABASE 구문에
    지정된 tablespace 또는 tablespace group PDB 에 존재해야 한다.

    테이블스페이스가
    명시적으로 지정되지 않은 현재 접속한 container PDB 인 유저는 PDB 의 기본

    테이블스페이스를
    사용한다.

    ALTER DATABASE ALTER PLUGGABLE DATABASE 명령어는 PDB 에서 동일하게 동작한다

     
     

    SQL> CONNECT SYS/oracle@PDB11 AS SYSDBA;

    Connected.

    SQL> ALTER DATABASE DEFAULT TABLESPACE PDB11_USERS;

     
     

    Database altered.

     
     

    SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE PDB11_TEMP;

     
     

    Database altered.

     
     

    SQL> COLUMN PROPERTY_NAME FORMAT A30;

    SQL> COLUMN PROPERTY_VALUE FORMAT A30;

    SQL> SELECT CON_ID, PROPERTY_NAME, PROPERTY_VALUE

    FROM CDB_PROPERTIES

    WHERE PROPERTY_NAME LIKE ‘%TABLESPACE’ order by con_id;

     
     

    CON_ID PROPERTY_NAME PROPERTY_VALUE

    ———- —————————— ——————————

    3 DEFAULT_TEMP_TABLESPACE PDB11_TEMP

    3 DEFAULT_PERMANENT_TABLESPACE PDB11_USERS

     
     

    SQL> CONNECT SYS/oracle@CDB1 AS SYSDBA;

    Connected.

    SQL> COLUMN PROPERTY_NAME FORMAT A30;

    SQL> COLUMN PROPERTY_VALUE FORMAT A30;

    SQL> SELECT CON_ID, PROPERTY_NAME, PROPERTY_VALUE

    FROM CDB_PROPERTIES

    WHERE PROPERTY_NAME LIKE ‘%TABLESPACE’ order by con_id;

     
     

    CON_ID PROPERTY_NAME PROPERTY_VALUE

    ———- —————————— ——————————

    1 DEFAULT_PERMANENT_TABLESPACE CDB1_USERS

    1 DEFAULT_TEMP_TABLESPACE CDB1_TEMP

    2 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    2 DEFAULT_TEMP_TABLESPACE TEMP

    3 DEFAULT_PERMANENT_TABLESPACE PDB11_USERS

    3 DEFAULT_TEMP_TABLESPACE PDB11_TEMP

    4 DEFAULT_PERMANENT_TABLESPACE SYSTEM

    4 DEFAULT_TEMP_TABLESPACE TEMP

     
     

    8 rows selected.

     
     

  3. USING ALTER SYSTEM STATEMENT IN A CDB

현재 container root 이면 ALTER SYSTEM SET 문장에 CONTAINER 절을 사용하여 PDB 에 상속

파라미터
값을 설정한다.

CONTAINER
문법 : CONTAINER = {CURRENT | ALL}

 
 

SQL> CONNECT SYS/oracle@CDB1 AS SYSDBA;

Connected.

SQL> SHOW CON_NAME;

 
 

CON_NAME

——————————

CDB$ROOT

SQL> SELECT NAME, VALUE, ISPDB_MODIFIABLE

FROM V$PARAMETER

WHERE NAME = ‘open_cursors’;

 
 

NAME

——————————————————————————–

VALUE

——————————————————————————–

ISPDB_MODI

———-

open_cursors

300

TRUE

 
 

SQL> ALTER SYSTEM SET OPEN_CURSORS = 200 CONTAINER = ALL;

 
 

SQL> ALTER SYSTEM SET OPEN_CURSORS = 400 CONTAINER = CURRENT;

 
 

Exit mobile version