Il programma di utilità Stage Copy copia i dati dal database di produzione al database di trasferimento. E' possibile copiare i dati nelle tabelle specifiche dei siti, nelle tabelle specifiche dei negozi e nelle tabelle individuali. Inoltre, è possibile ripulire il database di trasferimento prima di utilizzare il programma di utilità Stage Copy mediante il parametro cleanup_stage_db della sintassi del comando. Se si specifica sì, il programma di utilità Stage Copy ripulisce tutte le tabelle di trasferimento prima di eseguire la copia dei dati. Questa operazione di eliminazione può coinvolgere anche altre tabelle. Se si specifica l'opzione no, il programma di utilità Stage Copy non cancellerà i dati dalle tabelle di trasferimento. La copia potrebbe non riuscire se i dati della copia generano un conflitto o duplicati di chiave sulla chiave primaria o indici univoci. Per utilizzare il programma di utilità Stage Copy soltanto per ripulire il database di trasferimento, specificare only.
I programmi di utilità Stage Copy e Stage Propagate dividono i dati del database in due livelli di ambito: relativo al sito e relativo al venditore. L'ambito del sito include i dati comuni a tutti i venditori del sistema. Ad esempio, i codici di lingua e paese o regione utilizzati dal sistema. L'ambito del venditore include i dati relativi a venditori individuali. Ad esempio, le informazioni sul negozio vengono personalizzate per i singoli venditori e le righe delle tabelle del negozio possono essere specifiche per ciascun venditore. Alcune tabelle di database contengono le informazioni sul sito e sul venditore. Se durante l'esecuzione del programma di utilità Stage Copy viene specificato il parametro scope su _all_, vengono copiati tutti i dati del sito seguiti da quelli del venditore. Se viene specificato l'ambito su _site_, verranno copiati soltanto i dati del sito. Se viene specificato l'ambito su _merchant_, verranno copiati soltanto i dati del venditore. Si osservi che non è possibile copiare i dati per un singolo venditore ma solo per tutti i venditori. Se l'ambito non viene impostato su _all_, copiare i dati del sito prima che i dati del venditore vengano utilizzati da tutti i venditori. Diversamente, la copia non riuscirà a causa di una incongruenza tra la chiave esterna e quella primaria. Quando si utilizza cleanup_stage_db per eliminare i dati del sito, è possibile che vengano eliminati anche i dati del venditore a causa della cancellazione delle cascate. Se l'ambito non è impostato su _all_, è necessario aggiornare prima i dati del venditore e poi quelli del sito, quindi copiare i dati del sito seguiti da quelli del venditore.
Un'altra opzione disponibile con il programma di utilità Stage Copy è il parametro script_file. Specificando un nome di file script, il programma di utilità Stage Copy genera un file script SQL che utilizza l'esportazione e l'importazione per copiare il database di produzione su quello di trasferimento in base all'ambito specificato. Inoltre vengono generati istruzioni di cancellazione per ripulire il database di trasferimento se si utilizza il valore predefinito o se si specifica cleanup_stage_db su yes. Il file script viene inserito nella directory in cui si avvia il programma di utilità Stage Copy. Il file script accelera il processo di copia del database utilizzando i programmi export e import. E' inoltre possibile modificare il funzionamento del programma di utilità Stage Copy modificando il file script generato. Ad esempio, è possibile modificare il file script per utilizzare il programma di utilità load di DB2 invece del programma di utilità import, che rende ancora più rapido il processo di copia. Osservare che lo script generato esporta tutte le tabelle sulla directory in cui il programma di utilità viene eseguito. Assicurarsi che vi sia spazio sufficiente su disco.
E' importante individuare l'ambito della transazione. Quando il database di trasferimento viene ripulito, il programma di utilità Stage Copy sincronizza la transazione dopo aver ripulito ciascuna tabella. Quando vengono copiati i dati, il programma di utilità Stage Copy sincronizza la transazione dopo aver copiato ciascuna tabella e sincronizzato la tabella KEYS Per script generati, l'ambito della transazione è leggermente differente a causa del programma di utilità import di DB2. Il programma di utilità import di DB2 sincronizza automaticamente la transazione dopo aver terminato il programma di importazione. La transazione viene sincronizzata prima della tabella KEYS. Di conseguenza, la sincronizzazione della tabella KEYS viene eseguita in una transazione separata.
E' possibile specificare una tabella da ripulire o copiare utilizzando il parametro dbtable. Osservare che quando viene specificata la tabella da ripulire o copiare, la tabella non può essere isolata. Alcune tabelle sono correlate tra di loro da limiti di riferimento. Se viene ripulita una tabella specificata, anche le tabelle secondarie vengono ripulite. Se viene copiata una tabella specificata, è necessario copiare prima la tabella principale. In caso contrario, la pulitura o la copia non riescono.
Il programma di utilità Stage Copy è configurabile ed estensibile. Per gestire le tabelle personalizzate, esistono alcune condizioni che le tabelle devono rispettare ed è inoltre necessario impostare le tabelle di configurazione di trasferimento. Per dettagli, fare riferimento a Configurazione del server di trasferimento per le tabelle personalizzate. Prima di poter utilizzare il programma di utilità Stage Copy, è necessario seguire i passi nella sezione Configurazione del database. Se il comando ha esito positivo, il programma di utilità Stage Copy elimina tutti i record dalla tabella STAGLOG.
Nota: Non è possibile utilizzare il comando Stage Copy se sono presenti RFQ sul sistema. Per ulteriori informazioni, fare riferimento a Limitazioni del server di trasferimento.
![]() |