VirtualBox
오라클 PDB 삭제
보우움
2024. 11. 12. 19:58
설정 초기화 하는 법이 궁금해서 한번 기록해봄
ALTER SESSION SET CONTAINER = CDB$ROOT;
SELECT name, open_mode FROM v$pdbs WHERE name = 'ROCKY';
ALTER PLUGGABLE DATABASE ROCKY CLOSE IMMEDIATE;
DROP PLUGGABLE DATABASE ROCKY INCLUDING DATAFILES;
SELECT name FROM v$pdbs WHERE name = 'ROCKY';
해당 SQL 코드는 Oracle 데이터베이스에서 PDB(Pluggable Database)를 삭제하는 과정입니다. 각 명령어가 무엇을 하는지 하나씩 설명해드리겠습니다.
1. ALTER SESSION SET CONTAINER = CDB$ROOT;
- 설명: 이 명령어는 현재 세션의 컨테이너를 CDB$ROOT로 설정합니다.
- 왜 필요한가?: Oracle에서 CDB(Container Database)는 여러 개의 PDB(Pluggable Database)를 포함하는 상위 데이터베이스입니다. PDB를 삭제하려면 먼저 CDB의 루트 컨테이너에 접속해야 합니다. CDB$ROOT는 CDB의 루트 컨테이너로, PDB를 관리하는 데 필요한 명령을 실행할 수 있는 공간입니다.
2. SELECT name, open_mode FROM v$pdbs WHERE name = 'ROCKY';
- 설명: 이 쿼리는 PDB 목록 중에서 이름이 'ROCKY'인 PDB를 조회합니다.
- 목적: PDB의 상태를 확인하기 위해 실행됩니다. open_mode 컬럼은 PDB가 현재 열려 있는지, 읽기 전용인지, 또는 읽기/쓰기 가능한지 등을 보여줍니다.
3. ALTER PLUGGABLE DATABASE ROCKY CLOSE IMMEDIATE;
- 설명: ROCKY라는 이름의 PDB를 즉시 닫는 명령입니다.
- 왜 필요한가?: PDB를 삭제하려면 해당 PDB가 먼저 닫혀 있어야 합니다. CLOSE IMMEDIATE는 현재 PDB에 접속해 있는 세션들을 강제로 종료시키고, PDB를 즉시 닫습니다.
4. DROP PLUGGABLE DATABASE ROCKY INCLUDING DATAFILES;
- 설명: ROCKY라는 PDB를 삭제하는 명령입니다. INCLUDING DATAFILES 옵션은 해당 PDB와 관련된 데이터파일들까지 함께 삭제합니다.
- 왜 필요한가?: 이 명령은 PDB를 완전히 제거하는 명령으로, 데이터 파일도 삭제하여 디스크 공간을 확보합니다. 단, 이 명령을 실행하면 해당 PDB에 저장된 모든 데이터가 삭제되므로 주의해야 합니다.
5. SELECT name FROM v$pdbs WHERE name = 'ROCKY';
- 설명: PDB 삭제 후, ROCKY라는 이름의 PDB가 여전히 존재하는지 확인하는 쿼리입니다.
- 목적: PDB가 성공적으로 삭제되었는지 확인하는 절차입니다. 만약 이 쿼리에서 결과가 없으면 PDB가 삭제된 것입니다.
요약
- 세션을 CDB$ROOT로 전환하여 PDB에 대한 작업을 진행할 수 있도록 합니다.
- ROCKY PDB의 상태를 확인한 후, PDB를 강제로 닫습니다.
- DROP PLUGGABLE DATABASE 명령으로 PDB와 관련된 모든 데이터파일까지 포함하여 삭제합니다.
- 삭제가 완료된 후, 다시 한 번 ROCKY PDB가 삭제되었는지 확인합니다.
이 명령을 실행하면 ROCKY라는 PDB와 관련된 모든 데이터와 파일이 제거되며, 더 이상 해당 PDB를 사용할 수 없게 됩니다. 삭제 전에는 반드시 해당 PDB의 데이터를 백업해두는 것이 좋습니다.