Come posso diffondere due schemi Oracle 10g?

Ho la sensazione che ci siano delle differenze tra due grandi schemi Oracle complicati che dovrebbero essere identici, quindi decidono di discaricare e diffonderli per indagare. Ho trovato un articolo ( http://www.dba-oracle.com/art_builder_get_schema_syntax.htm ) che fornisce i seguenti comandi per scaricare le tabelle e le definizioni di indice.

SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; 

Tuttavia, quando ho scaricato e diffuso bobina dell'output gli schemi, c'erano differenze banali su quasi tutte le linee che rendono la differenza inutile. Ad esempio, il nome dello schema è incluso in each definizione di tabella.

C'è un modo migliore per fare ciò che darà i dati dello schema più importnti in un formato che può essere facilmente confrontato utilizzando uno strumento di diff. Sono interessato a tabelle, indici e trigger.

Sto usando Oracle Database 10g Enterprise Edition 10.2.0.3.0

  • Solo il punto di accesso client del cluster di failover risponde solo a Ping sul nodo proprietario
  • Guida di SQL Server
  • Per migliorare le performance SQL, perché non mettere un sacco di RAM piuttosto che dischi rigidi più veloci?
  • database di Windows interni che consumano molta memory
  • come get il file mysql.sock cancellato erroneamente da "/ mysql / tmp /"
  • Sono state estratte da spazio su disco, come tar senza creare copia
  • Filtro di iniezione SQL IIS
  • Query MySQL, 2 server simili, differenza di 2 minuti nei tempi di esecuzione
  • 6 Solutions collect form web for “Come posso diffondere due schemi Oracle 10g?”

    Lo strumento SchemaCrawler libero e open source farà quello che serve. SchemaCrawler esegue i dettagli del tuo schema (tabelle, visualizzazioni, procedure e altro) in un formato diffuso in text semplice (text, CSV o XHTML). SchemaCrawler può anche printingre dati (inclusi CLOBs e BLOB) nello stesso formato di text. È ansible utilizzare un programma di diff standard per differenziare l'output corrente con una versione di riferimento dell'output.

    https://github.com/sualeh/SchemaCrawler

    Dovrai fornire un driver JDBC per il tuo database.

    non hai bisogno di nessuna di queste cose.

    otn.oracle.com

    Oracle ha uno strumento gratuito denominato SQL Developer. ha uno schema diff.

    È ansible utilizzare TOAD è un grande strumento generico per lo sviluppo di Oracle. C'è una versione di prova per il test. Dalla list delle funzioni:

    • Confronto dati e sincronizzazione guidata
    • Sincronizzare i dati tra le piattaforms di database

    Un altro prodotto da testare è OraPowerTools :

    OraPowerTools è una raccolta di utilità di database native oracle. Questa raccolta comprende OraEdit PRO, un ambiente completo di sviluppo Oracle, DBDiff per Oracle, confronto e aggiornamento di qualsiasi database 2 Oracle e DBScripter per Oracle, creare script SQL da oggetti e / o dati del database dell'Oracle.

    Come alternativa gratuita puoi controllare questo articolo di CodeProject: Schema Compare Tool for Oracle

    Questa piccola applicazione VB.NET consente di confrontare gli schemi di database Oracle uno contro l'altro. Ciò è molto utile quando si assicura che l'istanza di sviluppo sia la stessa dell'istanza di produzione; soprattutto quando si apportno modifiche front-end.

    1 : 1 : http://www.toadsoft.com/toad_oracle.htm

    Utilizziamo il DKGAS "DBDiff for Oracle" , è ansible confrontare un integer schema o una parte di essi (tabelle, sequenze, indici, vincoli, privilegi, pacchetti, oggetti e dati) come un rapporto di confronto o come uno script di aggiornamento.

    Utilizziamo quest'ultimo come base per gli script di aggiornamento del database.

    Se è ansible eseguire Perl, è ansible esaminare SQLFairy , che dovrebbe essere in grado di produrre un dump del tuo schema come SQL. È quindi ansible utilizzare strumenti standard di diffusione del text. C'è anche uno strumento che prenderà due schemi e produrrà i comandi ALTER per renderli identici.

    Se hai dei soldi da spendere, consideri di utilizzare PowerDIFF per Oracle: http://www.orbit-db.com . Questo strumento confronta le tabelle, gli indici e i trigger eccellente e viene fornito con una serie di opzioni di confronto per personalizzare l'operazione 'diff'. Uno script di differenza totale (comandi DDL e DML) viene generato facoltativamente. È necessario un driver ODBC per connettersi al database.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.