Podłączanie PDB do bazy danych kontenera Oracle12c

Resumen: Naszą misją jest dostarczenie rozwiązań, które ułatwiają obsługę technologii IT, zapewniając rozwiązania baz danych, rozwiązania niestandardowe, rozwiązania dynamicznych centrów danych i elastyczne rozwiązania informatyczne ...

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

Dotyczy: 
Bazy danych: Oracle 12cR1

Autor:
Mahesh Reddy

Problem: 
Jak podłączyć PDB do bazy danych kontenera Oracle12c?

Rozwiązanie: 
Podłączaną bazę danych można utworzyć na następujące sposoby:
  • Utwórz nowy PDB przy użyciu inicjatora.
  • Utwórz nowy PDB poprzez klonowanie istniejącego PDB
  • Podłącz niepodłączony PDB do CDB
  • Tworzenie nowego PDB z 12c innego niż CDB
1. Utwórz nowy PDB przy użyciu inicjatora:

Utwórz PDB przy użyciu bazy danych SEED. Ta metoda kopiuje pliki powiązane z inicjatorem do nowej lokalizacji i tworzy przypisanie do nowego PDB. Można łatwo utworzyć nowy PDB z SEED przy użyciu instrukcji tworzenia podłączanej bazy danych.

Można określić następujące klauzule w celu utworzenia nowego PDB z SEED na różne sposoby:
  • Pamięć masowa: można określić limity pamięci masowej
  • Domyślny obszar tabel: tworzy mały obszar tabel pliku i przypisanie do użytkowników niesystemowych.
  • path_prefix: określa ścieżkę bezwzględną
  • file_name_convert: określa nową lokalizację plików PDB z plików źródłowych.
  • Ponowne użycie pliku tempfile: określa ponowne użycie pliku tempfile z lokalizacji docelowej.
  • Role: wstępnie zdefiniowane role Oracle przydzielane do roli PDB_DBA.
SLN310932_pl__1icon Uwaga: klauzuli ROLES można użyć tylko w przypadku tworzenia PDB z inicjatora.

Przykład: 1

Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;

Powyższa instrukcja tworzy PDB z użytkownikiem lokalnym PDBUSR.  Ta instrukcja przydziela rolę PDB_DBA do administratora PDB „pdbusr” i przydziela lokalnie określone wstępnie zdefiniowane role Oracle do roli PDB_DBA w PDB.

Przykład: 2                              

Sql> Create pluggable database PDBNAME admin user pdbusr identified by PASSWORD storage (MAXSIZE 5G) default tablespace USERS datafile ‘+DATA_NEW’ size 100M autoextend on path_prefix = ‘+DATA_NEW’ file_name_convert = (‘+DATA’,’DATA_NEW’);

Powyższa instrukcja tworzy pdb z ograniczonym rozmiarem, określa, że wszystkie obszary tabeli, które należą do PDB, nie mogą przekraczać 5 gigabajtów i tworzy domyślnych użytkowników obszaru tabeli dla użytkowników niebędących administratorami w nowej lokalizacji „+DATA_NEW”. 

2.  Utwórz nowy PDB poprzez klonowanie istniejącego PDB:

Klonowanie bazy danych produktu jest typową techniką używaną do opracowywania aplikacji i powiązanych z nimi środowisk oraz testowania wprowadzanych w nich zmian. Przed zainstalowaniem nowego wydania systemu operacyjnego, oprogramowania pamięci masowej lub wersji aplikacji w środowisku produkcyjnym wymagane są wyczerpujące testy przy użyciu danych produkcyjnych. Jest to zwykle osiągane poprzez kopiowanie produkcyjnej bazy danych do środowiska testowego.

W Oracle12c można użyć instrukcji CREATE PLUGGABLE DATABASE w celu sklonowania PDB. Ta instrukcja klonuje źródłowe PDB i podłącza klon do tego samego CDB lub zdalnego CDB.

Instrukcja CREATE PLUGGABLE DATABASE kopiuje pliki powiązane ze źródłowym PDB do nowej lokalizacji i tworzy powiązanie plików z docelowym PDB.

Różne typy klauzul:

1.       Klonowanie lokalnego PDB bez użycia klauzul

Brak klauzuli oznacza brak zmian strukturalnych.

Przykład: sql> create pluggable database clone_pdb from pdb;

Tutaj utworzono klon pdb o tym samym rozmiarze i tych samych rolach oraz innym GUID w domyślnej grupie dysków.

2.       Klonowanie lokalnego PDB przy użyciu klauzul PATH_PREFIX i FILE_NAME_CONVERT

Klauzula FILE_NAME_CONVERT jest wymagana do określenia lokalizacji docelowych kopiowanych plików. W tym przykładzie pliki są kopiowane z jednej lokalizacji do innej.

Przykład:  sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');

Tutaj pliki danych źródłowego pdb są zapisywane w grupie dysków „+DATA”, pliki danych klonowanego pdb są umieszczane w innej grupie dysków „+BRLOAD”. Do konwertowania plików danych z „+DATA” na „+BRLOAD” można używać klauzuli FILE_NAME_CONVERT.

3.       Klonowanie lokalnego PDB przy użyciu klauzul FILE_NAME_CONVERT i STORAGE.

Limity pamięci masowej dla PDB muszą być egzekwowane. Dlatego wymagana jest klauzula STORAGE. W szczególności wszystkie obszary tabeli, które należą do PDB, nie mogą przekraczać 2 GB, a pamięć masowa używana przez sesje PDB we wspólnym obszarze tabeli tymczasowej nie może przekraczać 100 MB.

Przykład: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);

 Klonowanie lokalnego PDB:

W tej sekcji opisano klonowanie lokalnego PDB. Po sklonowaniu lokalnego PDB źródłowy i docelowy PDB są w tym samym CDB.

Aby sklonować PDB, należy wykonać następujące czynności:

Krok 1: Sprawdź stan źródłowego pdb

  Sql>show pdbs;

      CON_ID   CON_NAME    OPEN MODE      RESTRICTED

          2    PDB$SEED       READ ONLY   NO

          3    PDB1           READ WRITE  NO

 PDB przeznaczone do klonowania muszą być w stanie READ ONLY. Jeśli są w stanie READ WRITE, zmień stan przy użyciu polecenia poniżej

Sql> alter pluggable database pdbname close instances=all;

Tutaj instances=all oznacza zamknięcie PDB we wszystkich węzłach.

Sql> alter pluggable database pdb open read only instances=all;

Sql>show pdbs;

      CON_ID   CON_NAME    OPEN MODE      RESTRICTED

          2    PDB$SEED       READ ONLY   NO

          3    PDB1           READ ONLY   NO

Krok 2: zmień wymagane opcje z różnych klauzul klonowania wymienionych w sekcji2.

Sql> create pluggable database clone_pdb1 from pdb1; (brak klauzul)

Gdzie pdb1 to źródłowy pdb, a clone_pdb1 to docelowy pdb

Krok 3: sklonowany PDB będzie w trybie zamontowanym, a jego stan to NEW. Stan PDB można wyświetlić, odpytując kolumnę STATUS w widoku CDB_PDBS lub DBA_PDBS.

Następnie zmień stan pdb za pomocą polecenia alter pluggable database, a następnie dodaj usługę PDB we wszystkich węzłach tnsnames.ora.

3. Odłącz i podłącz PDB do CDB:

Odłączanie PDB:

Odłącz PDB, PDB zostanie odłączony od CDB. Operacja odłączania dokonuje pewnych zmian w plikach danych PDB, aby odnotować, na przykład, że PDB został pomyślnie odłączony. Ponieważ odłączony PDB jest nadal częścią CDB, jest on uwzględniany w tworzeniu kopii zapasowej RMAN całego CDB. Taka kopia zapasowa umożliwia wygodną archiwizację odłączonych PDB w razie potrzeby w przyszłości. PDB musi być zamknięty przed odłączeniem. Po odłączeniu PDB od CDB odłączony PDB jest w trybie zamontowanym.

Odłączanie PDB:

Sprawdź stan źródłowego pdb

 Sql>show pdbs;

      CON_ID   CON_NAME    OPEN MODE      RESTRICTED

          2    PDB$SEED       READ ONLY   NO

          3    PDB1           READ WRITE  NO

Jeśli źródłowy PDB jest w trybie odczytu i zapisu, należy zmienić stan PDB na MOUNTED.

Sql> alter pluggable database PDBNAME close instances=all;

Podłącz kontener główny i wykonaj poniższe polecenie

Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;

W tym miejscu tworzony jest plik metadanych pb1.xml w katalogu /u01/app/oracle.

Korzystając z pliku metadanych XML, można podłączyć PDB do

3.1. ten sam CDB

3.2. zdalny CDB

PDB można podłączyć do CDB przy użyciu polecenia create pluggable database. Plik XML można określić przy użyciu różnych klauzul.

Różne typy klauzul:

Korzystanie z klauzuli source_file_name_convert, bez kopii:
SOURCE_FILE_NAME_CONVERT: plik XML nie pokazuje aktualnej lokalizacji pliku. W tym przypadku można skorzystać z tej klauzuli. XML oznacza, że pliki są w +DATA, ale rzeczywiste pliki są w +DATA1.

Source_file_name_convert = (‘+DATA’,’+DATA1’)

+DATA= string1   +DATA1=string2

Tutaj wzór nazwy pliku string2 zastępuje wzór nazwy pliku string1.

2.       Korzystanie z klauzuli path_prefix, copy, file_name_convert:

PATH_PREFIX: ta klauzula jest używana do określenia ścieżki bezwzględnej lokalizacji plików danych.

FILE_NAME_CONVERT: tej klauzuli można użyć, gdy pliki są poza lokalizacją docelową i chcemy przekopiować lub przenieść je podczas tworzenia PDB.

3.       Korzystanie z klauzuli FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:

Plik Xml nie opisuje aktualnej lokalizacji plików, dlatego wymagana jest konwersja nazwy pliku źródłowego. Przykład: plik xml wskazuje, że pliki są w lokalizacji „+DATA”, ale są w katalogu „/u01/app”.

Aby przenieść pliki z „/u01/app” do „+DATA1”, trzeba przekonwertować nazwę pliku.

3.1. podłącz niepodłączony pdb do tego samego CDB:

PDB należy zrzucić z CDB przed ponownym podłączeniem do tego samego CDB.

 Utwórz podłączaną bazę danych przy użyciu pliku XML i różnych metod.

a)       Metoda NOCOPY

Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;

b)      Metoda COPY

Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);

c)       Metoda AS CLONE MOVE

Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);

3,2. Podłącz niepodłączony pdb do zdalnego CDB:

Warunki wstępne:

A)      Muszą mieć taki sam format endian.

B)      Muszą mieć taki sam zbiór zainstalowanych opcji bazy danych.

ŹRÓDŁOWY:

1.   Po odłączeniu pliku PDB przenieś XML do lokalizacji docelowej, a następnie przenieś pliki bazy danych z grupy dysków (+DATA) do lokalizacji OS (/home/) przy użyciu polecenia ASMCMD cp lub DATA_FILE_NAME_CONVERT.

2.   Prześlij pliki bazy danych z lokalizacji źródłowej do docelowej systemu operacyjnego. 

DOCELOWY:

Po otrzymaniu plików XML i bazy danych ze źródła można użyć funkcji DBMS_PDB. CHECK_PLUG_COMPATIBILITY, aby sprawdzić, czy odłączony pdb jest zgodny z DOCELOWYM CDB.

Jeśli otrzymasz wynik „YES”, PDB jest zgodny.

Jeśli otrzymasz wynik „NO”, PDB jest niezgodny i należy sprawdzić widok PDB_PLUG_IN_VIOLATIONS pod kątem błędów.

Podczas tworzenia zdalnego PDB, wybierz żądane klauzule z sekcji3.

Przykład: Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’

      Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)

      Przenieś

      File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);

Opis: plik xml określa lokalizację plików danych PDB na dyskach ASM, ale rzeczywiste pliki są w lokalizacji „/home/oracle”. Klauzula source_file_name_convert pomaga zastąpić wzór nazwy pliku i wskazać aktualną lokalizację źródłową. Klauzula file_name_convert pomaga w przeniesieniu danych z lokalizacji OS do dysków ASM.

4. Migruj 12c-noncdb do PDB:

Zapoznaj się z tym opracowaniem.
Propiedades del artículo
Número del artículo: 000146520
Tipo de artículo: Solution
Última modificación: 21 feb 2021
Versión:  3
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.