As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurações da conversão do Oracle para o PostgreSQL
As configurações a seguir se aplicam quando a origem é Oracle e o destino é Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL. Você pode definir essas configurações usando a operação AWS Management Console ou a ModifyConversionConfigurationAPI.
Este tópico aborda as configurações específicas do caminho de conversão do Oracle para o PostgreSQL. Além dessas configurações, o DMS Schema Conversion fornece configurações que se aplicam a todos os pares de origem e destino, como o nível de severidade dos comentários de itens de ação no SQL convertido e a opção de usar IA generativa para conversão. Para essas configurações, consulteConfigurações de conversão comuns.
Ao usar a API ou a AWS CLI, especifique as configurações do caminho de conversão sob os nomes das seções ORACLE_TO_POSTGRESQLORACLE_TO_POSTGRESQL_14, ou. ORACLE_TO_POSTGRESQL_15 Todas as três seções versionadas aceitam as mesmas chaves. Para descobrir quais nomes de seção seu projeto usa, chame DescribeConversionConfigurationprimeiro e atualize somente as seções presentes na resposta.
Cada configuração mostra o AWS Management Console rótulo seguido pelo nome do parâmetro da API e da AWS CLI entre parênteses. Use o nome do parâmetro ao definir as configurações com a API ou a AWS CLI. As configurações são listadas na mesma ordem em que aparecem no AWS Management Console.
- Versão do mecanismo de destino (
ORACLE_TO_POSTGRESQL_target_engine_version) -
Escolha a versão do mecanismo para seu banco de dados de destino. Essa configuração é o conjunto de recursos da versão principal do PostgreSQL que a Conversão do Esquema do DMS visa para conversão e determina qual seção de configurações com versão da Conversão do Esquema DMS se aplica (ou).
ORACLE_TO_POSTGRESQL_14ORACLE_TO_POSTGRESQL_15O valor15tem como alvo os recursos do PostgreSQL 15 e versões posteriores e os recursos do PostgreSQL 14,14para que seu banco de dados de destino possa executar uma versão posterior ao valor escolhido (por exemplo, um valor de para um destino do PostgreSQL 16).15Diferentemente das outras configurações desta página, essa configuração não é armazenada em uma seção de caminho de conversão. Em vez disso, ele é armazenado naConversion versionseção de nível superior, conforme mostrado no exemplo a seguir.{ "Conversion version": { "ORACLE_TO_POSTGRESQL_target_engine_version": "15" } }Tipo: String (
14|15)Padrão:
15 - Visualizações materializadas ()
MaterializedViewConvert -
Especifica como o DMS Schema Conversion converte visualizações materializadas Oracle no destino.
API/CLI valor Resultado no alvo TABLEO DMS Schema Conversion cria uma tabela regular com as mesmas colunas. Use isso ao gerenciar a atualização manualmente ou com uma ferramenta de replicação. MATERIALIZED_VIEWA conversão de esquema do DMS cria um PostgreSQL. MATERIALIZED VIEWUse isso quando o alvo suportarREFRESH MATERIALIZED VIEW.Tipo: String (
TABLE|MATERIALIZED_VIEW)Padrão:
TABLE - Gerar id de linha (
GenerateRowId) -
O banco de dados Oracle de origem pode utilizar a pseudocoluna
ROWID. O PostgreSQL não é compatível com funcionalidade semelhante. Essa configuração especifica se o DMS Schema Conversion emula aROWIDpseudocoluna no código convertido e qual tipo de dados o DMS Schema Conversion usa para emulação.Etiqueta do console API/CLI valor Comportamento Não gere falseO DMS Schema Conversion não emula a ROWIDpseudocoluna e deixa referências como itens de ação. Use isso quando seu código-fonte Oracle não for usadoROWID. O código convertido é executado mais rápido.Use o tipo de dados bigint para emular a pseudocoluna ROWID trueO DMS Schema Conversion emula a ROWIDpseudocoluna no código convertido usando o tipo de dados.bigintUse o tipo de dados com variação de caracteres para emular a pseudocoluna ROWID GENERATE_AS_CHARACTER_DOMAIN_TYPEO DMS Schema Conversion emula a ROWIDpseudocoluna no código convertido usando o tipo de dados.character varyingTipo: String (enum)
Padrão:
false
Código
Selecione as configurações de conversão específicas do seu código-fonte Oracle.
- Use o mapeamento otimizado do tipo de dados para colunas do tipo de dados NUMBER (
UseOptimizedMappingForNumberConversion) -
Especifica se o DMS Schema Conversion mapeia cada
NUMBERcoluna Oracle para o tipo de dados numérico mais adequado com base na precisão e na escala.-
true— O DMS Schema Conversion mapeia cadaNUMBERcoluna para o tipo numérico PostgreSQL mais específico (por exemplo,,SMALLINTINTEGER, ouBIGINT) com base em sua precisão e escala. -
false— A conversão do esquema DMS mapeia todas asNUMBERcolunas para.NUMERIC
Tipo: Boolean (
true|false)Padrão:
true -
- Use uma função TO_CHAR () nativa do PostgreSQL
ToCharFunctionOracle -
Especifica se a Conversão do Esquema DMS emula a
TO_CHARfunção Oracle no código convertido.-
false— A conversão do esquema DMS emula oTO_CHARcomportamento do Oracle no código convertido. -
true— O DMS Schema Conversion converteTO_CHAReTO_NCHARchama a função nativa do PostgreSQL.TO_CHARSelecione essa opção para evitar emulação quando suas cadeias de caracteres de formato forem compatíveis com o PostgreSQL.
Tipo: Boolean (
true|false)Padrão:
false -
- Use uma função TO_DATE nativa do PostgreSQL ()
ToDateFunctionOracle -
Especifica se a Conversão do Esquema DMS emula a
TO_DATEfunção Oracle no código convertido.-
false— A conversão do esquema DMS emula oTO_DATEcomportamento do Oracle no código convertido. -
true— A conversão de esquema do DMS converteTO_DATEchamadas para a função nativa do PostgreSQL.TO_DATE
Tipo: Boolean (
true|false)Padrão:
false -
- Use uma função TO_NUMBER nativa do PostgreSQL ()
ToNumber -
Especifica se a Conversão do Esquema DMS emula a
TO_NUMBERfunção Oracle no código convertido.-
false— A conversão do esquema DMS emula oTO_NUMBERcomportamento do Oracle no código convertido. -
true— A conversão de esquema do DMS converteTO_NUMBERchamadas para a função nativa do PostgreSQL.TO_NUMBER
Tipo: Boolean (
true|false)Padrão:
false -
- Melhore o desempenho do código convertido em que o banco de dados e os aplicativos usam o mesmo fuso horário (
ToTimeZone) -
Especifica se o DMS Schema Conversion emula fusos horários no código convertido.
-
true— A conversão do esquema DMS não emula fusos horários. Use isso quando seu banco de dados e aplicativos usarem o mesmo fuso horário. O código convertido é executado mais rápido. -
false— A conversão do esquema DMS emula fusos horários no código convertido.
Tipo: Boolean (
true|false)Padrão:
false -
- Preencha as sequências convertidas com o último valor gerado no lado da fonte ()
AlertSequenceRestart -
Especifica se a conversão do esquema DMS continua com as sequências convertidas do último valor gerado na fonte.
-
true— A conversão do esquema DMS define cada sequência convertida para começar do último valor gerado na fonte, para que as sequências continuem sem conflitos. -
false— A conversão do esquema DMS inicia as sequências convertidas a partir de seu valor inicial padrão.
Tipo: Boolean (
true|false)Padrão:
false -
- Converta colunas de chave primária e estrangeira do tipo de dados NUMBER para o tipo de dados BIGINT ()
ConvertNumberToBigint -
Especifica se a Conversão de Esquema do DMS converte colunas de chave primária e chave estrangeira do
NUMBERtipo de dados em.BIGINTUse com cuidado para evitar perda de dados se o banco de dados de origem armazenar números de ponto flutuante nessas colunas.-
true— A conversão do esquema DMS mapeia asNUMBERcolunas de chave primária e de chave estrangeira para.BIGINT -
false— A conversão de esquema do DMS usa o mapeamento numérico padrão para essas colunas.
Tipo: Boolean (
true|false)Padrão:
false -
- Converta somente acionadores e restrições ativos ()
IgnoreDisabledTriggersConstraints -
Especifica se a conversão do esquema DMS ignora os gatilhos e restrições desativados durante a conversão.
-
true— O DMS Schema Conversion converte somente os gatilhos e restrições ativos e ignora os desativados. -
false— O DMS Schema Conversion converte todos os gatilhos e restrições, incluindo os desativados.
Tipo: Boolean (
true|false)Padrão:
false -
- Converta o código SQL dinâmico criado nas rotinas chamadas ()
ConvertOutputAsDynamic -
Especifica se a Conversão de Esquema do DMS converte variáveis de string referenciadas fora da rotina como SQL dinâmico.
-
true— A conversão do esquema DMS converte variáveis de string referenciadas fora da rotina como SQL dinâmico. -
false— A conversão do esquema DMS não converte essas variáveis de string como SQL dinâmico.
Tipo: Boolean (
true|false)Padrão:
false -
- Converter procedimentos em funções (
ConvertProceduresToFunction) -
Especifica se a Conversão de Esquema do DMS converte procedimentos armazenados do Oracle em funções vazias do PostgreSQL.
-
true— O DMS Schema Conversion converte procedimentos armazenados do Oracle em funções vazias do PostgreSQL. -
false— O DMS Schema Conversion converte procedimentos armazenados da Oracle em procedimentos PostgreSQL.
Tipo: Boolean (
true|false)Padrão:
false -
- Mantenha os nomes das restrições geradas pelo sistema ()
ConvertSysConstraintNamesUsingOriginal -
Especifica se a Conversão do Esquema DMS mantém os nomes originais das restrições geradas pelo sistema Oracle no destino. Use essa opção se o código Oracle de origem usar nomes de restrições gerados pelo sistema para criar restrições com os mesmos nomes no banco de dados de destino.
-
true— O DMS Schema Conversion mantém os nomes originais das restrições geradas pelo sistema Oracle no destino. -
false— A conversão do esquema DMS gera novos nomes de restrições.
Tipo: Boolean (
true|false)Padrão:
false -
- Defina o fuso horário do seu banco de dados de origem (
UseDefaultTimeZoneForSysdateEmulation) -
Especifica se a função que emula a
SYSDATEfunção Oracle usa o fuso horário emDefaultTimeZoneForSysdateEmulation, para que o código convertido retorne os mesmos valores do seu banco de dados de origem.-
true— A conversão do esquema DMS usa o fuso horário especificado emDefaultTimeZoneForSysdateEmulationparaSYSDATEemulação. -
false— A conversão do esquema DMS usa o fuso horário padrão paraSYSDATEemulação.
Tipo: Boolean (
true|false)Padrão:
false -
DefaultTimeZoneForSysdateEmulation-
O fuso horário que o DMS Schema Conversion usa quando a
SYSDATEemulação é ativada.UseDefaultTimeZoneForSysdateEmulationEspecifique um nome de fuso horário válido da IANAUTC, comoAmerica/New_York, ouEurope/Berlin. Esse valor não tem efeito quandoUseDefaultTimeZoneForSysdateEmulationéfalse.Tipo: String (nome do fuso horário da IANA)
Padrão:
UTC
nota
A AWS Management Console lista uma opção adicional, Adicionar funções do pacote de extensões que geram exceções definidas pelo usuário, entre Converter procedimentos em funções e Manter os nomes das restrições geradas pelo sistema. Essa opção é configurada somente no AWS Management Console e não está disponível por meio da API ou da AWS CLI. O comportamento relacionado ao nível de gravidade é controlado pela configuração comum. ShowSeverityLevelInSql Para obter mais informações, consulte Configurações de conversão comuns.
Rotinas integradas do Oracle
Escolha as rotinas integradas do Oracle para usar no código convertido. O Oracle é uma extensão do PostgreSQL que fornece rotinas compatíveis com as funções integradas do Oracle. Cada rotina tem uma configuração booleana dedicada. Quando você define uma rotina comotrue, o DMS Schema Conversion converte a função incorporada correspondente do Oracle em sua rotina Oracle. Quando você a define comofalse, a Conversão de Esquema do DMS deixa a função como um item de ação para revisão manual. Para usar essas rotinas, a extensão orafce deve estar disponível em seu banco de dados de destino. Todas essas rotinas são padronizadas parafalse. Defina uma rotina para true somente depois de verificar se o comportamento da função em seu uso é compatível com a rotina do Oracle.
| Nome da configuração | Função integrada do Oracle |
|---|---|
AddMonthsBuiltinFunctionOracle |
ADD_MONTHS |
BitandBuiltinFunctionOracle |
BITAND |
CoshBuiltinFunctionOracle |
COSH |
DbmsAssertBuiltinFunctionOracle |
Pacote DBMS_ASSERT |
DbmsOutputBuiltinFunctionOracle |
Pacote DBMS_OUTPUT |
DbmsRandomBuiltinFunctionOracle |
Pacote DBMS_RANDOM |
DbtimezoneBuiltinFunctionOracle |
DBTIMEZONE |
DecodeBuiltinFunctionOracle |
DECODE |
DumpBuiltinFunctionOracle |
DUMP |
InstrBuiltinFunctionOracle |
INSTR |
InstrbBuiltinFunctionOracle |
INSTRB |
LastDayBuiltinFunctionOracle |
LAST_DAY |
LengthBuiltinFunctionOracle |
LENGTH |
LengthbBuiltinFunctionOracle |
LENGTHB |
ListaggBuiltinFunctionOracle |
LISTAGG |
LnnvlBuiltinFunctionOracle |
LNNVL |
LpadBuiltinFunctionOracle |
LPAD |
LtrimBuiltinFunctionOracle |
LTRIM |
MedianBuiltinFunctionOracle |
MEDIAN |
MonthsBetweenBuiltinFunctionOracle |
MONTHS_BETWEEN |
NanvlBuiltinFunctionOracle |
NANVL |
NextDayBuiltinFunctionOracle |
NEXT_DAY |
NlssortBuiltinFunctionOracle |
NLSSORT |
Nvl2BuiltinFunctionOracle |
NVL2 |
NvlBuiltinFunctionOracle |
NVL |
RoundDateFmtBuiltinFunctionOracle |
ROUND(encontro) |
RoundNumberBuiltinFunctionOracle |
ROUND(número) |
RpadBuiltinFunctionOracle |
RPAD |
RtrimBuiltinFunctionOracle |
RTRIM |
SessiontimezoneBuiltinFunctionOracle |
SESSIONTIMEZONE |
SinhBuiltinFunctionOracle |
SINH |
SubstrBuiltinFunctionOracle |
SUBSTR |
SubstrbBuiltinFunctionOracle |
SUBSTRB |
SysdateBuiltinFunctionOracle |
SYSDATE |
TanhBuiltinFunctionOracle |
TANH |
ToCharDatetimeBuiltinFunctionOracle |
TO_CHAR(data e hora) |
ToCharNumberBuiltinFunctionOracle |
TO_CHAR(número) |
ToDateBuiltinFunctionOracle |
TO_DATE |
ToMultiByteBuiltinFunctionOracle |
TO_MULTI_BYTE |
ToNumberBuiltinFunctionOracle |
TO_NUMBER |
ToSingleByteBuiltinFunctionOracle |
TO_SINGLE_BYTE |
TruncDateBuiltinFunctionOracle |
TRUNC(encontro) |
TruncNumberBuiltinFunctionOracle |
TRUNC(número) |
Cada rotina é uma chave booleana separada. O exemplo a seguir ativa as rotinas e funções do Oracle para o OracleADD_MONTHS. NVL SUBSTR Adicione ou remova chaves para corresponder às funções em seu código-fonte e aplique as mesmas chaves a cada nome de seção que seu projeto usa.
{ "ORACLE_TO_POSTGRESQL_15": { "AddMonthsBuiltinFunctionOracle": true, "NvlBuiltinFunctionOracle": true, "SubstrBuiltinFunctionOracle": true } }
Configurações de código SQL
Configure como o DMS Schema Conversion manipula objetos integrados da Oracle que o PostgreSQL não suporta.
- Converta objetos embutidos não suportados em objetos stub ()
ConvUnsupportedBuiltinsToStubs -
Especifica se a Conversão de Esquema do DMS substitui objetos incorporados não suportados por objetos stub.
-
false— A conversão do esquema DMS deixa objetos incorporados sem suporte como itens de ação no relatório de avaliação. -
true— A conversão do esquema DMS substitui cada objeto incorporado não suportado por um objeto stub com a mesma assinatura. O objeto convertido é compilado para que você possa implantar e testar o restante do esquema antes de abordar stubs individuais.
Tipo: Boolean (
true|false)Padrão:
false -
- Crie objetos stub em um esquema separado ()
CreateStubsInSeparateSchema -
Especifica se a Conversão de Esquema do DMS cria objetos stub em um esquema separado. Essa opção aparece AWS Management Console somente quando a opção Converter objetos internos não suportados em objetos stub está selecionada e só entra em vigor quando essa opção está ativada.
-
true— A conversão do esquema DMS cria objetos stub em um esquema separado. Isso mantém os esquemas do aplicativo limpos e facilita a identificação de quais stubs ainda precisam ser implementados. -
false— A conversão do esquema DMS cria objetos stub no mesmo esquema do objeto convertido.
Tipo: Boolean (
true|false)Padrão:
true -
Exemplo: configurar o Oracle para as configurações do PostgreSQL
O exemplo a seguir mantém as visualizações materializadas como visualizações materializadas do PostgreSQL, emula a pseudocoluna usando ROWID bigint o tipo de dados e converte procedimentos em funções. Aplique as mesmas configurações ao nome de cada seção que seu projeto usa (verifique DescribeConversionConfigurationprimeiro a saída).
{ "ORACLE_TO_POSTGRESQL_15": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true }, "ORACLE_TO_POSTGRESQL_14": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true }, "ORACLE_TO_POSTGRESQL": { "MaterializedViewConvert": "MATERIALIZED_VIEW", "GenerateRowId": "true", "ConvertProceduresToFunction": true } }