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 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.
1. Skapa en ny PDB med hjälp av Seed:

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.
SLN310932_sv__1icon 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.