DBAtlas · Veritabanı operasyon atlası

PDB'yi başka bir CDB'den DB link üzerinden klonla (remote clone)

OracleMultitenant

Komut

-- 1) KAYNAK CDB'de ortak kullanici:
CREATE USER c##clone_user IDENTIFIED BY "<password>" CONTAINER = ALL;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##clone_user CONTAINER = ALL;

-- 2) HEDEF CDB root'unda DB link ve test:
CREATE DATABASE LINK clone_link
  CONNECT TO c##clone_user IDENTIFIED BY "<password>"
  USING '//<source_host>:1521/<source_cdb_service>';
SELECT * FROM dual@clone_link;

-- 3) Klonla ve ac:
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>@clone_link
  FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/');
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;

-- 4) Uyumsuzluklar (surum, opsiyon, parametre, patch):
SELECT name, cause, type, message
FROM   pdb_plug_in_violations
WHERE  name = UPPER('<new_pdb>') AND status <> 'RESOLVED';

Ne yapar?

Kaynak CDB'deki bir PDB'yi DB link üzerinden ağ ile hedef CDB'ye kopyalar; ara dosya veya unplug gerekmez.

Ne zaman kullanılır?

PDB'yi başka sunucuya/CDB'ye taşımak, üretimden ayrı sunucuda test kopyası oluşturmak veya daha yeni sürümlü CDB'ye geçmek için.

Dikkat

Kaynak ve hedef CDB'nin endian'ı, karakter seti (veya hedef AL32UTF8) ve opsiyonları uyumlu olmalı; daha yeni sürüme klonlanan PDB ilk açılışta RESTRICTED olur ve datapatch/upgrade gerekir. Klon bitince DB link'i ve ortak kullanıcıyı kaldır. Hot clone için kaynakta local undo + ARCHIVELOG gerekir.

DBAtlas'ta aç →

İlgili