ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [oracle xe 18c] PDB 생성하기 (pluggable databases)
    개발/DB 2020. 1. 15. 23:32
    반응형

    oracle 18c xe 에는 1 CDB, 1 PDB  로 기본 설치가 되며, 기본 PDB 를 내비두고, 새로운 PDB(이름은 XEPDB2)를 만들어본다. 하나 유념할건 나는 docker 로 oracle db 를 사용하고 있기 때문에, dockerfile 에 있는 VOLUME 경로를 참고해서 수정한다. pdbseed 와 XEPDB2 데이터파일이 들어갈폴더를 지정한다.

    create pluggable database "XEPDB2" admin user "PDBADMIN" identified by 1 file_name_convert = ('/opt/oracle/oradata/XE/pdbseed/', '/opt/oracle/oradata/XE/XEPDB2/'); 
    
    alter pluggable database "XEPDB2" open read write; 
    alter session set container = "XEPDB2";  
    grant dba to "PDBADMIN"; 
    

    실행하고 나면, oracle EM 사이트에서 PDB 내역에 추가된걸 확인할 수 있다. 사실 위의 스크립트도 oracle EM 에서 추출한 sql 이다.

     

    sql 로도 확인한다. (CDB$ROOT로 로그인해서 조회해야 한다.)

    SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER BY CON_ID;
    NAME			 CON_ID       DBID    CON_UID GUID
    -------------------- ---------- ---------- ---------- --------------------------------
    CDB$ROOT		      1 2910524248	    1 787D0540569D64C1E0530CAAE80AA107
    PDB$SEED		      2  331383107  331383107 9BDAD79928010482E053020011AC6399
    XEPDB1			      3 2267173948 2267173948 9BDAF841F79B0A42E053020011AC6C04
    XEPDB2			      4 2478454615 2478454615 9C2EAFD5E95703A3E053020016ACEF67

     

    docker 에서 호스트머신에 마운트된 폴더를 확인하면 아래 데이터 폴더가 생긴걸 확인할 수 있다. 

     

    PDB 를 drop 처리해보자. 데이터파일까지 지울지 말지는, 선택필요. 그리고, 언플러그(unplug) 할때, 메타정보를 저장하게 된다.

    alter pluggable database "XEPDB2" close IMMEDIATE ;
    alter pluggable database "XEPDB2" unplug into '/opt/oracle/oradata/XE/XEPDB2/pdb_XEPDB2_202001150150.xml';
    drop pluggable database "XEPDB2" INCLUDING DATAFILES; -- 데이터파일까지 삭제
    -- drop pluggable database "XEPDB2" KEEP DATAFILES; -- 데이터파일은 유지

     

    반응형

    댓글

Designed by Tistory.