Qualificando Nomes de Objetos de Banco de dados
Os nomes de objeto devem ser totalmente qualificados no arquivo de parâmetros. Isso significa que todas as especificações de nome devem ser qualificadas, não apenas aquelas fornecidas como entrada para a sintaxe de parâmetro do Oracle GoldenGate, mas também nomes em um procedimento ou consulta SQL fornecido como entrada SQLEXEC, nomes na entrada de saída do usuário e todas as outras entradas fornecidas no arquivo de parâmetros.
O Oracle GoldenGate suporta nomes de objetos de duas e três partes, conforme apropriado para o banco de dados.
Nomes de Duas Partes
A maioria dos bancos de dados precisa que somente nomes de duas partes sejam especificados, no seguinte formato:
*owner.object*
Por exemplo: HR.EMP
Onde:
owner é um esquema ou banco de dados, dependendo de como o banco de dados define um namespace lógico que contém objetos de banco de dados. objeto é uma tabela ou outro objeto de banco de dados suportado.
Os bancos de dados para os quais o Oracle GoldenGate suporta nomes de duas partes são os seguintes, mostrados com a convenção de nomenclatura de duas partes apropriada:
-
Db2 para i: schema.object e library/file(member)
-
Db2 LUW: schema.object
-
Db2 em z/OS: schema.object
-
MySQL: database.object
-
Oracle AI Database (bancos de dados não CDB): schema.object
-
Servidor SQL: schema.object
-
Teradata: database.object
Nomes de Três Partes
O Oracle GoldenGate suporta nomes de três partes para o banco de dados contêiner Oracle, apenas em caso de uso do Extract downstream. No entanto, o Oracle GoldenGate suporta apenas o Extract por PDB para o Oracle AI Database, em geral.
Nomes de três partes são necessários para capturar de um banco de dados contêiner Oracle de origem porque um grupo Extract pode capturar de mais de um contêiner. Portanto, o nome do contêiner, bem como o esquema, deve ser especificado para cada objeto ou objetos em uma instrução Extract TABLE.
Especifique um nome de CDB Oracle de três partes da seguinte forma:
*container.schema.object*
Por exemplo: PDBEAST.HR.EMP
Aplicando Dados de Vários Contêineres ou Catálogos
Para aplicar dados capturados de vários contêineres ou catálogos de origem a um banco de dados contêiner Oracle de destino, os nomes de três e duas partes são obrigatórios. Na parte MAP da instrução MAP, cada objeto de origem deve ser associado a um contêiner ou catálogo, da mesma forma que na instrução TABLE. Isso permite que você (e o Replicat) mapeie corretamente dados de vários contêineres ou catálogos de origem para os objetos de destino apropriados. No entanto, na parte TARGET da instrução MAP, apenas nomes de duas partes são obrigatórios. Isso ocorre porque o Replicat pode se conectar a apenas um contêiner ou catálogo de destino por vez, e schema.owner é um qualificador suficiente. Vários grupos Replicat são necessários para suportar vários contêineres ou catálogos de destino. Especifique o contêiner ou catálogo de destino com o parâmetro TARGETDB.
Especificando um contêiner ou catálogo padrão
Você pode usar o parâmetro SOURCECATALOG para especificar um catálogo padrão para qualquer especificação TABLE, MAP (ou Oracle SEQUENCE) subsequente no arquivo de parâmetros.
O exemplo a seguir mostra o uso de SOURCECATALOG para especificar o PDB Oracle padrão chamado pdbeast para objetos region e jobs, e o PDB padrão chamado pdbwest para objetos appraisal. Os objetos em pdbeast são especificados com um nome de três partes totalmente qualificado, que não requer que um catálogo padrão seja especificado.
TABLE pdbeast.hr.emp*;
SOURCECATALOG pdbeast
TABLE region.country*;
TABLE jobs.desg*;
SOURCECATALOG pdbwest
TABLE appraisal.sal*;