¿Cómo puedo conectar una PDB a la base de datos del contenedor de Oracle 12c?
Resumen: Nuestro objetivo es ofrecer soluciones que simplifiquen la TI mediante soluciones de bases de datos, el desarrollo personalizado, centros de datos dinámicos y computación flexible
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
Se aplica a:
Bases: Oracle 12cR1
Autor:
Problema de Unad
Reddy:
¿Cómo se conecta una PDB a la base de datos del contenedor Oracle12c?
Solución:
Puede crear una base de datos conectable de las siguientes maneras:
Cree una PDB mediante la base de datos de SEED. Este método copia los archivos asociados con la propagación a una nueva ubicación y los asocia a una nueva PDB. Puede crear fácilmente una nueva PDB desde el SEED mediante la creación de una declaración de base de datos conectable.
Puede especificar las siguientes cláusulas para crear una nueva PDB a partir de SEED de diferentes maneras:
Nota: La cláusula ROLES solo se puede usar cuando se crea una PDB desde la raíz.
Ejemplo: 1
Sql> Crear PDBNAME del usuario administrador de la base de datos conectable PDBUSR identificado por CONTRASEÑA;
La declaración anterior crea PDB con el usuario local PDBUSR. Esta declaración otorga la función PDB_DBA al administrador de PDB "pdbusr" y otorga las funciones predefinidas de Oracle especificadas a la función PDB_DBA localmente en la PDB.
Ejemplo: 2 Sql> Crear un pdbusr del usuario administrador de PDBNAME de la base de datos
conectable identificado por password storage (MAXSIZE 5G) default tablespace USERS datafile '+DATA_NEW' size 100M autoextend on path_prefix = '+DATA_NEW' file_name_convert = ('+DATA','DATA_NEW');
La declaración anterior crea la pdb con el tamaño limitado, especifica que todos los espacios de tablas que pertenecen a la PDB no deben exceder los 5 gigabytes y crea los usuarios de espacios de tablas predeterminados para usuarios no administradores en la nueva ubicación es "+DATA_NEW".
2. Cree una nueva PDB mediante la clonación de una PDB existente:
La clonación de la base de datos de producción es una técnica común que se utiliza para desarrollar y probar los cambios en las aplicaciones y los entornos asociados. Antes de instalar una nueva versión del sistema operativo, del software de almacenamiento o de la versión de la aplicación en un entorno de producción, se necesitan pruebas exhaustivas utilizando los datos de producción. Por lo general, esto se logra mediante la copia de la base de datos de producción en un ambiente de prueba.
En Oracle12c, puede usar la declaración CREATE PLUGGABLE DATABASE para clonar una PDB. Esta instrucción clona una PDB de origen y conecta el clon en la misma CDB o CDB remota.
La declaración CREATE PLUGGABLE DATABASE copia los archivos asociados con la PDB de origen a una nueva ubicación y asocia los archivos con la PDB de destino.
Diferentes tipos de cláusulas:
1. La clonación de una PDB local sin cláusulas ninguna significa que no hay
cambios estructurales.
Por ejemplo: sql> crear clone_pdb de base de datos conectable desde pdb;
Aquí, clone pdb se creó con el mismo tamaño y las mismas funciones con un GUID diferente en el grupo de discos predeterminado.
2. Clonación de una PDB local con las cláusulas PATH_PREFIX y FILE_NAME_CONVERT Se requiere la
cláusula FILE_NAME_CONVERT para especificar las ubicaciones de destino de los archivos copiados. En este ejemplo, los archivos se copian de una ubicación a otra.
POR EJEMPLO: sql> crear una base de datos conectable clone_pdb desde pdb PATH_PREFIX= '+BRLOAD' FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Aquí, los archivos de datos de pdb de origen se almacenan en el grupo de discos "+DATA", los archivos de datos de pdb clonados se colocan en un grupo de discos diferente "+BRLOAD", puede usar FILE_NAME_CONVERT cláusula para convertir la ubicación de los archivos de datos de "+DATA" a "+BRLOAD".
3. Clonación de una PDB local mediante las cláusulas FILE_NAME_CONVERT y STORAGE.
Se deben aplicar límites de almacenamiento para la PDB. Por lo tanto, se requiere la cláusula STORAGE. Específicamente, todos los espacios de tablas que pertenecen a la PDB no deben superar los 2 gigabytes, y el almacenamiento utilizado por las sesiones de PDB en el espacio de tablas temporal compartido no debe superar los 100 megabytes.
Por ejemplo: sql> crear clone_pdb de base de datos conectable desde pdb FILE_NAME_CONVERT= ALMACENAMIENTO ('+DATA','+BRLOAD') (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Pasos para clonar una PDB local:
En esta sección, se describe la clonación de una PDB local. Después de clonar una PDB local, las PDB de origen y de destino se encuentran en la misma CDB.
Puede clonar la PDB mediante los siguientes pasos:
Paso 1: Compruebe el estado de la pdb de origen
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDBs diseñado para clonarse deben tener el estado READ ONLY, si existe en el modo DE LECTURA/ESCRITURA, cambie el estado mediante el siguiente comando
Sql> alter pluggable database pdbname close instances=all;
Aquí, instances=all significa cerrar la PDB en todos los nodos.
Sql> alterar la pdb de la base de datos conectable instancias de solo lectura abiertas=all;
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ ONLY NO
STEP 2: Elija las opciones necesarias de las diferentes cláusulas de clonación mencionadas en la sección2,
Sql> crear una base de datos conectable clone_pdb1 desde pdb1; (sin cláusulas)
Donde pdb1 es el origen y clone_pdb1 es el destino
Paso 3: La PDB clonada estará en modo montado y su estado es NEW. Puede ver el estado de una PDB consultando la columna ESTADO de la vista CDB_PDBS o DBA_PDBS.
Después de eso, cambie el estado de pdb mediante la modificación de la base de datos conectable y, a continuación, debe agregar el servicio de PDB en tnsnames.ora en todos los nodos.
3. Desconecte y conecte una PDB a la CDB:
Desenchufar una PDB:
Desasociar una PDB desasocia la PDB de una CDB. La operación de desconexión realiza algunos cambios en los archivos de datos de la PDB para registrar, por ejemplo, que la PDB se desconectó correctamente. Debido a que todavía forma parte de la CDB, la PDB desconectada se incluye en un respaldo de RMAN de toda la CDB. Este tipo de respaldo proporciona una manera conveniente de archivar la PDB desconectada en caso de que sea necesaria en el futuro. La PDB debe estar cerrada antes de que se pueda desconectar. Cuando desconecta una PDB de una CDB, la PDB desconectada se encuentra en modo montado
Pasos para desconectar una PDB:Comprobar el estado de la pdb de
origen
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO Si la PDB de origen está en modo de
lectura y escritura, debe cambiar el estado de la PDB al estado MOUNTED.
Sql> alterar la base de datos conectable PDBNAME close instances=all;
Conéctese al contenedor raíz y ejecute el siguiente comando
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml';
Aquí, crea el archivo de metadatos pdb1.xml en el directorio /u01/app/oracle.
Mediante el archivo de metadatos XML, puede conectar la PDB a
3.1. misma CDB
3.2. CDB remota Puede conectar la PDB a la CDB mediante la creación de
una base de datos conectable y especificar el archivo XML con diferentes cláusulas.
Diferentes tipos de cláusulas:
con source_file_name_convert, sin cláusula de copia:
SOURCE_FILE_NAME_CONVERT: el archivo XML no muestra la ubicación actual del archivo. Esa es la hora en que podemos utilizar esta cláusula. El XML indica que los archivos están en +DATA, pero los archivos reales están en +DATA1.
Source_file_name_convert = ('+DATA','+DATA1')
+DATA= string1 +DATA1=string2 Aquí, el patrón de nombre de archivo string2 reemplaza al patrón de nombre de
archivo string1.
2. Mediante path_prefix, copy, file_name_convert cláusula:
PATH_PREFIX: esta cláusula se utiliza para especificar la ruta absoluta de la ubicación de los archivos de datos.
FILE_NAME_CONVERT: puede usar esta cláusula cuando los archivos no están en la ubicación de destino y, a continuación, desea copiarlos o moverlos durante la creación de la PDB.
3. Con la cláusula FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT: el archivo Xml no describe la ubicación actual de
los archivos, por lo que se requiere la conversión del nombre del archivo de
origen. Ejemplo: el archivo xml indica que los archivos están en "+DATA", pero los archivos están en "/u01/app".
La conversión de nombre de archivo es necesaria para transferir los archivos de "/u01/app" a "+DATA1".
3.1. Conecte la pdb desconectada a la misma CDB:
la PDB se debe quitar de la CDB antes de que se pueda volver a conectar a la misma CDB.
Cree una base de datos conectable mediante un archivo XML con diferentes métodos.
a) Método NOCOPY
Sql>Create pluggable database pdb1 using '/u01/app/oracle/pdb1.xml' nocopy;
b) COPY Method
Sql> Create pluggable database pdb1 using '/u01/app/oracle/pdb1.xml' copy file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');
c) MÉTODO DE TRANSFERENCIA DE CLONACIÓN Sql> Cree pdb1 de base de
datos conectable como clon mediante la transferencia "/u01/app/oracle/pdb1.xml" file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');
3.2. Conecte la pdb desconectada a la CDB remota:
Requisitos previos: A) Deben tener el
mismo formato endian.
B) Deben tener instalado el mismo conjunto de opciones de base de datos.
FUENTE:
1. Después de desconectar la PDB, transfiera el XML a la ubicación de destino y también transfiera los archivos de base de datos del grupo de discos (+DATA) a la ubicación del sistema operativo (/home/) mediante ASMCMD cp o DATA_FILE_NAME_CONVERT comando.
2. Transfiera los archivos de la base de datos desde la ubicación del SO de origen a la de objetivo.
DESTINO:
una vez que obtiene los archivos XML y de la base de datos del origen, puede usar el DBMS_PDB. CHECK_PLUG_COMPATIBILITY función para determinar si la pdb desconectada es compatible con la CDB DE DESTINO.
Si obtiene una salida "YES", entonces la PDB es compatible.
Si obtiene un resultado "NO", la PDB no es compatible y compruebe la vista PDB_PLUG_IN_VIOLATIONS en busca de errores.
Durante la creación de una PDB remota, elija las cláusulas requeridas de la sección3,
EX: Sql> Crear pdbname de base de datos conectable mediante '/home/oracle/pdbname.xml'
Source_file_name_convert = ('+SOURCE_DATA','/home/oracle/datafiles')
Mover File_name_convert
= ('/home/oracle/datafiles','+TARGET_DATA');
Descripción: El archivo xml especifica la ubicación de los archivos de datos de la PDB en términos de discos ASM, pero los archivos reales residen en la ubicación "/home/oracle". Source_file_name_convert cláusula ayuda a reemplazar el patrón de nombres de archivo y a señalar la ubicación de origen real. la cláusula file_name_convert ayuda en la transferencia de datos desde la ubicación del sistema operativo a los discos ASM.
4. Migre 12c-noncdb a PDB:
Consulte esta documentación técnica.
Bases: Oracle 12cR1
Autor:
Problema de Unad
Reddy:
¿Cómo se conecta una PDB a la base de datos del contenedor Oracle12c?
Solución:
Puede crear una base de datos conectable de las siguientes maneras:
- Crear una nueva PDB utilizando la propagación.
- Crear una nueva PDB mediante la clonación de la PDB actual.
- Conectar una PDB desconectada a la CDB.
- Crear una nueva PDB desde 12c sin la CDB.
Cree una PDB mediante la base de datos de SEED. Este método copia los archivos asociados con la propagación a una nueva ubicación y los asocia a una nueva PDB. Puede crear fácilmente una nueva PDB desde el SEED mediante la creación de una declaración de base de datos conectable.
Puede especificar las siguientes cláusulas para crear una nueva PDB a partir de SEED de diferentes maneras:
- Storage: puede especificar los límites de almacenamiento
- Espacio de tablas predeterminado: Crea un espacio de tablas de archivos pequeño y lo asigna a usuarios que no son del sistema.
- path_prefix: Especifica la ruta absoluta
- file_name_convert: Especifica la nueva ubicación de los archivos de PDB de los archivos de origen.
- Tempfile reuse: especifica y reutiliza el tempfile de la ubicación objetivo.
- Roles: funciones predefinidas de Oracle para otorgarlas a la función PDB_DBA.
Nota: La cláusula ROLES solo se puede usar cuando se crea una PDB desde la raíz.
Ejemplo: 1
Sql> Crear PDBNAME del usuario administrador de la base de datos conectable PDBUSR identificado por CONTRASEÑA;
La declaración anterior crea PDB con el usuario local PDBUSR. Esta declaración otorga la función PDB_DBA al administrador de PDB "pdbusr" y otorga las funciones predefinidas de Oracle especificadas a la función PDB_DBA localmente en la PDB.
Ejemplo: 2 Sql> Crear un pdbusr del usuario administrador de PDBNAME de la base de datos
conectable identificado por password storage (MAXSIZE 5G) default tablespace USERS datafile '+DATA_NEW' size 100M autoextend on path_prefix = '+DATA_NEW' file_name_convert = ('+DATA','DATA_NEW');
La declaración anterior crea la pdb con el tamaño limitado, especifica que todos los espacios de tablas que pertenecen a la PDB no deben exceder los 5 gigabytes y crea los usuarios de espacios de tablas predeterminados para usuarios no administradores en la nueva ubicación es "+DATA_NEW".
2. Cree una nueva PDB mediante la clonación de una PDB existente:
La clonación de la base de datos de producción es una técnica común que se utiliza para desarrollar y probar los cambios en las aplicaciones y los entornos asociados. Antes de instalar una nueva versión del sistema operativo, del software de almacenamiento o de la versión de la aplicación en un entorno de producción, se necesitan pruebas exhaustivas utilizando los datos de producción. Por lo general, esto se logra mediante la copia de la base de datos de producción en un ambiente de prueba.
En Oracle12c, puede usar la declaración CREATE PLUGGABLE DATABASE para clonar una PDB. Esta instrucción clona una PDB de origen y conecta el clon en la misma CDB o CDB remota.
La declaración CREATE PLUGGABLE DATABASE copia los archivos asociados con la PDB de origen a una nueva ubicación y asocia los archivos con la PDB de destino.
Diferentes tipos de cláusulas:
1. La clonación de una PDB local sin cláusulas ninguna significa que no hay
cambios estructurales.
Por ejemplo: sql> crear clone_pdb de base de datos conectable desde pdb;
Aquí, clone pdb se creó con el mismo tamaño y las mismas funciones con un GUID diferente en el grupo de discos predeterminado.
2. Clonación de una PDB local con las cláusulas PATH_PREFIX y FILE_NAME_CONVERT Se requiere la
cláusula FILE_NAME_CONVERT para especificar las ubicaciones de destino de los archivos copiados. En este ejemplo, los archivos se copian de una ubicación a otra.
POR EJEMPLO: sql> crear una base de datos conectable clone_pdb desde pdb PATH_PREFIX= '+BRLOAD' FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Aquí, los archivos de datos de pdb de origen se almacenan en el grupo de discos "+DATA", los archivos de datos de pdb clonados se colocan en un grupo de discos diferente "+BRLOAD", puede usar FILE_NAME_CONVERT cláusula para convertir la ubicación de los archivos de datos de "+DATA" a "+BRLOAD".
3. Clonación de una PDB local mediante las cláusulas FILE_NAME_CONVERT y STORAGE.
Se deben aplicar límites de almacenamiento para la PDB. Por lo tanto, se requiere la cláusula STORAGE. Específicamente, todos los espacios de tablas que pertenecen a la PDB no deben superar los 2 gigabytes, y el almacenamiento utilizado por las sesiones de PDB en el espacio de tablas temporal compartido no debe superar los 100 megabytes.
Por ejemplo: sql> crear clone_pdb de base de datos conectable desde pdb FILE_NAME_CONVERT= ALMACENAMIENTO ('+DATA','+BRLOAD') (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Pasos para clonar una PDB local:
En esta sección, se describe la clonación de una PDB local. Después de clonar una PDB local, las PDB de origen y de destino se encuentran en la misma CDB.
Puede clonar la PDB mediante los siguientes pasos:
Paso 1: Compruebe el estado de la pdb de origen
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
PDBs diseñado para clonarse deben tener el estado READ ONLY, si existe en el modo DE LECTURA/ESCRITURA, cambie el estado mediante el siguiente comando
Sql> alter pluggable database pdbname close instances=all;
Aquí, instances=all significa cerrar la PDB en todos los nodos.
Sql> alterar la pdb de la base de datos conectable instancias de solo lectura abiertas=all;
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ ONLY NO
STEP 2: Elija las opciones necesarias de las diferentes cláusulas de clonación mencionadas en la sección2,
Sql> crear una base de datos conectable clone_pdb1 desde pdb1; (sin cláusulas)
Donde pdb1 es el origen y clone_pdb1 es el destino
Paso 3: La PDB clonada estará en modo montado y su estado es NEW. Puede ver el estado de una PDB consultando la columna ESTADO de la vista CDB_PDBS o DBA_PDBS.
Después de eso, cambie el estado de pdb mediante la modificación de la base de datos conectable y, a continuación, debe agregar el servicio de PDB en tnsnames.ora en todos los nodos.
3. Desconecte y conecte una PDB a la CDB:
Desenchufar una PDB:
Desasociar una PDB desasocia la PDB de una CDB. La operación de desconexión realiza algunos cambios en los archivos de datos de la PDB para registrar, por ejemplo, que la PDB se desconectó correctamente. Debido a que todavía forma parte de la CDB, la PDB desconectada se incluye en un respaldo de RMAN de toda la CDB. Este tipo de respaldo proporciona una manera conveniente de archivar la PDB desconectada en caso de que sea necesaria en el futuro. La PDB debe estar cerrada antes de que se pueda desconectar. Cuando desconecta una PDB de una CDB, la PDB desconectada se encuentra en modo montado
Pasos para desconectar una PDB:Comprobar el estado de la pdb de
origen
Sql>show pdbs;
CON_ID CON_NAME MODO ABIERTO RESTRINGIDO
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO Si la PDB de origen está en modo de
lectura y escritura, debe cambiar el estado de la PDB al estado MOUNTED.
Sql> alterar la base de datos conectable PDBNAME close instances=all;
Conéctese al contenedor raíz y ejecute el siguiente comando
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml';
Aquí, crea el archivo de metadatos pdb1.xml en el directorio /u01/app/oracle.
Mediante el archivo de metadatos XML, puede conectar la PDB a
3.1. misma CDB
3.2. CDB remota Puede conectar la PDB a la CDB mediante la creación de
una base de datos conectable y especificar el archivo XML con diferentes cláusulas.
Diferentes tipos de cláusulas:
con source_file_name_convert, sin cláusula de copia:
SOURCE_FILE_NAME_CONVERT: el archivo XML no muestra la ubicación actual del archivo. Esa es la hora en que podemos utilizar esta cláusula. El XML indica que los archivos están en +DATA, pero los archivos reales están en +DATA1.
Source_file_name_convert = ('+DATA','+DATA1')
+DATA= string1 +DATA1=string2 Aquí, el patrón de nombre de archivo string2 reemplaza al patrón de nombre de
archivo string1.
2. Mediante path_prefix, copy, file_name_convert cláusula:
PATH_PREFIX: esta cláusula se utiliza para especificar la ruta absoluta de la ubicación de los archivos de datos.
FILE_NAME_CONVERT: puede usar esta cláusula cuando los archivos no están en la ubicación de destino y, a continuación, desea copiarlos o moverlos durante la creación de la PDB.
3. Con la cláusula FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT: el archivo Xml no describe la ubicación actual de
los archivos, por lo que se requiere la conversión del nombre del archivo de
origen. Ejemplo: el archivo xml indica que los archivos están en "+DATA", pero los archivos están en "/u01/app".
La conversión de nombre de archivo es necesaria para transferir los archivos de "/u01/app" a "+DATA1".
3.1. Conecte la pdb desconectada a la misma CDB:
la PDB se debe quitar de la CDB antes de que se pueda volver a conectar a la misma CDB.
Cree una base de datos conectable mediante un archivo XML con diferentes métodos.
a) Método NOCOPY
Sql>Create pluggable database pdb1 using '/u01/app/oracle/pdb1.xml' nocopy;
b) COPY Method
Sql> Create pluggable database pdb1 using '/u01/app/oracle/pdb1.xml' copy file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');
c) MÉTODO DE TRANSFERENCIA DE CLONACIÓN Sql> Cree pdb1 de base de
datos conectable como clon mediante la transferencia "/u01/app/oracle/pdb1.xml" file_name_convert=('+DATA/pdb1/','+DATA1'/pdb1/');
3.2. Conecte la pdb desconectada a la CDB remota:
Requisitos previos: A) Deben tener el
mismo formato endian.
B) Deben tener instalado el mismo conjunto de opciones de base de datos.
FUENTE:
1. Después de desconectar la PDB, transfiera el XML a la ubicación de destino y también transfiera los archivos de base de datos del grupo de discos (+DATA) a la ubicación del sistema operativo (/home/) mediante ASMCMD cp o DATA_FILE_NAME_CONVERT comando.
2. Transfiera los archivos de la base de datos desde la ubicación del SO de origen a la de objetivo.
DESTINO:
una vez que obtiene los archivos XML y de la base de datos del origen, puede usar el DBMS_PDB. CHECK_PLUG_COMPATIBILITY función para determinar si la pdb desconectada es compatible con la CDB DE DESTINO.
Si obtiene una salida "YES", entonces la PDB es compatible.
Si obtiene un resultado "NO", la PDB no es compatible y compruebe la vista PDB_PLUG_IN_VIOLATIONS en busca de errores.
Durante la creación de una PDB remota, elija las cláusulas requeridas de la sección3,
EX: Sql> Crear pdbname de base de datos conectable mediante '/home/oracle/pdbname.xml'
Source_file_name_convert = ('+SOURCE_DATA','/home/oracle/datafiles')
Mover File_name_convert
= ('/home/oracle/datafiles','+TARGET_DATA');
Descripción: El archivo xml especifica la ubicación de los archivos de datos de la PDB en términos de discos ASM, pero los archivos reales residen en la ubicación "/home/oracle". Source_file_name_convert cláusula ayuda a reemplazar el patrón de nombres de archivo y a señalar la ubicación de origen real. la cláusula file_name_convert ayuda en la transferencia de datos desde la ubicación del sistema operativo a los discos ASM.
4. Migre 12c-noncdb a PDB:
Consulte esta documentación técnica.
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.