Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Impostazioni di conversione da Oracle a PostgreSQL
Le seguenti impostazioni si applicano quando l'origine è Oracle e la destinazione è Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL. Puoi configurare queste impostazioni utilizzando l'operazione o l'API. AWS Management Console ModifyConversionConfiguration
Questo argomento tratta le impostazioni specifiche del percorso di conversione da Oracle a PostgreSQL. Oltre a queste impostazioni, DMS Schema Conversion fornisce impostazioni che si applicano a tutte le coppie di origine e destinazione, come il livello di gravità per i commenti sugli elementi di azione in SQL convertito e l'opzione di utilizzare l'intelligenza artificiale generativa per la conversione. Per queste impostazioni, vedi. Impostazioni di conversione comuni
Quando utilizzi l'API o la AWS CLI, specifica le impostazioni del percorso di conversione nei nomi delle sezioni ORACLE_TO_POSTGRESQLORACLE_TO_POSTGRESQL_14, oppure. ORACLE_TO_POSTGRESQL_15 Tutte e tre le sezioni con versione accettano le stesse chiavi. Per scoprire quali nomi di sezione vengono utilizzati dal tuo progetto, chiama DescribeConversionConfigurationprima e aggiorna solo le sezioni presenti nella risposta.
Ogni impostazione mostra l' AWS Management Console etichetta seguita dal nome dei parametri API e AWS CLI tra parentesi. Utilizza il nome del parametro durante la configurazione delle impostazioni con l'API o la AWS CLI. Le impostazioni sono elencate nello stesso ordine in cui appaiono in. AWS Management Console
- Versione del motore di destinazione (
ORACLE_TO_POSTGRESQL_target_engine_version) -
Scegliete la versione del motore per il database di destinazione. Questa impostazione è il set di funzionalità della versione principale di PostgreSQL a cui DMS Schema Conversion si rivolge per la conversione e determina a quale sezione delle impostazioni con versione si applica DMS Schema Conversion (o).
ORACLE_TO_POSTGRESQL_14ORACLE_TO_POSTGRESQL_15Il valore è15destinato alle funzionalità di PostgreSQL 15 e versioni successive e alle funzionalità di PostgreSQL 14,14in modo che il database di destinazione possa eseguire una versione successiva al valore scelto (ad esempio, un valore di per un target PostgreSQL 16).15A differenza delle altre impostazioni di questa pagina, questa impostazione non è memorizzata in una sezione del percorso di conversione. Viene invece memorizzata nellaConversion versionsezione di primo livello, come illustrato nell'esempio seguente.{ "Conversion version": { "ORACLE_TO_POSTGRESQL_target_engine_version": "15" } }Tipo: String (
14|15)Default:
15 - Viste materializzate ()
MaterializedViewConvert -
Specifica in che modo DMS Schema Conversion converte le viste materializzate Oracle sulla destinazione.
API/CLI valore Risultato sull'obiettivo TABLEDMS Schema Conversion crea una tabella normale con le stesse colonne. Utilizzatela quando gestite l'aggiornamento manualmente o con uno strumento di replica. MATERIALIZED_VIEWDMS Schema Conversion crea un PostgreSQL MATERIALIZED VIEW. Usalo quando il target supporta.REFRESH MATERIALIZED VIEWTipo: String (
TABLE|MATERIALIZED_VIEW)Default:
TABLE - Genera l'id della riga (
GenerateRowId) -
Il database Oracle di origine può utilizzare la pseudo colonna
ROWID. PostgreSQL non supporta funzionalità simili. Questa impostazione specifica se DMS Schema Conversion emula laROWIDpseudocolonna nel codice convertito e quale tipo di dati DMS Schema Conversion utilizza per l'emulazione.Etichetta della console API/CLI valore Comportamento Non generare falseDMS Schema Conversion non emula la ROWIDpseudocolonna e lascia i riferimenti come elementi di azione. Usalo quando il codice sorgente Oracle non lo utilizza.ROWIDIl codice convertito viene eseguito più velocemente.Usa il tipo di dati bigint per emulare la pseudocolonna ROWID trueDMS Schema Conversion emula la ROWIDpseudocolonna nel codice convertito utilizzando il tipo di dati.bigintUsa il tipo di dati che varia a caratteri per emulare la pseudocolonna ROWID GENERATE_AS_CHARACTER_DOMAIN_TYPEDMS Schema Conversion emula la ROWIDpseudocolonna nel codice convertito utilizzando il tipo di dati.character varyingTipo: String (enum)
Default:
false
Codice
Seleziona le impostazioni di conversione specifiche del codice Oracle sorgente.
- Utilizzate la mappatura ottimizzata dei tipi di dati per le colonne del tipo di dati NUMBER ()
UseOptimizedMappingForNumberConversion -
Speciifica se DMS Schema Conversion associa ogni
NUMBERcolonna Oracle al tipo di dati numerici più adatto in base alla precisione e alla scala.-
true— DMS Schema Conversion mappa ogniNUMBERcolonna sul tipo numerico PostgreSQL più specifico (ad esempioSMALLINT,INTEGER,BIGINTo) in base alla sua precisione e scala. -
false— DMS Schema Conversion mappa tutte le colonne su.NUMBERNUMERIC
Tipo: Boolean (|)
truefalseDefault:
true -
- Usa una funzione PostgreSQL TO_CHAR nativa ()
ToCharFunctionOracle -
Speciifica se DMS Schema Conversion emula la funzione Oracle nel codice convertito.
TO_CHAR-
false— DMS Schema Conversion emula ilTO_CHARcomportamento Oracle nel codice convertito. -
true— DMS Schema Conversion converteTO_CHAReTO_NCHARchiama alla funzione PostgreSQL nativa.TO_CHARSeleziona questa opzione per evitare l'emulazione quando le stringhe di formato sono compatibili con PostgreSQL.
Tipo: Boolean (|)
truefalseDefault:
false -
- Usa una funzione PostgreSQL TO_DATE nativa ()
ToDateFunctionOracle -
Speciifica se DMS Schema Conversion emula la funzione Oracle nel codice convertito.
TO_DATE-
false— DMS Schema Conversion emula ilTO_DATEcomportamento Oracle nel codice convertito. -
true— DMS Schema Conversion converteTO_DATEle chiamate alla funzione PostgreSQL nativa.TO_DATE
Tipo: Boolean (|)
truefalseDefault:
false -
- Usa una funzione PostgreSQL TO_NUMBER nativa ()
ToNumber -
Speciifica se DMS Schema Conversion emula la funzione Oracle nel codice convertito.
TO_NUMBER-
false— DMS Schema Conversion emula ilTO_NUMBERcomportamento Oracle nel codice convertito. -
true— DMS Schema Conversion converteTO_NUMBERle chiamate alla funzione PostgreSQL nativa.TO_NUMBER
Tipo: Boolean (|)
truefalseDefault:
false -
- Migliora le prestazioni del codice convertito laddove il database e le applicazioni utilizzano lo stesso fuso orario ()
ToTimeZone -
Speciifica se DMS Schema Conversion emula i fusi orari nel codice convertito.
-
true— DMS Schema Conversion non emula i fusi orari. Usalo quando il database e le applicazioni utilizzano lo stesso fuso orario. Il codice convertito viene eseguito più velocemente. -
false— DMS Schema Conversion emula i fusi orari nel codice convertito.
Tipo: Boolean (|)
truefalseDefault:
false -
- Compila le sequenze convertite con l'ultimo valore generato sul lato sorgente ()
AlertSequenceRestart -
Speciifica se DMS Schema Conversion continua le sequenze convertite dall'ultimo valore generato nell'origine.
-
true— DMS Schema Conversion imposta ogni sequenza convertita in modo che inizi dall'ultimo valore generato nell'origine, in modo che le sequenze continuino senza conflitti. -
false— DMS Schema Conversion avvia le sequenze convertite dal loro valore iniziale predefinito.
Tipo: Boolean (|)
truefalseDefault:
false -
- Converti le colonne a chiave primaria ed esterna del tipo di dati NUMBER nel tipo di dati BIGINT ()
ConvertNumberToBigint -
Speciifica se DMS Schema Conversion converte le colonne della chiave primaria e della chiave esterna del
NUMBERtipo di dati in.BIGINTUsare con cautela per evitare la perdita di dati se il database di origine memorizza numeri a virgola mobile in queste colonne.-
true— DMS Schema Conversion mappa le colonne della chiave primaria e della chiave esterna su.NUMBERBIGINT -
false— DMS Schema Conversion utilizza la mappatura numerica standard per queste colonne.
Tipo: Boolean (|)
truefalseDefault:
false -
- Converti solo i trigger e i vincoli attivi ()
IgnoreDisabledTriggersConstraints -
Speciifica se DMS Schema Conversion ignora i trigger e i vincoli disattivati durante la conversione.
-
true— DMS Schema Conversion converte solo i trigger e i vincoli attivi e ignora quelli disattivati. -
false— DMS Schema Conversion converte tutti i trigger e i vincoli, compresi quelli disattivati.
Tipo: Boolean (|)
truefalseDefault:
false -
- Converte il codice SQL dinamico creato in un formato chiamato routines ()
ConvertOutputAsDynamic -
Speciifica se DMS Schema Conversion converte le variabili di stringa a cui si fa riferimento all'esterno della routine come SQL dinamico.
-
true— DMS Schema Conversion converte le variabili di stringa a cui si fa riferimento all'esterno della routine come SQL dinamico. -
false— DMS Schema Conversion non converte queste variabili di stringa in SQL dinamico.
Tipo: Boolean (|)
truefalseDefault:
false -
- Converti le procedure in funzioni ()
ConvertProceduresToFunction -
Specifica se DMS Schema Conversion converte le stored procedure di Oracle in funzioni void PostgreSQL.
-
true— DMS Schema Conversion converte le stored procedure Oracle in funzioni void PostgreSQL. -
false— La conversione dello schema DMS converte le stored procedure Oracle in procedure PostgreSQL.
Tipo: Boolean (|)
truefalseDefault:
false -
- Conserva i nomi dei vincoli generati dal sistema ()
ConvertSysConstraintNamesUsingOriginal -
Speciifica se DMS Schema Conversion mantiene i nomi dei vincoli originali generati dal sistema Oracle nella destinazione. Utilizzate questa opzione se il codice Oracle di origine utilizza nomi di vincoli generati dal sistema per creare vincoli con gli stessi nomi nel database di destinazione.
-
true— DMS Schema Conversion mantiene i nomi dei vincoli originali generati dal sistema Oracle nella destinazione. -
false— DMS Schema Conversion genera nuovi nomi di vincoli.
Tipo: Boolean (|)
truefalseDefault:
false -
- Imposta il fuso orario del database di origine ()
UseDefaultTimeZoneForSysdateEmulation -
Speciifica se la funzione che emula la
SYSDATEfunzione Oracle utilizza il fuso orario inDefaultTimeZoneForSysdateEmulation, in modo che il codice convertito restituisca gli stessi valori del database di origine.-
true— La conversione dello schema DMS utilizza il fuso orario specificato inDefaultTimeZoneForSysdateEmulationper l'emulazione.SYSDATE -
false— DMS Schema Conversion utilizza il fuso orario predefinito per l'emulazione.SYSDATE
Tipo: Boolean (|)
truefalseDefault:
false -
DefaultTimeZoneForSysdateEmulation-
Il fuso orario utilizzato da DMS Schema Conversion quando viene attivata
SYSDATEl'emulazione.UseDefaultTimeZoneForSysdateEmulationSpecificate un nome di fuso orario IANA valido, ad esempioUTCAmerica/New_York, o.Europe/BerlinQuesto valore non ha effetto quandoUseDefaultTimeZoneForSysdateEmulationèfalse.Tipo: String (nome del fuso orario IANA)
Default:
UTC
Nota
AWS Management Console Elenca un'opzione aggiuntiva, Aggiungi funzioni del pacchetto di estensione che sollevano eccezioni definite dall'utente, tra Converti le procedure in funzioni e Conserva i nomi dei vincoli generati dal sistema. Questa opzione è configurata solo in AWS Management Console e non è disponibile tramite l'API o la AWS CLI. Il comportamento relativo al livello di gravità è controllato dall'impostazione comune. ShowSeverityLevelInSql Per ulteriori informazioni, consulta Impostazioni di conversione comuni.
Routine integrate di Oracle
Scegli le routine integrate di Oracle da utilizzare nel codice convertito. Oracle è un'estensione PostgreSQL che fornisce routine compatibili con le funzioni integrate di Oracle. Ogni routine ha un'impostazione booleana dedicata. Quando si imposta una routine sutrue, DMS Schema Conversion converte la funzione integrata di Oracle corrispondente nella relativa routine Oracle. Quando lo impostate sufalse, DMS Schema Conversion lascia la funzione come elemento di azione per la revisione manuale. Per utilizzare queste routine, l'estensione orafce deve essere disponibile nel database di destinazione. Tutte queste routine sono predefinite su. false Imposta una routine su true solo dopo aver verificato che il comportamento della funzione durante l'utilizzo sia compatibile con la routine Oracle.
| Nome dell'impostazione | Funzione integrata Oracle |
|---|---|
AddMonthsBuiltinFunctionOracle |
ADD_MONTHS |
BitandBuiltinFunctionOracle |
BITAND |
CoshBuiltinFunctionOracle |
COSH |
DbmsAssertBuiltinFunctionOracle |
DBMS_ASSERTpacchetto |
DbmsOutputBuiltinFunctionOracle |
DBMS_OUTPUTpacchetto |
DbmsRandomBuiltinFunctionOracle |
DBMS_RANDOMpacchetto |
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(data) |
RoundNumberBuiltinFunctionOracle |
ROUND(numero) |
RpadBuiltinFunctionOracle |
RPAD |
RtrimBuiltinFunctionOracle |
RTRIM |
SessiontimezoneBuiltinFunctionOracle |
SESSIONTIMEZONE |
SinhBuiltinFunctionOracle |
SINH |
SubstrBuiltinFunctionOracle |
SUBSTR |
SubstrbBuiltinFunctionOracle |
SUBSTRB |
SysdateBuiltinFunctionOracle |
SYSDATE |
TanhBuiltinFunctionOracle |
TANH |
ToCharDatetimeBuiltinFunctionOracle |
TO_CHAR(data/ora) |
ToCharNumberBuiltinFunctionOracle |
TO_CHAR(numero) |
ToDateBuiltinFunctionOracle |
TO_DATE |
ToMultiByteBuiltinFunctionOracle |
TO_MULTI_BYTE |
ToNumberBuiltinFunctionOracle |
TO_NUMBER |
ToSingleByteBuiltinFunctionOracle |
TO_SINGLE_BYTE |
TruncDateBuiltinFunctionOracle |
TRUNC(data) |
TruncNumberBuiltinFunctionOracle |
TRUNC(numero) |
Ogni routine è una chiave booleana separata. L'esempio seguente attiva le routine Oracle e le funzioni di ADD_MONTHS Oracle. NVL SUBSTR Aggiungi o rimuovi le chiavi in base alle funzioni del codice sorgente e applica le stesse chiavi a ogni nome di sezione utilizzato dal progetto.
{ "ORACLE_TO_POSTGRESQL_15": { "AddMonthsBuiltinFunctionOracle": true, "NvlBuiltinFunctionOracle": true, "SubstrBuiltinFunctionOracle": true } }
Impostazioni del codice SQL
Configura il modo in cui DMS Schema Conversion gestisce gli oggetti integrati di Oracle che PostgreSQL non supporta.
- Converti oggetti incorporati non supportati in oggetti stub ()
ConvUnsupportedBuiltinsToStubs -
Speciifica se DMS Schema Conversion sostituisce gli oggetti incorporati non supportati con oggetti stub.
-
false— DMS Schema Conversion lascia gli oggetti incorporati non supportati come elementi di azione nel rapporto di valutazione. -
true— DMS Schema Conversion sostituisce ogni oggetto integrato non supportato con un oggetto stub con la stessa firma. L'oggetto convertito viene compilato, quindi è possibile distribuire e testare il resto dello schema prima di indirizzare i singoli stub.
Tipo: Boolean (|)
truefalseDefault:
false -
- Crea oggetti stub in uno schema separato ()
CreateStubsInSeparateSchema -
Speciifica se DMS Schema Conversion crea oggetti stub in uno schema separato. Questa opzione appare AWS Management Console solo quando è selezionata l'opzione Converti oggetti incorporati non supportati in oggetti stub e ha effetto solo quando l'opzione è abilitata.
-
true— La conversione dello schema DMS crea oggetti stub in uno schema separato. Ciò mantiene puliti gli schemi delle applicazioni e semplifica l'identificazione degli stub che devono ancora essere implementati. -
false— DMS Schema Conversion crea oggetti stub nello stesso schema dell'oggetto convertito.
Tipo: Boolean (|)
truefalseDefault:
true -
Esempio: configurare Oracle per le impostazioni di PostgreSQL
L'esempio seguente mantiene le viste materializzate come viste materializzate di PostgreSQL, emula la pseudocolonna utilizzando il tipo di dati e converte ROWID le procedure in funzioni. bigint Applica le stesse impostazioni a ogni nome di sezione utilizzato dal progetto (controlla prima l'output di). DescribeConversionConfiguration
{ "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 } }