Wie kann ich eine PDB mit der Containerdatenbank Oracle12c verbinden?
Summary: Unser Ziel besteht darin, Lösungen zu liefern, die den IT-Alltag vereinfachen, z. B. Datenbanklösungen, benutzerdefinierte Entwicklung, dynamische Rechenzentren, flexible Datenverarbeitung. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Gilt für:
Datenbanken: Oracle 12cR1
Autor:
Mahesh Reddy
Problem:
Wie kann ich eine PDB mit der Containerdatenbank Oracle12c verbinden?
Lösung:
Sie können eine Pluggable Database auf folgende Weise erstellen:
Erstellen Sie eine PDB mit der SEED-Datenbank. Diese Methode kopiert die mit dem Seed verknüpften Dateien an einen neuen Speicherort und ordnet sie einer neuen PDB zu. Mit „create pluggable database statement“ können Sie auf einfache Weise neue PDBs aus dem SEED erstellen.
Sie können die folgenden Klauseln angeben, um eine neue PDB aus einem SEED auf verschiedene Arten zu erstellen:
Hinweis: Die ROLES-Klausel kann nur verwendet werden, wenn Sie eine PDB aus dem Seed erstellen.
Beispiel 1:
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Die obige Anweisung erstellt eine PDB mit dem lokalen Nutzer PDBUSR. Mit dieser Anweisung wird die Rolle PDB_DBA dem PDB-Administrator „pdbusr“ und die angegebene vordefinierte Oracle-Rolle der Rolle PDB_DBA lokal in der PDB zugewiesen.
Beispiel 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’);
Die obige Anweisung erstellt die PDB mit der begrenzten Größe. Sie gibt an, dass alle Tablespaces, die der PDB angehören, 5 Gigabyte nicht überschreiten dürfen und die standardmäßigen Tablespace-Benutzer für Nicht-Administrator-Nutzer am neuen Speicherort „+ DATA_NEW“ sind.
2. Erstellen Sie eine neue PDB, indem Sie eine vorhandene PDB klonen:
Das Klonen von Produktionsdatenbanken ist eine gängige Technik zum Entwickeln und Testen von Änderungen an Anwendungen und zugehörigen Umgebungen. Bevor ein neues Betriebssystem, eine neue Speichersoftware oder eine neue Anwendungsversion in einer Produktionsumgebung installiert wird, müssen die Produktionsdaten gründlich getestet werden. Dies geschieht in der Regel durch Kopieren der Produktionsdatenbank in eine Testumgebung.
In Oracle12c können Sie die Anweisung CREATE PLUGGABLE DATABASE verwenden, um eine PDB zu klonen. Mit dieser Anweisung wird eine Quell-PDB geklont und der Klon in dieselbe CDB oder Remote-CDB eingefügt.
Die Anweisung CREATE PLUGGABLE DATABASE kopiert die Dateien, die der Quell-PDB zugeordnet sind, an einen neuen Speicherort und ordnet sie der Ziel-PDB zu.
Verschiedene Arten von Klauseln:
1. Klonen einer lokalen PDB ohne Klauseln
Keine Klausel bedeutet keine strukturellen Änderungen.
z. B.: sql> create pluggable database clone_pdb from pdb;
Hier wurde mit „clone pdb“ eine PDB mit der gleichen Größe und den gleichen Rollen mit unterschiedlicher GUID in der Standardfestplattengruppe erstellt.
2. Klonen einer lokalen PDB mit den Klauseln PATH_PREFIX und FILE_NAME_CONVERT
Die Klausel FILE_NAME_CONVERT ist erforderlich, um die Zielspeicherorte der kopierten Dateien anzugeben. In diesem Beispiel werden die Dateien von einem Standort zu einem anderen Speicherort kopiert.
z. B.: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Hier werden Quell-PDB-Datendateien in der Datenträgergruppe „+ DATA“ gespeichert, Klon-PDB-Datendateien in der anderen Datenträgergruppe „+ BRLOAD“. Sie können die Klausel FILE_NAME_CONVERT verwenden, um den Speicherort der Datendateien von „+ DATA“ zu „+ BRLOAD“ zu konvertieren.
3. Klonen einer lokalen PDB mit den Klauseln PATH_PREFIX und STORAGE.
Speicherbeschränkungen müssen für die PDB erzwungen werden. Aus diesem Grund ist die Klausel STORAGE erforderlich. Insbesondere dürfen alle Tablespaces, die der PDB angehören, 2 Gigabyte nicht überschreiten und der Speicher, der von den PDB-Sitzungen im gemeinsamen temporären Tablespace verwendet wird, darf 100 Megabyte nicht überschreiten.
z. B.: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Schritte zum Klonen einer lokalen PDB:
In diesem Abschnitt wird das Klonen einer lokalen PDB beschrieben. Nach dem Klonen einer lokalen PDB sind die Quell- und Ziel-PDBs im gleichen CDB.
Sie können die PDB mithilfe der folgenden Schritte klonen:
Schritt 1: Überprüfen Sie den Status der Quell-PDB.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDBs, die geklont werden sollen, müssen den Status „READ ONLY“ haben, wenn sie im Modus „READ WRITE“ vorliegen, ändern Sie den Status mithilfe des folgenden Befehls:
Sql> alter pluggable database pdbname close instances=all;
Hier bedeutet „instances = all“, die PDB in allen Knoten zu schließen.
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
Schritt 2: Wählen Sie die erforderlichen Optionen aus den verschiedenen im Abschnitt 2 genannten Klonklauseln aus,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Dabei ist pdb1 die Quelle und clone_pdb1 das Ziel.
Schritt 3: Die geklonte PDB befindet sich im Bereitstellungsmodus und der Status ist NEW. Sie können den Status eines PDB anzeigen, indem Sie die Spalte STATUS der Ansicht CDB_PDBS oder DBA_PDBS abfragen.
Danach ändern Sie den Status von pdb mit „alter pluggable database“. Anschließend müssen Sie den PDB-Dienst in tnsnames.ora auf allen Knoten hinzufügen.
3. Trennen Sie die PDB und verbinden Sie sie mit CDB:
Trennen einer PDB:
Durch Trennen einer PDB wird die Zuordnung der PDB zu einer CDB aufgehoben. Beim Trennvorgang werden einige Änderungen an den Datendateien der PDB vorgenommen, z. B., dass die PDB erfolgreich getrennt wurde. Da sie immer noch Teil der CDB ist, ist die nicht angeschlossene PDB in einer RMAN-Sicherung der gesamten CDB enthalten. Eine solche Sicherung bietet eine bequeme Möglichkeit, die nicht verbundene PDB zu archivieren, falls sie in Zukunft benötigt wird. Die PDB muss geschlossen werden, bevor Sie getrennt werden kann. Wenn Sie eine PDB von einer CDB trennen, befindet sich die getrennte PDB im Bereitstellungsmodus.
Schritte zum Trennen einer PDB:
Überprüfen Sie den Status der Quell-PDB.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Wenn sich das Quell-PDB im Modus „READ WRITE“ befindet, müssen Sie den PDB-Status in „MOUNTED“ ändern.
Sql> alter pluggable database PDBNAME close instances=all;
Stellen Sie eine Verbindung zum Stammcontainer her und führen Sie den folgenden Befehl aus:
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Hier wird die Metadatendatei pdb1.xml im Verzeichnis /u01/app/oracle erstellt.
Mithilfe der XML-Metadatendatei können Sie die PDB verbinden:
3.1. für die gleiche CDB
3.2. für eine Remote-CDB
Sie können die PDB mit Hilfe von „create pluggable database“ an die CDB anschließen und die XML-Datei mit verschiedenen Klauseln angeben.
Verschiedene Arten von Klauseln:
Verwendung der Klauseln „no copy“und „source_file_name_convert“:
SOURCE_FILE_NAME_CONVERT: Die XML-Datei zeigt nicht den aktuellen Dateispeicherort an. Dieses Mal können wir diese Klausel verwenden. Die XML gibt an, dass sich die Dateien in „+DATA“ befinden, tatsächlich sind die Dateien jedoch in „+DATA1“.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Hier ersetzt das Dateinamenmuster string2 das Dateinamenmuster string1.
2. Verwendung der Klauseln „path_prefix“, „copy“ und „file_name_convert“:
PATH_PREFIX: Mit dieser Klausel wird der absolute Pfad des Speicherorts der Datendateien angegeben.
FILE_NAME_CONVERT: Sie können diese Klausel verwenden, wenn sich die Dateien nicht am Zielspeicherort befinden und Sie sie dann während der PDB-Erstellung kopieren oder verschieben möchten.
3. Verwenden der Klausel FILE_NAME_CONVERT, MOVE, SOURCE_FILE_NAME_CONVERT:
Da die XML-Datei nicht den aktuellen Speicherort der Dateien beschreibt, ist eine Konvertierung des Quelldateinamens erforderlich. Beispiel: Die XML gibt an, dass sich die Dateien in „+DATA“ befinden, tatsächlich sind die Dateien jedoch in „/u01/app“.
Die Konvertierung des Dateinamens ist erforderlich, um die Dateien von „/u01/app“ nach „+DATA1“ zu verschieben.
3.1. Verbinden Sie die nicht verbundene PDB mit derselben CDB:
Die PDB muss aus der CDB entfernt werden, bevor sie wieder mit derselben CDB verbunden werden kann.
Erstellen Sie eine Pluggable Database mithilfe einer XML-Datei mit unterschiedlichen Methoden.
a) NOCOPY-Methode
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-Methode
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-Methode
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Verbinden Sie die nicht verbundene PDB mit derselben CDB:
Voraussetzungen:
A) Sie müssen dasselbe Endian-Format haben.
B) Auf ihnen müssen die gleichen Datenbankoptionen installiert sein.
QUELLE:
1. Nachdem Sie die PDB getrennt haben, übertragen Sie die XML auf den Zielspeicherort und übertragen Sie die Datenbankdateien von der Datenträgergruppe (+DATA) auf den Speicherort des Betriebssystems (/home/) mit dem Befehl „ASMCMD CP“ oder „DATA_FILE_NAME_CONVERT“.
2. Übertragen Sie die Datenbankdateien von der Quelle zum Speicherort des Zielbetriebssystems.
ZIEL:
Sobald Sie die XML- und Datenbankdateien aus der Quelle erhalten haben, können Sie mit der Funktion DBMS_PDB.CHECK_PLUG_COMPATIBILITY ermitteln, ob die nicht verbundene PDB mit der ZIEL-CDB kompatibel ist.
Wenn Sie die Ausgabe „YES“ erhalten, ist der PDB kompatibel.
Wenn Sie die Ausgabe „NO“ erhalten, ist die PDB nicht kompatibel. Überprüfen Sie die Anzeige PDB_PLUG_IN_VIOLATIONS auf Fehler.
Wählen Sie beim Erstellen einer Remote-PDB die erforderlichen Klauseln aus Abschnitt 3,
z. B.: Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Move
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beschreibung: Die XML-Datei gibt den Speicherort der PDB-Datendateien in Bezug auf ASM-Datenträger an, die tatsächlichen Dateien befinden sich jedoch im Verzeichnis „/home/oracle“. Die Klausel „Source_file_name_convert“ ersetzt das Dateinamenmuster und zeigt auf den tatsächlichen Quellspeicherort. Die Klausel „file_name_convert“ hilft beim Verschieben von Daten vom Betriebssystem auf ASM-Datenträger.
4. Migrieren von 12c-noncdb zu PDB:
Weitere Informationen finden Sie in diesem Whitepaper.
Datenbanken: Oracle 12cR1
Autor:
Mahesh Reddy
Problem:
Wie kann ich eine PDB mit der Containerdatenbank Oracle12c verbinden?
Lösung:
Sie können eine Pluggable Database auf folgende Weise erstellen:
- Erstellen Sie eine neue PDB mit Seed.
- Erstellen Sie eine neue PDB, indem Sie eine vorhandene PDB klonen
- Verbinden Sie eine nicht angeschlossene PDB mit einer CDB
- Erstellen Sie eine neue PDB aus 12c Non-CDB
Erstellen Sie eine PDB mit der SEED-Datenbank. Diese Methode kopiert die mit dem Seed verknüpften Dateien an einen neuen Speicherort und ordnet sie einer neuen PDB zu. Mit „create pluggable database statement“ können Sie auf einfache Weise neue PDBs aus dem SEED erstellen.
Sie können die folgenden Klauseln angeben, um eine neue PDB aus einem SEED auf verschiedene Arten zu erstellen:
- Storage: Sie können die Speicherbeschränkungen festlegen.
- Default Tablespace: Erstellt einen kleinen Dateitabellenbereich und weist diesen Nicht-Systemnutzern zu.
- path_prefix: gibt den absoluten Pfad an
- file_name_convert: Es gibt den neuen Speicherort der PDB-Dateien aus Quelldateien an.
- Tempfile reuse: Gibt an, dass das Tempfile vom Zielspeicherort aus wiederverwendet werden soll.
- Roles: Vordefinierte Oracle-Rollen, die der Rolle PDB_DBA gewährt werden sollen.
Hinweis: Die ROLES-Klausel kann nur verwendet werden, wenn Sie eine PDB aus dem Seed erstellen.
Beispiel 1:
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Die obige Anweisung erstellt eine PDB mit dem lokalen Nutzer PDBUSR. Mit dieser Anweisung wird die Rolle PDB_DBA dem PDB-Administrator „pdbusr“ und die angegebene vordefinierte Oracle-Rolle der Rolle PDB_DBA lokal in der PDB zugewiesen.
Beispiel 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’);
Die obige Anweisung erstellt die PDB mit der begrenzten Größe. Sie gibt an, dass alle Tablespaces, die der PDB angehören, 5 Gigabyte nicht überschreiten dürfen und die standardmäßigen Tablespace-Benutzer für Nicht-Administrator-Nutzer am neuen Speicherort „+ DATA_NEW“ sind.
2. Erstellen Sie eine neue PDB, indem Sie eine vorhandene PDB klonen:
Das Klonen von Produktionsdatenbanken ist eine gängige Technik zum Entwickeln und Testen von Änderungen an Anwendungen und zugehörigen Umgebungen. Bevor ein neues Betriebssystem, eine neue Speichersoftware oder eine neue Anwendungsversion in einer Produktionsumgebung installiert wird, müssen die Produktionsdaten gründlich getestet werden. Dies geschieht in der Regel durch Kopieren der Produktionsdatenbank in eine Testumgebung.
In Oracle12c können Sie die Anweisung CREATE PLUGGABLE DATABASE verwenden, um eine PDB zu klonen. Mit dieser Anweisung wird eine Quell-PDB geklont und der Klon in dieselbe CDB oder Remote-CDB eingefügt.
Die Anweisung CREATE PLUGGABLE DATABASE kopiert die Dateien, die der Quell-PDB zugeordnet sind, an einen neuen Speicherort und ordnet sie der Ziel-PDB zu.
Verschiedene Arten von Klauseln:
1. Klonen einer lokalen PDB ohne Klauseln
Keine Klausel bedeutet keine strukturellen Änderungen.
z. B.: sql> create pluggable database clone_pdb from pdb;
Hier wurde mit „clone pdb“ eine PDB mit der gleichen Größe und den gleichen Rollen mit unterschiedlicher GUID in der Standardfestplattengruppe erstellt.
2. Klonen einer lokalen PDB mit den Klauseln PATH_PREFIX und FILE_NAME_CONVERT
Die Klausel FILE_NAME_CONVERT ist erforderlich, um die Zielspeicherorte der kopierten Dateien anzugeben. In diesem Beispiel werden die Dateien von einem Standort zu einem anderen Speicherort kopiert.
z. B.: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Hier werden Quell-PDB-Datendateien in der Datenträgergruppe „+ DATA“ gespeichert, Klon-PDB-Datendateien in der anderen Datenträgergruppe „+ BRLOAD“. Sie können die Klausel FILE_NAME_CONVERT verwenden, um den Speicherort der Datendateien von „+ DATA“ zu „+ BRLOAD“ zu konvertieren.
3. Klonen einer lokalen PDB mit den Klauseln PATH_PREFIX und STORAGE.
Speicherbeschränkungen müssen für die PDB erzwungen werden. Aus diesem Grund ist die Klausel STORAGE erforderlich. Insbesondere dürfen alle Tablespaces, die der PDB angehören, 2 Gigabyte nicht überschreiten und der Speicher, der von den PDB-Sitzungen im gemeinsamen temporären Tablespace verwendet wird, darf 100 Megabyte nicht überschreiten.
z. B.: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Schritte zum Klonen einer lokalen PDB:
In diesem Abschnitt wird das Klonen einer lokalen PDB beschrieben. Nach dem Klonen einer lokalen PDB sind die Quell- und Ziel-PDBs im gleichen CDB.
Sie können die PDB mithilfe der folgenden Schritte klonen:
Schritt 1: Überprüfen Sie den Status der Quell-PDB.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDBs, die geklont werden sollen, müssen den Status „READ ONLY“ haben, wenn sie im Modus „READ WRITE“ vorliegen, ändern Sie den Status mithilfe des folgenden Befehls:
Sql> alter pluggable database pdbname close instances=all;
Hier bedeutet „instances = all“, die PDB in allen Knoten zu schließen.
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
Schritt 2: Wählen Sie die erforderlichen Optionen aus den verschiedenen im Abschnitt 2 genannten Klonklauseln aus,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Dabei ist pdb1 die Quelle und clone_pdb1 das Ziel.
Schritt 3: Die geklonte PDB befindet sich im Bereitstellungsmodus und der Status ist NEW. Sie können den Status eines PDB anzeigen, indem Sie die Spalte STATUS der Ansicht CDB_PDBS oder DBA_PDBS abfragen.
Danach ändern Sie den Status von pdb mit „alter pluggable database“. Anschließend müssen Sie den PDB-Dienst in tnsnames.ora auf allen Knoten hinzufügen.
3. Trennen Sie die PDB und verbinden Sie sie mit CDB:
Trennen einer PDB:
Durch Trennen einer PDB wird die Zuordnung der PDB zu einer CDB aufgehoben. Beim Trennvorgang werden einige Änderungen an den Datendateien der PDB vorgenommen, z. B., dass die PDB erfolgreich getrennt wurde. Da sie immer noch Teil der CDB ist, ist die nicht angeschlossene PDB in einer RMAN-Sicherung der gesamten CDB enthalten. Eine solche Sicherung bietet eine bequeme Möglichkeit, die nicht verbundene PDB zu archivieren, falls sie in Zukunft benötigt wird. Die PDB muss geschlossen werden, bevor Sie getrennt werden kann. Wenn Sie eine PDB von einer CDB trennen, befindet sich die getrennte PDB im Bereitstellungsmodus.
Schritte zum Trennen einer PDB:
Überprüfen Sie den Status der Quell-PDB.
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Wenn sich das Quell-PDB im Modus „READ WRITE“ befindet, müssen Sie den PDB-Status in „MOUNTED“ ändern.
Sql> alter pluggable database PDBNAME close instances=all;
Stellen Sie eine Verbindung zum Stammcontainer her und führen Sie den folgenden Befehl aus:
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Hier wird die Metadatendatei pdb1.xml im Verzeichnis /u01/app/oracle erstellt.
Mithilfe der XML-Metadatendatei können Sie die PDB verbinden:
3.1. für die gleiche CDB
3.2. für eine Remote-CDB
Sie können die PDB mit Hilfe von „create pluggable database“ an die CDB anschließen und die XML-Datei mit verschiedenen Klauseln angeben.
Verschiedene Arten von Klauseln:
Verwendung der Klauseln „no copy“und „source_file_name_convert“:
SOURCE_FILE_NAME_CONVERT: Die XML-Datei zeigt nicht den aktuellen Dateispeicherort an. Dieses Mal können wir diese Klausel verwenden. Die XML gibt an, dass sich die Dateien in „+DATA“ befinden, tatsächlich sind die Dateien jedoch in „+DATA1“.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Hier ersetzt das Dateinamenmuster string2 das Dateinamenmuster string1.
2. Verwendung der Klauseln „path_prefix“, „copy“ und „file_name_convert“:
PATH_PREFIX: Mit dieser Klausel wird der absolute Pfad des Speicherorts der Datendateien angegeben.
FILE_NAME_CONVERT: Sie können diese Klausel verwenden, wenn sich die Dateien nicht am Zielspeicherort befinden und Sie sie dann während der PDB-Erstellung kopieren oder verschieben möchten.
3. Verwenden der Klausel FILE_NAME_CONVERT, MOVE, SOURCE_FILE_NAME_CONVERT:
Da die XML-Datei nicht den aktuellen Speicherort der Dateien beschreibt, ist eine Konvertierung des Quelldateinamens erforderlich. Beispiel: Die XML gibt an, dass sich die Dateien in „+DATA“ befinden, tatsächlich sind die Dateien jedoch in „/u01/app“.
Die Konvertierung des Dateinamens ist erforderlich, um die Dateien von „/u01/app“ nach „+DATA1“ zu verschieben.
3.1. Verbinden Sie die nicht verbundene PDB mit derselben CDB:
Die PDB muss aus der CDB entfernt werden, bevor sie wieder mit derselben CDB verbunden werden kann.
Erstellen Sie eine Pluggable Database mithilfe einer XML-Datei mit unterschiedlichen Methoden.
a) NOCOPY-Methode
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-Methode
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-Methode
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Verbinden Sie die nicht verbundene PDB mit derselben CDB:
Voraussetzungen:
A) Sie müssen dasselbe Endian-Format haben.
B) Auf ihnen müssen die gleichen Datenbankoptionen installiert sein.
QUELLE:
1. Nachdem Sie die PDB getrennt haben, übertragen Sie die XML auf den Zielspeicherort und übertragen Sie die Datenbankdateien von der Datenträgergruppe (+DATA) auf den Speicherort des Betriebssystems (/home/) mit dem Befehl „ASMCMD CP“ oder „DATA_FILE_NAME_CONVERT“.
2. Übertragen Sie die Datenbankdateien von der Quelle zum Speicherort des Zielbetriebssystems.
ZIEL:
Sobald Sie die XML- und Datenbankdateien aus der Quelle erhalten haben, können Sie mit der Funktion DBMS_PDB.CHECK_PLUG_COMPATIBILITY ermitteln, ob die nicht verbundene PDB mit der ZIEL-CDB kompatibel ist.
Wenn Sie die Ausgabe „YES“ erhalten, ist der PDB kompatibel.
Wenn Sie die Ausgabe „NO“ erhalten, ist die PDB nicht kompatibel. Überprüfen Sie die Anzeige PDB_PLUG_IN_VIOLATIONS auf Fehler.
Wählen Sie beim Erstellen einer Remote-PDB die erforderlichen Klauseln aus Abschnitt 3,
z. B.: Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Move
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beschreibung: Die XML-Datei gibt den Speicherort der PDB-Datendateien in Bezug auf ASM-Datenträger an, die tatsächlichen Dateien befinden sich jedoch im Verzeichnis „/home/oracle“. Die Klausel „Source_file_name_convert“ ersetzt das Dateinamenmuster und zeigt auf den tatsächlichen Quellspeicherort. Die Klausel „file_name_convert“ hilft beim Verschieben von Daten vom Betriebssystem auf ASM-Datenträger.
4. Migrieren von 12c-noncdb zu PDB:
Weitere Informationen finden Sie in diesem Whitepaper.
Article Properties
Article Number: 000146520
Article Type: Solution
Last Modified: 21 Feb 2021
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.