일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- PostgreSQL Parameter
- pg_hba.conf
- oracle error
- PostgreSQL Backup and Recovery
- PostgreSQL 아키텍처
- pg_basebackup
- db upgrade
- 19c tde
- sql문 짤릴 때
- table lock 조치 방법
- PostgreSQL 외부 접속 방법
- PostgreSQL Database 관리
- PostgreSQL Vacuum
- multitenant
- psql 복구
- pgcrypto
- Linux
- PostgreSQL 스키마 관리
- pg_dumpall
- PostgreSQL Admin
- oracle
- PostgreSQL Install
- PostgreSQL 테이블스페이스 생성 삭제
- sql문 전체 출력 방법
- PostgreSQL 기동 정지
- PostgreSQL SQL 처리 과정
- PostgreSQL Parameter 설정 방법
- Database 생성 삭제 조회 변경
- 아카이브로그 삭제
- PostgreSQL 테이블스페이스 관리
- Today
- Total
인성장
[Oracle] 멀티테넌트(Multitenant) 관리 및 사용법 본문
Multitenant 관리
오라클 멀티테넌트란?
하나의 Container DataBase 에 여러 개의 Pluggable DataBase의 독립된 데이터베이스를 담은 구조를 말합니다.
데이터베이스 안에 여러개의 데이터베이스가 있는 구조라는 것이지요. 이렇게되면 여러개의 데이터베이스를 하나로 관리할 수 있고, 서버 자원사용량에 있어 큰 이점을 가지고 있습니다. 21c부터는 이 기능이 필수로 사용됩니다.
* Oracle Multitenant를 사용하면 왜 서버 자원사용량에 있어 일반 Non-CDB보다 큰 이점이 있나요?
서버 내 DB 인스턴스가 한개로 사용한다고 하면 크게 다르지 않겠지만, 예를 들어 서버에서 여러 개의 DB 인스턴스를 사용해야 한다 하면, Non-CDB 방식은 각각 DB 인스턴스에 대한 자원을 할당하여 관리해주어야 합니다. 그러나 CDB 방식은 하나의 CDB에 할당받은 자원을 PDB가 공유하여 사용하기 때문에 서버 자원 측면에서 매우 효율적이라 할 수 있습니다.
PDB는 CDB와 Datafile 저장영역만 분리되어 있고 나머지 자원(Control file, Redo log file, Parameter file 등)들은 공유해서 사용합니다.
PDB 관리 명령어
1. PDB 조회
SQL> SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS ;
2. PDB READ WRITE Mode로 OPEN
SQL> alter pluggable database TESTPDB open READ WRITE ;
3. Container 변경 (PDB 접속)
SQL> alter session set container=TESTPDB ;
4. 현재 접속한 Container DB 확인
SQL> show con_name
5. PDB 종료
SQL> alter pluggable database TESTPDB close;
6. PDB 생성
- PDB$SEED는 PDB를 만들기 위한 템플릿입니다. PDB$SEED 경로를 복제하여 신규 PDB를 생성합니다.
- PDBUSER는 해당 PDB를 관리할 목적의 계정으로 DBA 권한이 있는 계정이면 가능.
SQL> create pluggable database "TESTPDB" admin user "PDBADMIN" identified by "password" roles=(dba) file_name_convert = ('/data/MULDB/pdbseed','/data/MULDB/TESTPDB') ;
7. PDB 삭제
SQL> drop pluggable database TESTPDB including datafiles;
참고
PDB에선 상관없으나, CDB에서 유저 생성 시 유저명앞에 C##을 붙여야 합니다. (컨테이너DB 소유 계정임을 표시하기 위한 목적?) CDB에서도 C##을 붙이지 않고 일반적으로 생성하는 방식으로 하려면 특정 히든 파라미터값을 TRUE로 변경해주면 됩니다.
-- c## 관련 히든파라미터 값 조회
SQL> col name for a40
col current_value for a15
col default_value for a15
col default_t_f for a15
select
ksppinm "name",
ksppstvl "current_value",
b.ksppstdfl "default_value",
b.ksppstdf "default_t_f"
from x$ksppi a, x$ksppsv b
where 1=1
and a.indx=b.indx
and a.ksppinm like '_oracle_script';
-- 히든파라미터 값 변경
SQL> alter session set "_oracle_script" =true;
-- 영구 적용 원할 시 (명령어 수행 후 재기동 필요)
SQL> alter system set "_oracle_script" =true scope=spfile;
'Oracle > Admin' 카테고리의 다른 글
[Oracle] Timezone Upgrade 방법 (1) | 2024.07.23 |
---|---|
[Oracle] 19c TDE 구성 방법 (0) | 2024.06.19 |
[Oracle] Lock Table & Session 조치 방법 (2) | 2024.05.02 |
[Oracle] sqlplus에서 SQL문 전체 조회 방법 (FULLTEXT) (2) | 2024.05.02 |
[Oracle][RMAN] Archivelog 삭제 방법 (2) | 2024.04.23 |