Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'esperienza di configurazione della conversione dello schema genera automaticamente istruzioni e script al termine del flusso di lavoro di conversione. Usare questi file per distribuire schemi convertiti in Database di Azure per PostgreSQL. La generazione dei file non esegue la distribuzione degli schemi nella destinazione. È possibile esaminarli ed eseguire lo script di PowerShell o Bash generato nell'ambiente di distribuzione.
Per istruzioni sull'apertura dei file di installazione da una conversione completata, vedere Preparare la distribuzione con l'esperienza di installazione nell'esercitazione.
Esaminare i file generati
La directory di installazione dipende dal numero di schemi Oracle selezionati per la conversione. Usare il percorso applicabile relativo alla radice dell'area di lavoro:
| Selezione dello schema Oracle | Directory di installazione |
|---|---|
| Uno schema selezionato | .github\postgres-migrations\<migration-project>\artifacts\oracle\<schema-name>\setup |
| Più schemi selezionati | .github\postgres-migrations\<migration-project>\artifacts\oracle\_migration\setup |
Sostituire <migration-project> con il nome della cartella del progetto di migrazione, ad esempio Mig001. Se si seleziona uno schema, sostituire <schema-name> con il nome della cartella dello schema Oracle selezionato, ad esempio HR. Se si selezionano più schemi, _migration è il nome effettivo della cartella, non un segnaposto.
Il percorso riflette gli schemi Oracle selezionati, non il numero di schemi PostgreSQL inclusi nel pacchetto. Esaminare setup_instructions.md l'ambito di distribuzione del pacchetto.
| File o directory | Purpose |
|---|---|
setup_instructions.md |
Prerequisiti, comandi, parametri facoltativi e indicazioni per la risoluzione dei problemi specifici dell'implementazione. |
setup.ps1 |
Strumento di esecuzione della distribuzione per Windows PowerShell. |
setup.sh |
Runner di distribuzione per Bash in Linux o macOS. |
sql |
Supporto di controlli di preparazione, script di estensione, query di verifica e manifesti usati dai runner. |
reports e logs |
Output scritti quando si eseguono gli script di installazione. |
Mantenere la directory di installazione all'interno del progetto di migrazione completo. Gli strumenti di esecuzione fanno riferimento a deploy.sql della sessione di conversione nella directory di pari livello convert; copiare solo la directory di installazione non è sufficiente.
Esaminare le istruzioni generate e sql di distribuzione prima di eseguirle. Verificare che SQL includa le correzioni degli oggetti che si intende distribuire. Se si trasferisce il progetto in un altro ambiente, mantenere la struttura di directory e seguire i requisiti di gestione dei dati dell'organizzazione. Rimuovere le credenziali e altri segreti dai file che condividi.
Preparare la destinazione
Usare i requisiti nel setup_instructions.md generato, anziché copiare i requisiti da un'altra conversione:
- Versioni server e client. Preparare un server flessibile Database di Azure per PostgreSQL con la versione di PostgreSQL richiesta. La versione principale del client
psqldeve corrispondere alla versione principale registrata del server di conversione nel pacchetto di installazione generato. Installare il client sul computer che esegue il programma di installazione e renderlo disponibile inPATH. Il programma di installazione può creare un database nel server, ma non effettua il provisioning del server Azure. - Accesso alla shell e ai file. Usare PowerShell 5.1 o versione successiva in Windows o Bash in Linux o macOS. Il runner deve avere accesso in scrittura alle directory
logsereports. - Accesso alla rete. Consentire al computer di installazione di connettersi al server di destinazione Database di Azure per PostgreSQL e alla porta PostgreSQL.
- Estensioni. Esaminare le estensioni necessarie e aggiungere estensioni supportate all'elenco di elementi consentiti del server di destinazione Database di Azure per PostgreSQL prima della distribuzione. Vedere Consentire le estensioni in Database di Azure per PostgreSQL.
- Autorizzazioni. Usare un account con le autorizzazioni di database, schema, creazione di oggetti e installazione dell'estensione specificate nelle istruzioni generate. La modalità nuovo database richiede anche l'autorizzazione per creare il database.
- Autenticazione. Usare il prompt delle password nascoste dello script, un file di password PostgreSQL o il processo di gestione dei segreti approvato dall'organizzazione. Non incorporare password negli script di distribuzione.
Verificare che il client sia disponibile:
psql --version
Le istruzioni generate riflettono l'ambiente di conversione, inclusi la versione di PostgreSQL e i requisiti delle estensioni. Esaminare eventuali differenze di destinazione prima della distribuzione.
Scegliere una modalità di database
Entrambi gli strumenti di esecuzione supportano queste modalità:
| Mode | Behavior |
|---|---|
| Nuovo database | Modalità predefinita. Crea un database nel server di destinazione Database di Azure per PostgreSQL durante la distribuzione. Il nome del database richiesto non deve esistere già. |
| Database esistente | Usa il database specificato. Se gli schemi di destinazione contengono oggetti, la configurazione richiede un riconoscimento esplicito prima di continuare. |
Per un'esecuzione interattiva, lo script richiede valori di host, utente e database mancanti. Esaminare la destinazione visualizzata, la modalità di database, gli schemi e l'operazione prima di confermare.
Controllare la preparazione senza distribuire
Aprire un terminale nella directory di setup generata. Scegliere il comando per il sistema operativo e la modalità di database desiderata:
| Modalità database | Windows PowerShell | Linux o macOS |
|---|---|---|
| Nuovo database | .\setup.ps1 -ValidateOnly |
bash setup.sh --validate-only |
| Database esistente | .\setup.ps1 -DatabaseMode existing -ValidateOnly |
bash setup.sh --database-mode existing --validate-only |
La modalità di sola convalida si connette al server e scrive report e log locali. Non crea il database di destinazione, non installa le estensioni né distribuisce gli oggetti convertiti.
I controlli di preparazione riguardano la connettività, la versione di PostgreSQL, le impostazioni locali e la codifica del database, le autorizzazioni, l'occupazione dello schema di destinazione e la disponibilità dell'estensione. Esaminare gli avvisi e gli errori bloccanti.
In modalità nuovo database, la convalida usa il database di manutenzione perché il database di destinazione non esiste ancora. I controlli che richiedono il database di destinazione vengono contrassegnati come saltati. Un'esecuzione di sola convalida riuscita non conferma che i controlli ignorati siano stati superati.
Al termine della convalida, esaminare validation_report_<timestamp>.md nella reports directory . Risolvere i problemi segnalati prima della distribuzione. Se la convalida viene arrestata in anticipo, controllare prima l'output della console, quindi qualsiasi log o report creato.
Distribuire gli schemi convertiti
Usare la stessa destinazione e la stessa modalità database selezionate. Dalla directory di installazione eseguire il comando appropriato senza -ValidateOnly (PowerShell) o --validate-only (Bash):
| Modalità del database | Windows PowerShell | Linux o macOS |
|---|---|---|
| Nuovo database | .\setup.ps1 |
bash setup.sh |
| Database esistente | .\setup.ps1 -DatabaseMode existing |
bash setup.sh --database-mode existing |
Il runner prepara il database, verifica la prontezza, installa le estensioni supportate necessarie, esegue l'SQL di distribuzione convertito e verifica gli oggetti e le estensioni risultanti.
Esaminare lo SQL di distribuzione prima di approvare una destinazione non vuota perché può modificare gli oggetti esistenti.
Important
Entrambe le modalità database possono lasciare modifiche residue dopo un errore. In modalità nuovo database, il programma di installazione crea il database prima dei controlli di preparazione della destinazione, in modo che un controllo non riuscito possa lasciare il database in posizione. Deployment SQL può anche applicare modifiche in transazioni separate. Esaminare lo stato di destinazione prima di riprovare; non presupporre che un'implementazione non riuscita abbia eseguito il rollback delle modifiche precedenti.
Usare setup_instructions.md per i parametri facoltativi di porta, TLS, impostazioni locali e automazione. Per un'esecuzione non interattiva, specificare in anticipo i dettagli host, utente, database e autenticazione. Una destinazione esistente non vuota richiede anche un riconoscimento esplicito tramite -AllowNonEmptyExisting in Windows o --allow-nonempty-existing in Linux o macOS.
Esaminare i risultati della distribuzione
Leggere i risultati del deployment prima di continuare con la convalida dei dati o dell'applicazione. Uno stato di conversione da solo non conferma la distribuzione/pubblicazione in questa destinazione.
| Directory | Output | Cosa rivedere |
|---|---|---|
reports |
deployment_report_<timestamp>.md |
Totali distribuiti e non distribuiti, risultati dell'estensione, risultati per tipo di oggetto e motivi per cui gli oggetti non sono stati distribuiti. |
reports |
verification_<timestamp>.csv |
Risultati dettagliati della verifica degli oggetti. |
reports |
extensions_<timestamp>.csv |
Risultati dettagliati dell'estensione. |
reports |
preflight_<timestamp>.csv |
Risultati del controllo di preparazione. |
logs |
setup_<timestamp>.log |
Messaggi di esecuzione ed errori. |
Le esecuzioni di sola convalida producono un report di convalida anziché un report di deployment. Un errore anticipato, ad esempio un problema di accesso ai file o di versione della shell, potrebbe lasciare solo l'output della console.
Usare il codice di uscita del runner insieme a questi output:
| Codice di uscita | Meaning |
|---|---|
0 |
Operazione richiesta completata. Per la modalità solo convalida, la convalida della preparazione ha avuto esito positivo senza distribuzione. |
1 |
Errore di input, del client o di annullamento da parte dell'utente. |
2 |
Errore di pacchetto di installazione/configurazione, connessione, database, controllo di preparazione o installazione dell'estensione. |
3 |
Distribuzione, verifica, segnalazione o errore imprevisto dello strumento di esecuzione. |
4 |
La verifica ha identificato oggetti o estensioni che non sono stati distribuiti. |
Continua l'automazione solo per il codice di uscita 0. Per qualsiasi altro codice, esaminare gli output disponibili e risolvere i problemi segnalati prima di procedere.
Convalidare lo schema distribuito
La configurazione riuscita non stabilisce l'equivalenza comportamentale con Oracle né la prontezza per la produzione. Testa in modo indipendente la gestione dei dati, le dipendenze, la logica di business e il comportamento dell'applicazione nell'ambiente di destinazione.
Esaminare gli oggetti o le estensioni che non sono stati distribuiti e completare le relative azioni correttive. Applicare la configurazione di sicurezza gestita separatamente e revocare i privilegi di installazione temporanea quando non sono più necessari.
Contenuti correlati
- Tutorial: convertire gli schemi Oracle in Database di Azure per PostgreSQL
- Esaminare gli oggetti convertiti in Conversion Esplora oggetti
- Visualizzare il report HTML per la conversione dello schema Oracle
- Procedure consigliate per la conversione dello schema da Oracle ad Database di Azure per PostgreSQL