Hvordan kobler jeg til en PDB til Oracle12c beholderdatabase?
Summary: Målet vårt er å levere løsninger som forenkler IT ved å tilby databaseløsninger, tilpasset utvikling, dynamiske datasentre og fleksibel databehandling
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
Gjelder for:
Databaser: Oracle 12cR1
Forfatter:
Mahesh Reddy
Problem:
Hvordan kobler jeg en PDB til Oracle12c beholderdatabase?
Løsning:
Du kan opprette en pluggbar database på følgende måter:
Opprett en PDB ved hjelp av SEED-databasen. Denne metoden kopierer filer som er knyttet til seedfilen til en ny plassering, og knytter dem til den nye PDB-en. Du kan enkelt opprette en ny PDB fra SEED ved hjelp av en opprett pluggbar database-setning.
Du kan angi følgende setninger for å opprette en ny PDB fra SEED på ulike måter:
Merk: ROLES-setningen kan bare brukes når du oppretter en PDB fra seedfilen.
Eksempel: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Setningen over oppretter en PDB med den lokale brukeren PDBUSR. Denne setningen gir PDB_DBA-rollen til PDB-administratorens «pdbusr» og gir de angitte forhåndsdefinerte Oracle-rollene til PDB_DBA-rollen lokalt i PDB-en.
Eksempel: 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’);
Setningen over oppretter PDB-en med begrenset størrelse. Den angir ingen alle tabellområder som tilhører PDB-en, må overstige 5 gigabyte, og den oppretter standard tabellområder for brukere som ikke er administrator, på den nye plasseringen, som er «+ DATA_NEW».
2. Opprette en ny PDB ved å klone en eksisterende PDB:
Kloning av en produksjonsdatabase er en vanlig teknikk som brukes til å utvikle og teste endringer i programmer og tilknyttede miljøer. Før en ny versjon av operativsystemet, lagringsprogramvaren eller applikasjonsversjonen installeres i et produksjonsmiljø, er det nødvendig med grundig testing ved bruk av produksjonsdata. Dette gjøres vanligvis ved å kopiere produksjonsdatabasen til et testmiljø.
I Oracle12c kan du bruke setningen CREATE PLUGGABLE DATABASE til å klone en PDB. Denne setningen kloner en kilde-PDB og plugger klonen inn i samme CDB eller en ekstern CDB.
Setningen CREATE PLUGGABLE DATABASE kopierer filer som er knyttet til kilde-PDB-en til et nytt sted, og knytter filene til mål-PDB-en.
Forskjellige typer setninger:
1. Klone en lokal PDB uten bruk av setninger
Ingen setninger betyr ingen strukturelle endringer.
Eksempel: sql> create pluggable database clone_pdb from pdb;
Her er PDB-en klonet med samme størrelse og samme rolle med forskjellig GUID i standard diskgruppe.
2. Klone en lokal PDB med setningene PATH_PREFIX og FILE_NAME_CONVERT
Setningen FILE_NAME_CONVERT er nødvendig for å angi målplasseringene for de kopierte filene. I dette eksemplet blir filene kopiert fra én plassering til en annen.
Eksempel: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Her lagres kilde-PDB-datafilene i «+DATA»-diskgruppen, de klonede PDB-datafilene plasseres i en annen diskgruppe, «+BRLOAD». Du kan bruke setningen FILE_NAME_CONVERT til å konvertere datafilplasseringene fra «+DATA» til «+BRLOAD».
3. Klone en lokal PDB ved hjelp av setningene FILE_NAME_CONVERT og STORAGE.
Lagringsgrenser må håndheves for PDB-en. Derfor er STORAGE-setningen nødvendig. Spesifikt skal ingen av tabellområdene som hører til PDB-en, overstige 2 gigabyte, og lagringen som brukes av PDB-øktene i det delte, midlertidige tabellområdet må ikke overstige 100 megabyte.
Eksempel: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Fremgangsmåte for å klone en lokal PDB:
Denne delen beskriver hvordan du kloner en lokal PDB. Når du har klonet en lokal PDB, er kilde- og mål-PDB-ene i samme CDB.
Du kan klone en PDB ved hjelp av følgende trinn:
Trinn 1: Kontrollere status for kilde-PDB-en
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDB-er som skal klones, må ha statusen READ ONLY (skrivebeskyttet). Hvis de er i READ/WRITE-modus (lese/skrive), endrer du status ved hjelp av kommandoen nedenfor
Sql> alter pluggable database pdbname close instances=all;
Her betyr instances=all at PDB-en lukkes i alle noder.
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
Trinn 2: Velg de nødvendige alternativene fra ulike kloningssetninger som er nevnt i avsnitt2,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Her er pdb1 kilde, og clone_pdb1 er mål
Trinn 3: Klonet PDB vil være i montert modus, og statusen er NEW (ny). Du kan vise status for en PDB ved å spørre på STATUS-kolonnen i CDB_PDBS- eller DBA_PDBS-visning.
Når du har endret status for PDB-en ved hjelp av kommandoen for å endre pluggbar database, må du legge til PDB-tjenesten i tnsnames.ora i alle noder.
3. Koble fra og koble til en PDB til CDB:
Koble fra en PDB:
Koble fra en PDB fjerner PDB-ens tilknytning til en CDB. Frakoblingen gjør noen endringer i PDB-datafilene som skal registreres, for eksempel at PDB-en er koblet fra. Ettersom den fortsatt er en del av CDB-en, inkluderes den frakoblede PDB-en i en RMAN-sikkerhetskopi av hele CDB-en. En slik sikkerhetskopiering gir deg en praktisk måte å arkivere en av de frakoblet PDB-ene på, i tilfelle den trengs i fremtiden. PDB-en må lukkes før den kan kobles fra. Når du kobler en PDB fra en CDB, er den frakoblede PDB-en i montert modus
Fremgangsmåte for å koble fra en PDB:
Kontroller status for kilde-PDB-en
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Hvis kilde-PDB-en er i lese-/skrivemodus, må du endre PDB-statusen til MOUNTED (montert).
Sql> alter pluggable database PDBNAME close instances=all;
Koble til rotbeholderen og utfør kommandoen nedenfor
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Her oppretter du metadatafilen pdb1.xml i /u01/app/oracle-katalogen.
Når du bruker XML-metadatafilen, kan du koble til PDB-en til
3.1. samme CDB
3.2. ekstern CDB
Du kan koble PDB-en til en CDB ved å opprette en pluggbar database og angi XML-filen med forskjellige setninger.
Forskjellige typer setninger:
Bruke source_file_name_convert, ingen kopieringssetning:
SOURCE_FILE_NAME_CONVERT: XML-filen viser ikke gjeldende filplassering. Denne gangen kan vi bruke denne setningen. XML angir at filene er i +DATA, men faktisk er filene i +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Her erstatter filnavnmønsteret til string2 filvavnmønsteret til string1.
2. Bruke setningene path_prefix, copy, file_name_convert:
PATH_PREFIX: Denne setningen brukes til å angi absolutt bane til fildataplasseringer.
FILE_NAME_CONVERT: Du kan bruke denne setningen når filene ikke er på målplasseringen, og så kan du kopiere eller flytte dem når du oppretter PDB-en.
3. Bruke setningene FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
XML-filen beskriver ikke plasseringen til den gjeldende filen, så navnet på kildefilen må konverteres. Eksempel: XML-filen angir at filer er i «+DATA», men filene er i «/u01/app».
Konvertering av filnavn er nødvendig for å flytte filene fra «/u01/app» til «+DATA1».
3.1. Koble PDB-en som ikke er tilkoblet, til samme CDB:
PDB-en må fjernes fra CDB-en før den kan kobles til den samme CDB-en igjen.
Opprett pluggbar database ved hjelp av XML-fil med ulike metoder.
a) NOCOPY-metoden
Sql>Opprette pluggbar database pdb1 ved hjelp av ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-metoden
Sql> Opprette pluggbar database pdb1 ved hjelp av ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-metoden
Sql> Opprette pluggbar database pdb1 som klone ved hjelp av ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3,2. Koble PDB-en som ikke er tilkoblet, til den eksterne CDB-en:
Forhåndskrav:
A) De må ha samme endian-format.
B) De må ha samme sett med databasealternativer installert.
SOURCE:
1. Når du har koblet fra PDB-en, må du overføre XML-filen til målplasseringen og overføre databasefilene fra diskgruppen (+DATA) til OS-plasseringen (/home/) ved hjelp av kommandoene ASMCMD cp DATA_FILE_NAME_CONVERT.
2. Overføre databasefilene fra kilde til målplassering i operativsystemet.
TARGET:
Når du får XML- og databasefilene fra kilden, kan du bruke DBMS_PDB. CHECK_PLUG_COMPATIBILITY-funksjonen for å bestemme om den frakoblede PDB-en er kompatibel med TARGET CDB (mål-CDB-en).
Hvis du får resultatet «YES» (Ja), er PDB-en kompatibel.
Hvis du får resultatet «NO» (Nei), er PDB-en ikke kompatibel. Se etter feil i PDB_PLUG_IN_VIOLATIONS.
Når du oppretter en ekstern PDB, velger du nødvendige setninger fra avsnitt3,
Eksempel: Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Flytte
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beskrivelse: XML-filen angir PDB-datafilplassering i form av ASM-disker, men de faktiske filene ligger på plasseringen «/home/oracle». Setningen source_file_name_convert hjelper deg å skifte ut filnavnmønsteret og peker på selve kildeplasseringen. Setningen file_name_convert hjelper deg å flytte data fra OS-plasseringen til ASM-disker.
4. Migrere 12c-noncdb til PDB:
Les dette tekniske dokumentet.
Databaser: Oracle 12cR1
Forfatter:
Mahesh Reddy
Problem:
Hvordan kobler jeg en PDB til Oracle12c beholderdatabase?
Løsning:
Du kan opprette en pluggbar database på følgende måter:
- Opprette en ny PDB ved hjelp av en seedfil.
- Opprette en ny PDB ved å klone en eksisterende PDB
- Koble en ikke-plugget PDB inn i CDB
- Opprette en ny PDB fra 12c som ikke er CDB
Opprett en PDB ved hjelp av SEED-databasen. Denne metoden kopierer filer som er knyttet til seedfilen til en ny plassering, og knytter dem til den nye PDB-en. Du kan enkelt opprette en ny PDB fra SEED ved hjelp av en opprett pluggbar database-setning.
Du kan angi følgende setninger for å opprette en ny PDB fra SEED på ulike måter:
- Storage: du kan angi begrensningene for lagring
- Standard tabellområde: Den oppretter et lite filtabellområde og tilordner dette til ikke-systembrukere.
- path_prefix: Den spesifiserer den absolutte banen
- file_name_convert: Den angir den nye plasseringen av PDB-filer fra kildefilene.
- Tempfile reuse: Den spesifiserer gjenbruk av tempfilen fra målplasseringen.
- Roles: De forhåndsdefinerte Oracle-rollene som skal gis til PDB_DBA-rollen.
Merk: ROLES-setningen kan bare brukes når du oppretter en PDB fra seedfilen.
Eksempel: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
Setningen over oppretter en PDB med den lokale brukeren PDBUSR. Denne setningen gir PDB_DBA-rollen til PDB-administratorens «pdbusr» og gir de angitte forhåndsdefinerte Oracle-rollene til PDB_DBA-rollen lokalt i PDB-en.
Eksempel: 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’);
Setningen over oppretter PDB-en med begrenset størrelse. Den angir ingen alle tabellområder som tilhører PDB-en, må overstige 5 gigabyte, og den oppretter standard tabellområder for brukere som ikke er administrator, på den nye plasseringen, som er «+ DATA_NEW».
2. Opprette en ny PDB ved å klone en eksisterende PDB:
Kloning av en produksjonsdatabase er en vanlig teknikk som brukes til å utvikle og teste endringer i programmer og tilknyttede miljøer. Før en ny versjon av operativsystemet, lagringsprogramvaren eller applikasjonsversjonen installeres i et produksjonsmiljø, er det nødvendig med grundig testing ved bruk av produksjonsdata. Dette gjøres vanligvis ved å kopiere produksjonsdatabasen til et testmiljø.
I Oracle12c kan du bruke setningen CREATE PLUGGABLE DATABASE til å klone en PDB. Denne setningen kloner en kilde-PDB og plugger klonen inn i samme CDB eller en ekstern CDB.
Setningen CREATE PLUGGABLE DATABASE kopierer filer som er knyttet til kilde-PDB-en til et nytt sted, og knytter filene til mål-PDB-en.
Forskjellige typer setninger:
1. Klone en lokal PDB uten bruk av setninger
Ingen setninger betyr ingen strukturelle endringer.
Eksempel: sql> create pluggable database clone_pdb from pdb;
Her er PDB-en klonet med samme størrelse og samme rolle med forskjellig GUID i standard diskgruppe.
2. Klone en lokal PDB med setningene PATH_PREFIX og FILE_NAME_CONVERT
Setningen FILE_NAME_CONVERT er nødvendig for å angi målplasseringene for de kopierte filene. I dette eksemplet blir filene kopiert fra én plassering til en annen.
Eksempel: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Her lagres kilde-PDB-datafilene i «+DATA»-diskgruppen, de klonede PDB-datafilene plasseres i en annen diskgruppe, «+BRLOAD». Du kan bruke setningen FILE_NAME_CONVERT til å konvertere datafilplasseringene fra «+DATA» til «+BRLOAD».
3. Klone en lokal PDB ved hjelp av setningene FILE_NAME_CONVERT og STORAGE.
Lagringsgrenser må håndheves for PDB-en. Derfor er STORAGE-setningen nødvendig. Spesifikt skal ingen av tabellområdene som hører til PDB-en, overstige 2 gigabyte, og lagringen som brukes av PDB-øktene i det delte, midlertidige tabellområdet må ikke overstige 100 megabyte.
Eksempel: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Fremgangsmåte for å klone en lokal PDB:
Denne delen beskriver hvordan du kloner en lokal PDB. Når du har klonet en lokal PDB, er kilde- og mål-PDB-ene i samme CDB.
Du kan klone en PDB ved hjelp av følgende trinn:
Trinn 1: Kontrollere status for kilde-PDB-en
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDB-er som skal klones, må ha statusen READ ONLY (skrivebeskyttet). Hvis de er i READ/WRITE-modus (lese/skrive), endrer du status ved hjelp av kommandoen nedenfor
Sql> alter pluggable database pdbname close instances=all;
Her betyr instances=all at PDB-en lukkes i alle noder.
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
Trinn 2: Velg de nødvendige alternativene fra ulike kloningssetninger som er nevnt i avsnitt2,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Her er pdb1 kilde, og clone_pdb1 er mål
Trinn 3: Klonet PDB vil være i montert modus, og statusen er NEW (ny). Du kan vise status for en PDB ved å spørre på STATUS-kolonnen i CDB_PDBS- eller DBA_PDBS-visning.
Når du har endret status for PDB-en ved hjelp av kommandoen for å endre pluggbar database, må du legge til PDB-tjenesten i tnsnames.ora i alle noder.
3. Koble fra og koble til en PDB til CDB:
Koble fra en PDB:
Koble fra en PDB fjerner PDB-ens tilknytning til en CDB. Frakoblingen gjør noen endringer i PDB-datafilene som skal registreres, for eksempel at PDB-en er koblet fra. Ettersom den fortsatt er en del av CDB-en, inkluderes den frakoblede PDB-en i en RMAN-sikkerhetskopi av hele CDB-en. En slik sikkerhetskopiering gir deg en praktisk måte å arkivere en av de frakoblet PDB-ene på, i tilfelle den trengs i fremtiden. PDB-en må lukkes før den kan kobles fra. Når du kobler en PDB fra en CDB, er den frakoblede PDB-en i montert modus
Fremgangsmåte for å koble fra en PDB:
Kontroller status for kilde-PDB-en
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Hvis kilde-PDB-en er i lese-/skrivemodus, må du endre PDB-statusen til MOUNTED (montert).
Sql> alter pluggable database PDBNAME close instances=all;
Koble til rotbeholderen og utfør kommandoen nedenfor
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Her oppretter du metadatafilen pdb1.xml i /u01/app/oracle-katalogen.
Når du bruker XML-metadatafilen, kan du koble til PDB-en til
3.1. samme CDB
3.2. ekstern CDB
Du kan koble PDB-en til en CDB ved å opprette en pluggbar database og angi XML-filen med forskjellige setninger.
Forskjellige typer setninger:
Bruke source_file_name_convert, ingen kopieringssetning:
SOURCE_FILE_NAME_CONVERT: XML-filen viser ikke gjeldende filplassering. Denne gangen kan vi bruke denne setningen. XML angir at filene er i +DATA, men faktisk er filene i +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Her erstatter filnavnmønsteret til string2 filvavnmønsteret til string1.
2. Bruke setningene path_prefix, copy, file_name_convert:
PATH_PREFIX: Denne setningen brukes til å angi absolutt bane til fildataplasseringer.
FILE_NAME_CONVERT: Du kan bruke denne setningen når filene ikke er på målplasseringen, og så kan du kopiere eller flytte dem når du oppretter PDB-en.
3. Bruke setningene FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
XML-filen beskriver ikke plasseringen til den gjeldende filen, så navnet på kildefilen må konverteres. Eksempel: XML-filen angir at filer er i «+DATA», men filene er i «/u01/app».
Konvertering av filnavn er nødvendig for å flytte filene fra «/u01/app» til «+DATA1».
3.1. Koble PDB-en som ikke er tilkoblet, til samme CDB:
PDB-en må fjernes fra CDB-en før den kan kobles til den samme CDB-en igjen.
Opprett pluggbar database ved hjelp av XML-fil med ulike metoder.
a) NOCOPY-metoden
Sql>Opprette pluggbar database pdb1 ved hjelp av ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) COPY-metoden
Sql> Opprette pluggbar database pdb1 ved hjelp av ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) AS CLONE MOVE-metoden
Sql> Opprette pluggbar database pdb1 som klone ved hjelp av ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3,2. Koble PDB-en som ikke er tilkoblet, til den eksterne CDB-en:
Forhåndskrav:
A) De må ha samme endian-format.
B) De må ha samme sett med databasealternativer installert.
SOURCE:
1. Når du har koblet fra PDB-en, må du overføre XML-filen til målplasseringen og overføre databasefilene fra diskgruppen (+DATA) til OS-plasseringen (/home/) ved hjelp av kommandoene ASMCMD cp DATA_FILE_NAME_CONVERT.
2. Overføre databasefilene fra kilde til målplassering i operativsystemet.
TARGET:
Når du får XML- og databasefilene fra kilden, kan du bruke DBMS_PDB. CHECK_PLUG_COMPATIBILITY-funksjonen for å bestemme om den frakoblede PDB-en er kompatibel med TARGET CDB (mål-CDB-en).
Hvis du får resultatet «YES» (Ja), er PDB-en kompatibel.
Hvis du får resultatet «NO» (Nei), er PDB-en ikke kompatibel. Se etter feil i PDB_PLUG_IN_VIOLATIONS.
Når du oppretter en ekstern PDB, velger du nødvendige setninger fra avsnitt3,
Eksempel: Sql> Create pluggable database pdbname using ‘/home/oracle/pdbname.xml’
Source_file_name_convert = (‘+SOURCE_DATA’,’/home/oracle/datafiles’)
Flytte
File_name_convert = (‘/home/oracle/datafiles’,’+TARGET_DATA’);
Beskrivelse: XML-filen angir PDB-datafilplassering i form av ASM-disker, men de faktiske filene ligger på plasseringen «/home/oracle». Setningen source_file_name_convert hjelper deg å skifte ut filnavnmønsteret og peker på selve kildeplasseringen. Setningen file_name_convert hjelper deg å flytte data fra OS-plasseringen til ASM-disker.
4. Migrere 12c-noncdb til PDB:
Les dette tekniske dokumentet.
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.