-
[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; -- 데이터파일은 유지
반응형