Como faço para conectar um PDB ao banco de dados de contêiner Oracle12c?
Resumen: Nossa missão é oferecer soluções que simplificam a TI ao fornecer soluções de banco de dados, desenvolvimento personalizado, datacenters dinâmicos e computação flexível
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
Aplica-se a:
Bancos de dados: Oracle 12cR1
Autor:
Mahesh Reddy
Problema:
Como faço para conectar um PDB ao banco de dados de contêiner Oracle12c?
Solução:
Você pode criar um banco de dados conectável das seguintes maneiras:
Crie um PDB usando o banco de dados SEED. Esse método copia os arquivos associados ao seed para um novo local e os associa ao novo PDB. Você pode criar facilmente um novo PDB a partir do SEED usando a instrução "create pluggable database statement".
Você pode especificar as seguintes cláusulas para criar um novo PDB a partir do SEED de diferentes maneiras:
Nota: a cláusula ROLES só poderá ser usada quando você estiver criando um PDB a partir de seed.
Exemplo: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
A instrução acima cria o PDB com o usuário local PDBUSR. Essa instrução concede a função PDB_DBA ao administrador de PDB "pdbusr" e concede as funções predefinidas da Oracle especificadas para a função PDB_DBA, localmente no PDB.
Exemplo: 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’);
A instrução acima cria o pdb com o tamanho limitado. Ela especifica que todos os tablespaces que pertencem ao PDB não devem exceder 5 GB e cria os usuários de tablespace padrão para usuários não administradores, no novo local "+DATA_NEW".
2. Criar um novo PDB clonando um PDB existente:
A clonagem do banco de dados de produção é uma técnica comum, usada para desenvolver e testar alterações em aplicativos e ambientes associados. Antes de uma nova versão do sistema operacional, do software de armazenamento ou do aplicativo ser instalada em um ambiente de produção, é necessário realizar um teste completo usando dados de produção. Isso geralmente é feito copiando o banco de dados de produção para um ambiente de teste.
No Oracle12c, você pode usar a instrução CREATE PLUGABLE DATABASE para clonar um PDB. Essa instrução clona um PDB de origem e conecta o clone ao mesmo CDB ou ao CDB remoto.
A instrução CREATE PLUGABLE DATABASE copia os arquivos associados ao PDB de origem para um novo local e associa os arquivos ao PDB de destino.
Diferentes tipos de cláusulas:
1. Clonagem de um PDB local sem usar cláusulas
Não usar cláusulas significa que não haverá alterações estruturais.
Exemplo: sql> create pluggable database clone_pdb from pdb;
Aqui, o pdb de clone foi criado com o mesmo tamanho e as mesmas funções, mas com GUID diferente, no grupo de discos padrão.
2. Clonagem de um PDB local com as cláusulas PATH_PREFIX e FILE_NAME_CONVERT
A cláusula FILE_NAME_CONVERT é necessária para especificar os locais de destino dos arquivos copiados. Neste exemplo, os arquivos são copiados de um local para outro.
Exemplo: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Aqui, os arquivos de dados pdb de origem são armazenados no grupo de discos "+DATA", os arquivos de dados pdb de clone são colocados em diferentes grupos de discos "+BRLOAD". Você pode usar a cláusula FILE_NAME_CONVERT para converter o local dos arquivos de dados de "+DATA" para "+BRLOAD".
3. Clonagem de um PDB local usando as cláusulas FILE_NAME_CONVERT e STORAGE.
Os limites de armazenamento devem ser aplicados ao PDB. Sendo assim, a cláusula STORAGE é requerida. Especificamente, todos os tablespaces que pertencem ao PDB não devem exceder 2 GB, e o armazenamento usado pelas sessões PDB no tablespace temporário compartilhado não deve ultrapassar 100 megabytes.
Exemplo: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Etapas para clonar um PDB local:
Esta seção descreve a clonagem de um PDB local. Depois de clonar um PDB local, os PDBs de origem e destino ficam no mesmo CDB.
Você pode clonar o PDB usando as seguintes etapas:
Etapa 1: verifique o status do pdb de origem
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Os PDBs que serão clonados devem estar no estado SOMENTE LEITURA. Se estiverem no modo LEITURA/GRAVAÇÃO, altere o status usando o comando abaixo
Sql> alter pluggable database pdbname close instances=all;
Aqui, instances=all significa fechar o PDB em todos os nós.
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
Etapa 2: escolha as opções necessárias de diferentes cláusulas de clonagem mencionadas na Seção2,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Em que pdb1 é a origem e clone_pdb1 é o destino
Etapa 3: o PDB clonado estará no modo montado e seu status será NOVO. Você pode visualizar o status de um PDB consultando a coluna STATUS da visualização CDB_PDBS ou DBA_PDBS.
Depois disso, altere o estado do pdb usando "alter pluggable database". Em seguida, você precisará adicionar o serviço PDB em tnsnames.ora, em todos os nós.
3. Desconecte e conecte um PDB ao CDB:
Desconectando um PDB:
Desconectar um PDB desassocia o PDB de um CDB. A operação de desconexão faz algumas alterações nos arquivos de dados do PDB para registrar, por exemplo, que o PDB foi desconectado com sucesso. Como o PDB desconectado ainda faz parte do CDB, ele é incluído em um backup RMAN de todo o CDB. Esse backup é uma maneira conveniente de arquivar o PDB desconectado, caso ele seja necessário no futuro. É preciso fechar o PDB para poder desconectá-lo. Quando você desconecta um PDB de um CDB, o PDB desconectado fica no modo montado
Etapas para desconectar um PDB:
Verifique o status do pdb de origem
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Se o PDB de origem estiver no modo Leitura/Gravação, você deve alterar o estado do PDB para MONTADO.
Sql> alter pluggable database PDBNAME close instances=all;
Conecte-se ao contêiner raiz e execute o comando abaixo
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Aqui, o arquivo de metadados pdb1.xml é criado no diretório /u01/app/oracle.
Usando o arquivo de metadados XML, você pode conectar o PDB ao
3.1. mesmo CDB
3.2. CDB remoto
Você pode conectar o PDB ao CDB usando "create pluggable database" e, então, especificar o arquivo XML com cláusulas diferentes.
Diferentes tipos de cláusulas:
Usando source_file_name_convert, sem cláusula de cópia:
SOURCE_FILE_NAME_CONVERT: o XML não mostra a localização atual dos arquivos. Dessa vez, podemos usar essa cláusula. O XML indica que os arquivos estão em +DATA, mas os arquivos reais estão em +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Aqui, o padrão de nome de arquivo string2 substitui o padrão de nome de arquivo string1.
2. Usando a cláusula path_prefix, copy, file_name_convert:
PATH_PREFIX: essa cláusula é usada para especificar o caminho absoluto do local dos arquivos de dados.
FILE_NAME_CONVERT: quando os arquivos não estiverem no local de destino e você quiser copiá-los ou movê-los depois, durante a criação do PDB, use essa cláusula.
3. Usando a cláusula FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
O arquivo Xml não descreve a localização atual dos arquivos, portanto, a conversão do nome do arquivo de origem é requerida. Exemplo: o arquivo xml indica que os arquivos estão em "+DATA", mas os arquivos estão em "/u01/app".
A conversão do nome do arquivo é requerida para mover os arquivos de "/u01/app" para "+DATA1".
3.1 Conectar o pdb desconectado ao mesmo CDB:
O PDB deve ser retirado do CDB antes de ser conectado novamente ao mesmo CDB.
Crie um banco de dados conectável usando o arquivo XML com métodos diferentes.
a) Método NOCOPY
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) Método COPY
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) Método AS CLONE MOVE
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2 Conectar o pdb desconectado ao CDB remoto:
Pré-requisitos:
A) Eles devem ter o mesmo formato endian.
B) Eles devem ter o mesmo conjunto de opções de banco de dados instalado.
FONTE:
1. Depois de desconectar o PDB, transfira o XML para o local de destino e também transfira os arquivos do banco de dados do grupo de discos (+DATA) para o local do sistema operacional (/home/) usando o comando ASMCMD cp ou DATA_FILE_NAME_CONVERT.
2. Transfira os arquivos do banco de dados do local de origem para o sistema operacional de destino.
DESTINO:
Depois de obter os arquivos XML e de banco de dados de origem, você pode usar a função DBMS_PDB.CHECK_PLUG_COMPATIBILITY para determinar se o pdb desconectado é compatível com o CDB de DESTINO.
Se você receber uma saída "YES", o PDB é compatível.
Se você receber uma saída "NO", o PDB não é compatível. Verifique os erros na visualização PDB_PLUG_IN_VIOLATIONS.
Ao criar um PDB remoto, escolha as cláusulas requeridas da seção3,
Exemplo: 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’);
Descrição: o arquivo xml especifica o local dos arquivos de dados do PDB em termos de discos ASM, mas os arquivos reais residem no local "/home/oracle". A cláusula Source_file_name_convert ajuda a substituir o padrão do nome do arquivo e indica o local de origem real. A cláusula file_name_convert ajuda a mover dados do local do sistema operacional para os discos ASM.
4. Migrar o 12c não cdb para o PDB:
Consulte este white paper.
Bancos de dados: Oracle 12cR1
Autor:
Mahesh Reddy
Problema:
Como faço para conectar um PDB ao banco de dados de contêiner Oracle12c?
Solução:
Você pode criar um banco de dados conectável das seguintes maneiras:
- Criar um novo PDB usando seed.
- Criar um novo PDB clonando um PDB existente
- Conecte um PDB desconectado ao CDB
- Criar um novo PDB a partir do 12c não CDB
Crie um PDB usando o banco de dados SEED. Esse método copia os arquivos associados ao seed para um novo local e os associa ao novo PDB. Você pode criar facilmente um novo PDB a partir do SEED usando a instrução "create pluggable database statement".
Você pode especificar as seguintes cláusulas para criar um novo PDB a partir do SEED de diferentes maneiras:
- Storage: você pode especificar os limites de armazenamento
- Default Tablespace: um pequeno tablespace de arquivo é criado e atribuído a usuários que não são do sistema.
- path_prefix: especifica o caminho absoluto
- file_name_convert: especifica o novo local dos arquivos PDB a partir dos arquivos de origem.
- Tempfile reuse: especifica a reutilização do tempfile a partir do local de destino.
- Roles: funções predefinidas da Oracle que serão concedidas à função PDB_DBA.
Nota: a cláusula ROLES só poderá ser usada quando você estiver criando um PDB a partir de seed.
Exemplo: 1
Sql> Create pluggable database PDBNAME admin user PDBUSR identified by PASSWORD;
A instrução acima cria o PDB com o usuário local PDBUSR. Essa instrução concede a função PDB_DBA ao administrador de PDB "pdbusr" e concede as funções predefinidas da Oracle especificadas para a função PDB_DBA, localmente no PDB.
Exemplo: 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’);
A instrução acima cria o pdb com o tamanho limitado. Ela especifica que todos os tablespaces que pertencem ao PDB não devem exceder 5 GB e cria os usuários de tablespace padrão para usuários não administradores, no novo local "+DATA_NEW".
2. Criar um novo PDB clonando um PDB existente:
A clonagem do banco de dados de produção é uma técnica comum, usada para desenvolver e testar alterações em aplicativos e ambientes associados. Antes de uma nova versão do sistema operacional, do software de armazenamento ou do aplicativo ser instalada em um ambiente de produção, é necessário realizar um teste completo usando dados de produção. Isso geralmente é feito copiando o banco de dados de produção para um ambiente de teste.
No Oracle12c, você pode usar a instrução CREATE PLUGABLE DATABASE para clonar um PDB. Essa instrução clona um PDB de origem e conecta o clone ao mesmo CDB ou ao CDB remoto.
A instrução CREATE PLUGABLE DATABASE copia os arquivos associados ao PDB de origem para um novo local e associa os arquivos ao PDB de destino.
Diferentes tipos de cláusulas:
1. Clonagem de um PDB local sem usar cláusulas
Não usar cláusulas significa que não haverá alterações estruturais.
Exemplo: sql> create pluggable database clone_pdb from pdb;
Aqui, o pdb de clone foi criado com o mesmo tamanho e as mesmas funções, mas com GUID diferente, no grupo de discos padrão.
2. Clonagem de um PDB local com as cláusulas PATH_PREFIX e FILE_NAME_CONVERT
A cláusula FILE_NAME_CONVERT é necessária para especificar os locais de destino dos arquivos copiados. Neste exemplo, os arquivos são copiados de um local para outro.
Exemplo: sql> create pluggable database clone_pdb from pdb PATH_PREFIX= '+BRLOAD’ FILE_NAME_CONVERT = ('+DATA','+BRLOAD');
Aqui, os arquivos de dados pdb de origem são armazenados no grupo de discos "+DATA", os arquivos de dados pdb de clone são colocados em diferentes grupos de discos "+BRLOAD". Você pode usar a cláusula FILE_NAME_CONVERT para converter o local dos arquivos de dados de "+DATA" para "+BRLOAD".
3. Clonagem de um PDB local usando as cláusulas FILE_NAME_CONVERT e STORAGE.
Os limites de armazenamento devem ser aplicados ao PDB. Sendo assim, a cláusula STORAGE é requerida. Especificamente, todos os tablespaces que pertencem ao PDB não devem exceder 2 GB, e o armazenamento usado pelas sessões PDB no tablespace temporário compartilhado não deve ultrapassar 100 megabytes.
Exemplo: sql> create pluggable database clone_pdb from pdb FILE_NAME_CONVERT= ('+DATA','+BRLOAD') STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
Etapas para clonar um PDB local:
Esta seção descreve a clonagem de um PDB local. Depois de clonar um PDB local, os PDBs de origem e destino ficam no mesmo CDB.
Você pode clonar o PDB usando as seguintes etapas:
Etapa 1: verifique o status do pdb de origem
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Os PDBs que serão clonados devem estar no estado SOMENTE LEITURA. Se estiverem no modo LEITURA/GRAVAÇÃO, altere o status usando o comando abaixo
Sql> alter pluggable database pdbname close instances=all;
Aqui, instances=all significa fechar o PDB em todos os nós.
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
Etapa 2: escolha as opções necessárias de diferentes cláusulas de clonagem mencionadas na Seção2,
Sql> create pluggable database clone_pdb1 from pdb1; (no clauses)
Em que pdb1 é a origem e clone_pdb1 é o destino
Etapa 3: o PDB clonado estará no modo montado e seu status será NOVO. Você pode visualizar o status de um PDB consultando a coluna STATUS da visualização CDB_PDBS ou DBA_PDBS.
Depois disso, altere o estado do pdb usando "alter pluggable database". Em seguida, você precisará adicionar o serviço PDB em tnsnames.ora, em todos os nós.
3. Desconecte e conecte um PDB ao CDB:
Desconectando um PDB:
Desconectar um PDB desassocia o PDB de um CDB. A operação de desconexão faz algumas alterações nos arquivos de dados do PDB para registrar, por exemplo, que o PDB foi desconectado com sucesso. Como o PDB desconectado ainda faz parte do CDB, ele é incluído em um backup RMAN de todo o CDB. Esse backup é uma maneira conveniente de arquivar o PDB desconectado, caso ele seja necessário no futuro. É preciso fechar o PDB para poder desconectá-lo. Quando você desconecta um PDB de um CDB, o PDB desconectado fica no modo montado
Etapas para desconectar um PDB:
Verifique o status do pdb de origem
Sql>show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
Se o PDB de origem estiver no modo Leitura/Gravação, você deve alterar o estado do PDB para MONTADO.
Sql> alter pluggable database PDBNAME close instances=all;
Conecte-se ao contêiner raiz e execute o comando abaixo
Sql> alter pluggable database pdb1 unplug into /u01/app/oracle/pdb1.xml’;
Aqui, o arquivo de metadados pdb1.xml é criado no diretório /u01/app/oracle.
Usando o arquivo de metadados XML, você pode conectar o PDB ao
3.1. mesmo CDB
3.2. CDB remoto
Você pode conectar o PDB ao CDB usando "create pluggable database" e, então, especificar o arquivo XML com cláusulas diferentes.
Diferentes tipos de cláusulas:
Usando source_file_name_convert, sem cláusula de cópia:
SOURCE_FILE_NAME_CONVERT: o XML não mostra a localização atual dos arquivos. Dessa vez, podemos usar essa cláusula. O XML indica que os arquivos estão em +DATA, mas os arquivos reais estão em +DATA1.
Source_file_name_convert = (‘+DATA’,’+DATA1’)
+DATA= string1 +DATA1=string2
Aqui, o padrão de nome de arquivo string2 substitui o padrão de nome de arquivo string1.
2. Usando a cláusula path_prefix, copy, file_name_convert:
PATH_PREFIX: essa cláusula é usada para especificar o caminho absoluto do local dos arquivos de dados.
FILE_NAME_CONVERT: quando os arquivos não estiverem no local de destino e você quiser copiá-los ou movê-los depois, durante a criação do PDB, use essa cláusula.
3. Usando a cláusula FILE_NAME_CONVERT,MOVE,SOURCE_FILE_NAME_CONVERT:
O arquivo Xml não descreve a localização atual dos arquivos, portanto, a conversão do nome do arquivo de origem é requerida. Exemplo: o arquivo xml indica que os arquivos estão em "+DATA", mas os arquivos estão em "/u01/app".
A conversão do nome do arquivo é requerida para mover os arquivos de "/u01/app" para "+DATA1".
3.1 Conectar o pdb desconectado ao mesmo CDB:
O PDB deve ser retirado do CDB antes de ser conectado novamente ao mesmo CDB.
Crie um banco de dados conectável usando o arquivo XML com métodos diferentes.
a) Método NOCOPY
Sql>Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ nocopy;
b) Método COPY
Sql> Create pluggable database pdb1 using ‘/u01/app/oracle/pdb1.xml’ copy file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
c) Método AS CLONE MOVE
Sql> Create pluggable database pdb1 as clone using ‘/u01/app/oracle/pdb1.xml’ move file_name_convert=(‘+DATA/pdb1/’,’+DATA1’/pdb1/’);
3.2 Conectar o pdb desconectado ao CDB remoto:
Pré-requisitos:
A) Eles devem ter o mesmo formato endian.
B) Eles devem ter o mesmo conjunto de opções de banco de dados instalado.
FONTE:
1. Depois de desconectar o PDB, transfira o XML para o local de destino e também transfira os arquivos do banco de dados do grupo de discos (+DATA) para o local do sistema operacional (/home/) usando o comando ASMCMD cp ou DATA_FILE_NAME_CONVERT.
2. Transfira os arquivos do banco de dados do local de origem para o sistema operacional de destino.
DESTINO:
Depois de obter os arquivos XML e de banco de dados de origem, você pode usar a função DBMS_PDB.CHECK_PLUG_COMPATIBILITY para determinar se o pdb desconectado é compatível com o CDB de DESTINO.
Se você receber uma saída "YES", o PDB é compatível.
Se você receber uma saída "NO", o PDB não é compatível. Verifique os erros na visualização PDB_PLUG_IN_VIOLATIONS.
Ao criar um PDB remoto, escolha as cláusulas requeridas da seção3,
Exemplo: 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’);
Descrição: o arquivo xml especifica o local dos arquivos de dados do PDB em termos de discos ASM, mas os arquivos reais residem no local "/home/oracle". A cláusula Source_file_name_convert ajuda a substituir o padrão do nome do arquivo e indica o local de origem real. A cláusula file_name_convert ajuda a mover dados do local do sistema operacional para os discos ASM.
4. Migrar o 12c não cdb para o PDB:
Consulte este white paper.
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.