Hur ansluter jag en PDB till container-databasen Oracle12c?
Resumen: Vi vill leverera lösningar som förenklar IT. Vi tillhandahåller databaslösningar, anpassad utveckling, dynamiska datacenter, flexibel datoranvändning.
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
Gäller:
Databaser: Oracle 12cR1
Författare:
Mahesh Reddy
Problem:
Hur ansluter jag en PDB till container-databasen Oracle12c?
Lösning:
Du kan skapa en pluggbar databas på följande sätt:
Skapa en PDB med hjälp av Seed-databasen. Med den här metoden kopieras filerna som är kopplade till Seed-enheten till en ny plats och kopplas till en ny PDB. Du kan enkelt skapa nya PDB-databaser från Seed-enheten genom att använda instruktionen för att skapa en pluggbar databas.
Du kan ange följande satser för att skapa en ny PDB från Seed på olika sätt:
Obs! Du kan endast använda satsen ROLES när du skapar en PDB från Seed.
Exempel: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Ovanstående instruktion skapar en PDB med den lokala användarens PDBUSR. Denna instruktion beviljar PDB_DBA-rollen för PDB-administratören ”pdbusr” och tilldelar de angivna fördefinierade Oracle-rollerna till PDB_DBA-rollen lokalt i PDB.
Exempel: 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’);
Ovanstående instruktion skapar en PDB med den begränsade storleken. Den anger att alla lagringsplatser som tillhör PDB-databasen inte får vara större än 5 GB och att standardlagringsplatsen för användare som inte är administratörer på den nya platsen är ”+DATA_NEW”.
2. Skapa en ny PDB genom att klona en befintlig PDB:
Att klona en produktionsdatabas är en teknik som ofta används för att utveckla och testa ändringar i program och tillhörande miljöer. Innan en ny version av ett operativsystem släpps eller ett lagringsprogram eller en programversion installeras i en produktionsmiljö måste man genomföra noggranna tester med produktionsdata. Detta åstadkommer man vanligtvis genom att kopiera produktionsdatabasen till en testmiljö.
I Oracle12c kan du använda instruktionen CREATE PLUGGABLE DATABASE för att klona en PDB. Denna instruktion klonar en käll-PDB och ansluter klonen till samma CDB eller till en fjärr-CDB.
Instruktionen CREATE PLUGGABLE DATABASE kopierar de filer som är kopplade till käll-PDB:n till en ny plats och kopplar filerna till mål-PDB:n.
Olika typer av satser:
1. Klona en lokal PDB utan att använda satser
Om du inte använder satser görs inga strukturella ändringar.
Ex: sql> create pluggable database clone_pdb from pdb;
Här har PDB-klonen skapats med samma storlek och samma roller med olika GUID i standarddiskgruppen.
2. Klona en lokal PDB med satserna PATH_PREFIX och FILE_NAME_CONVERT
Satsen FILE_NAME_CONVERT krävs för att ange målplatserna för de kopierade filerna. I det här exemplet kopieras filerna från en plats till en annan.
Ex: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Här lagras datafilerna för PDB:n i diskgruppen ”+DATA”. Klonade PDB-datafiler placeras i en annan diskgrupp som heter ”+ BRLOAD”. Du kan använda satsen FILE_NAME_CONVERT för att ändra datafilsplats från ”+DATA” till ”+BRLOAD”.
3. Klona en lokal PDB med satserna FILE_NAME_CONVERT OCH STORAGE.
Lagringsgränserna måste tillämpas för PDB:n. Därför behövs satsen STORAGE. Mer specifikt får inga av de lagringsplatser som tillhör PDB:n överstiga 2 gigabyte, och högst 100 megabyte får användas under PDB-sessionerna på den delade tillfälliga lagringsplatsen.
Ex: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Steg för att klona en lokal PDB:
I det här avsnittet beskrivs hur man klonar en lokal PDB. När en lokal PDB har klonats är käll- och mål-PDB:erna i samma CDB.
Du kan klona PDB genom att göra följande:
Steg 1: Kontrollera käll-PDB:ns status
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDB-databaser som ska klonas måste ha statusen READ ONLY. Ändra statusen med följande kommando om databasen är i READ WRITE-läge:
Sql> alter pluggable database pdbname close instances=all;
Här innebär ”instances=all” att PDB:n i alla noder ska stängas.
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
Steg 2: Välj de alternativ som behövs från de olika klonsatserna som nämns i avsnitt 2.
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Här är pdb1 källa och clone_pdb1 mål.
Steg 3: Den klonade PDB:n är i monterat läge och dess status är NEW. Du kan se statusen för en PDB genom att fråga om kolumnen STATUS för vyn CDB_PDBS eller DBA_PDBS.
Efter den ändringen ändrar du läget för PDB med Alter pluggable Database och sedan måste du lägga till PDB-tjänsten i tnsnames.ora i alla noder.
3. Koppla bort och ansluta en PDB till en CDB:
Koppla bort en PDB:
När du kopplar bort en PDB kopplas PDB:n från en CDB. När du kopplar bort en databas görs några ändringar i PDB:ns datafiler för att registrera olika åtgärder, bland annat att PDB:n har kopplats bort. Eftersom den fortfarande är en del av CDB:n läggs den bortkopplade PDB:n i en RMAN-säkerhetskopia av hela CDB:n. En sådan säkerhetskopia är ett bekvämt sätt att arkivera den bortkopplade PDB:n så att du har den om den behövs i framtiden. PDB:n måste stängas innan den kan kopplas bort. När du kopplar bort en PDB från en CDB sätts den bortkopplade PDB:n i monterat läge
Steg för att koppla bort en PDB:
Kontrollera käll-PDB:ns status
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Om käll-PDB:n är i skrivskyddat läge bör du ändra statusen till MOUNTED.
Sql> alter pluggable database PDBNAME close instances=all;
Anslut till rotbehållaren och kör nedanstående kommando
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Nu skapas metadatafilen pdb1.xml i katalogen /u01/app/oracle.
Med hjälp av XML metadatafilen kan du ansluta PDB:n till
3.1. samma CDB
3.2. en fjärr-CDB
Du kan ansluta PDB:n till CDB:n med hjälp av Create pluggable database och ange XML-filen med olika satser.
Olika typer av satser:
Använda satsen source_file_name_convert, no copy:
SOURCE_FILE_NAME_CONVERT: XML-filen visar inte den aktuella filplatsen. Den gången kan du använda den här satsen. XML-filen visar att filerna är i +DATA, men de faktiska filerna är i +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Här ersätter string2-filnamnsmönstret string1-filnamnsmönstret.
2. Använda satsen path_prefix, copy, file_name_convert:
PATH_PREFIX: Den här satsen används för att ange den absoluta sökvägen till platsen med datafiler.
FILE_NAME_CONVERT: Du kan använda den här satsen när filerna inte är på målplatsen och du vill kopiera eller flytta dem när du skapar en PDB.
3. Använda satsen FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
XML-filen beskriver inte den aktuella platsen för filerna, så satsen för konvertering av källfilsnamn krävs. Exempel: XML-filen visar att filerna finns i ”+DATA”, men filerna är i ”/u01/app”.
FILE NAME CONVERT krävs för att flytta filerna från ”/u01/app” till ”+DATA1”.
3.1. Anslut den bortkopplade PDB:n till samma CDB:
PDB:n måste tas bort från CDB:n innan den kan anslutas till samma CDB igen.
Skapa pluggbar databas med XML-filen på olika sätt.
a) NOCOPY-metoden
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-metoden
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-metoden
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Anslut den bortkopplade PDB:n till en fjärr-CDB:
Nödvändiga förhandsåtgärder:
A) De måste ha samma endian-format.
B) De måste ha samma uppsättning databasalternativ installerade.
KÄLLA:
1. När du har kopplat bort PDB:n ska du överföra XML-filen till målplatsen och även databasfilerna från diskgruppen (+DATA) till OS-platsen (/home/) med kommandot ASMCMD cp eller DATA_FILE_NAME_CONVERT.
2. Överför databasfilerna från källan till OS-målplatsen.
MÅL:
När du har hämtat XML- och databasfilerna från källan kan du använda funktionen DBMS_PDB.CHECK_PLUG_COMPATIBILITY för att avgöra om den bortkopplade PDB:n är kompatibel med mål-CDB:n.
Om utdata är ”YES” är PDB:n kompatibel.
Om utdata är ”NO” är PDB:n inte kompatibel. Kontrollera också vyn PDB_PLUG_IN_VIOLATIONS efter fel.
När du skapar en fjärr-PDB väljer du obligatoriska satser från avsnitt 3.
Ex: SQL > Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Flytta
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beskrivning: XML-filen anger platsen för PDB-filerna när det gäller ASM-diskar, men de faktiska filerna finns på platsen ”/home/oracle”. Med satsen Source_file_name_convert kan du byta ut filnamnsmönstret och peka på den faktiska källplatsen. Satsen file_name_convert kan du använda till att flytta data från OS-platsen till ASM-diskarna.
4. Migrera 12c som inte är CDB till PDB:
Se detta informationsdokument.
Databaser: Oracle 12cR1
Författare:
Mahesh Reddy
Problem:
Hur ansluter jag en PDB till container-databasen Oracle12c?
Lösning:
Du kan skapa en pluggbar databas på följande sätt:
- Skapa en ny PDB med hjälp av Seed.
- Skapa en ny PDB genom att klona den befintliga PDB:n.
- Anslut en frånkopplad PDB till en CDB.
- Skapa en ny PDB från en 12c-databas som inte är CDB.
Skapa en PDB med hjälp av Seed-databasen. Med den här metoden kopieras filerna som är kopplade till Seed-enheten till en ny plats och kopplas till en ny PDB. Du kan enkelt skapa nya PDB-databaser från Seed-enheten genom att använda instruktionen för att skapa en pluggbar databas.
Du kan ange följande satser för att skapa en ny PDB från Seed på olika sätt:
- Storage: Du kan ange lagringsgränser.
- Default Tablespace: En liten fillagringsplats skapas och den tilldelas till icke-systemanvändare.
- path_prefix: Den anger den absoluta sökvägen
- file_name_convert: Den specificerar den nya platsen för PDB-filerna från källfilerna.
- Tempfile reuse: Den anger att den temporära filen från målplatsen ska återanvändas.
- Roles: De fördefinierade Oracle-rollerna som ska tilldelas PDB_DBA-rollen.
Obs! Du kan endast använda satsen ROLES när du skapar en PDB från Seed.
Exempel: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Ovanstående instruktion skapar en PDB med den lokala användarens PDBUSR. Denna instruktion beviljar PDB_DBA-rollen för PDB-administratören ”pdbusr” och tilldelar de angivna fördefinierade Oracle-rollerna till PDB_DBA-rollen lokalt i PDB.
Exempel: 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’);
Ovanstående instruktion skapar en PDB med den begränsade storleken. Den anger att alla lagringsplatser som tillhör PDB-databasen inte får vara större än 5 GB och att standardlagringsplatsen för användare som inte är administratörer på den nya platsen är ”+DATA_NEW”.
2. Skapa en ny PDB genom att klona en befintlig PDB:
Att klona en produktionsdatabas är en teknik som ofta används för att utveckla och testa ändringar i program och tillhörande miljöer. Innan en ny version av ett operativsystem släpps eller ett lagringsprogram eller en programversion installeras i en produktionsmiljö måste man genomföra noggranna tester med produktionsdata. Detta åstadkommer man vanligtvis genom att kopiera produktionsdatabasen till en testmiljö.
I Oracle12c kan du använda instruktionen CREATE PLUGGABLE DATABASE för att klona en PDB. Denna instruktion klonar en käll-PDB och ansluter klonen till samma CDB eller till en fjärr-CDB.
Instruktionen CREATE PLUGGABLE DATABASE kopierar de filer som är kopplade till käll-PDB:n till en ny plats och kopplar filerna till mål-PDB:n.
Olika typer av satser:
1. Klona en lokal PDB utan att använda satser
Om du inte använder satser görs inga strukturella ändringar.
Ex: sql> create pluggable database clone_pdb from pdb;
Här har PDB-klonen skapats med samma storlek och samma roller med olika GUID i standarddiskgruppen.
2. Klona en lokal PDB med satserna PATH_PREFIX och FILE_NAME_CONVERT
Satsen FILE_NAME_CONVERT krävs för att ange målplatserna för de kopierade filerna. I det här exemplet kopieras filerna från en plats till en annan.
Ex: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Här lagras datafilerna för PDB:n i diskgruppen ”+DATA”. Klonade PDB-datafiler placeras i en annan diskgrupp som heter ”+ BRLOAD”. Du kan använda satsen FILE_NAME_CONVERT för att ändra datafilsplats från ”+DATA” till ”+BRLOAD”.
3. Klona en lokal PDB med satserna FILE_NAME_CONVERT OCH STORAGE.
Lagringsgränserna måste tillämpas för PDB:n. Därför behövs satsen STORAGE. Mer specifikt får inga av de lagringsplatser som tillhör PDB:n överstiga 2 gigabyte, och högst 100 megabyte får användas under PDB-sessionerna på den delade tillfälliga lagringsplatsen.
Ex: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Steg för att klona en lokal PDB:
I det här avsnittet beskrivs hur man klonar en lokal PDB. När en lokal PDB har klonats är käll- och mål-PDB:erna i samma CDB.
Du kan klona PDB genom att göra följande:
Steg 1: Kontrollera käll-PDB:ns status
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDB-databaser som ska klonas måste ha statusen READ ONLY. Ändra statusen med följande kommando om databasen är i READ WRITE-läge:
Sql> alter pluggable database pdbname close instances=all;
Här innebär ”instances=all” att PDB:n i alla noder ska stängas.
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
Steg 2: Välj de alternativ som behövs från de olika klonsatserna som nämns i avsnitt 2.
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Här är pdb1 källa och clone_pdb1 mål.
Steg 3: Den klonade PDB:n är i monterat läge och dess status är NEW. Du kan se statusen för en PDB genom att fråga om kolumnen STATUS för vyn CDB_PDBS eller DBA_PDBS.
Efter den ändringen ändrar du läget för PDB med Alter pluggable Database och sedan måste du lägga till PDB-tjänsten i tnsnames.ora i alla noder.
3. Koppla bort och ansluta en PDB till en CDB:
Koppla bort en PDB:
När du kopplar bort en PDB kopplas PDB:n från en CDB. När du kopplar bort en databas görs några ändringar i PDB:ns datafiler för att registrera olika åtgärder, bland annat att PDB:n har kopplats bort. Eftersom den fortfarande är en del av CDB:n läggs den bortkopplade PDB:n i en RMAN-säkerhetskopia av hela CDB:n. En sådan säkerhetskopia är ett bekvämt sätt att arkivera den bortkopplade PDB:n så att du har den om den behövs i framtiden. PDB:n måste stängas innan den kan kopplas bort. När du kopplar bort en PDB från en CDB sätts den bortkopplade PDB:n i monterat läge
Steg för att koppla bort en PDB:
Kontrollera käll-PDB:ns status
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Om käll-PDB:n är i skrivskyddat läge bör du ändra statusen till MOUNTED.
Sql> alter pluggable database PDBNAME close instances=all;
Anslut till rotbehållaren och kör nedanstående kommando
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Nu skapas metadatafilen pdb1.xml i katalogen /u01/app/oracle.
Med hjälp av XML metadatafilen kan du ansluta PDB:n till
3.1. samma CDB
3.2. en fjärr-CDB
Du kan ansluta PDB:n till CDB:n med hjälp av Create pluggable database och ange XML-filen med olika satser.
Olika typer av satser:
Använda satsen source_file_name_convert, no copy:
SOURCE_FILE_NAME_CONVERT: XML-filen visar inte den aktuella filplatsen. Den gången kan du använda den här satsen. XML-filen visar att filerna är i +DATA, men de faktiska filerna är i +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Här ersätter string2-filnamnsmönstret string1-filnamnsmönstret.
2. Använda satsen path_prefix, copy, file_name_convert:
PATH_PREFIX: Den här satsen används för att ange den absoluta sökvägen till platsen med datafiler.
FILE_NAME_CONVERT: Du kan använda den här satsen när filerna inte är på målplatsen och du vill kopiera eller flytta dem när du skapar en PDB.
3. Använda satsen FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
XML-filen beskriver inte den aktuella platsen för filerna, så satsen för konvertering av källfilsnamn krävs. Exempel: XML-filen visar att filerna finns i ”+DATA”, men filerna är i ”/u01/app”.
FILE NAME CONVERT krävs för att flytta filerna från ”/u01/app” till ”+DATA1”.
3.1. Anslut den bortkopplade PDB:n till samma CDB:
PDB:n måste tas bort från CDB:n innan den kan anslutas till samma CDB igen.
Skapa pluggbar databas med XML-filen på olika sätt.
a) NOCOPY-metoden
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-metoden
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-metoden
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2. Anslut den bortkopplade PDB:n till en fjärr-CDB:
Nödvändiga förhandsåtgärder:
A) De måste ha samma endian-format.
B) De måste ha samma uppsättning databasalternativ installerade.
KÄLLA:
1. När du har kopplat bort PDB:n ska du överföra XML-filen till målplatsen och även databasfilerna från diskgruppen (+DATA) till OS-platsen (/home/) med kommandot ASMCMD cp eller DATA_FILE_NAME_CONVERT.
2. Överför databasfilerna från källan till OS-målplatsen.
MÅL:
När du har hämtat XML- och databasfilerna från källan kan du använda funktionen DBMS_PDB.CHECK_PLUG_COMPATIBILITY för att avgöra om den bortkopplade PDB:n är kompatibel med mål-CDB:n.
Om utdata är ”YES” är PDB:n kompatibel.
Om utdata är ”NO” är PDB:n inte kompatibel. Kontrollera också vyn PDB_PLUG_IN_VIOLATIONS efter fel.
När du skapar en fjärr-PDB väljer du obligatoriska satser från avsnitt 3.
Ex: SQL > Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Flytta
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beskrivning: XML-filen anger platsen för PDB-filerna när det gäller ASM-diskar, men de faktiska filerna finns på platsen ”/home/oracle”. Med satsen Source_file_name_convert kan du byta ut filnamnsmönstret och peka på den faktiska källplatsen. Satsen file_name_convert kan du använda till att flytta data från OS-platsen till ASM-diskarna.
4. Migrera 12c som inte är CDB till PDB:
Se detta informationsdokument.
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.