티스토리 뷰

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

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함