Esiste un modo per ridurre la dimensione del file di dump di un database Sybase?

StackOverflow https://stackoverflow.com/questions/206787

  •  03-07-2019
  •  | 
  •  

Domanda

Quando eseguo il dump di un database Sybase, non sembra importare se ci sono dati nelle tabelle o meno, la dimensione del file è la stessa. Mi è stato detto che ciò dipende dal fatto che il mio file di dump è binario e non logico, quindi il file del file di dump si basa sulla dimensione allocata del database. So che Oracle può usare file di dump logici, ma posso fare in modo che Sybase esegua qualcosa di simile o ci sono altri modi subdoli per ridurre le dimensioni del file di dump?

È stato utile?

Soluzione

Da qualche parte intorno alla versione 12 sei stato in grado di eseguire dump compressi in ASE.

La sintassi è: dump database database_name in file_name [con compressione = compress_level]

compress_level è 0-9. 0 è nessuna compressione e 9 è il massimo. Maggiore è la compressione, maggiore è l'utilizzo della CPU durante l'esecuzione del dump. Devi solo eseguire un piccolo test per trovare un giusto equilibrio tra dimensioni e prestazioni.

Non sono necessari comandi speciali per caricare il dump.

Altri suggerimenti

Se stai già utilizzando compress_level 9 e desideri ancora una maggiore compressione, è possibile ricomprimere il file con bzip2.

Se semplicemente bzip2 il file compresso, otterrai un miglioramento del 10% circa. Se decomprimi e ricomprimi, potresti notare miglioramenti nell'intervallo del 30%. Tuttavia, tieni presente che dovrai decomprimere e / o decomprimere nuovamente il file per consentire a Sybase di caricarlo.

gunzip -c pubs_1.dmp | bzip2 > pubs.dmp.bz2

Mentre il link (La sintassi è) sopra è ovviamente corretto in quanto punta alla documentazione di base, i commenti sono fuorvianti.

La sintassi in formato semplice è:

dump del database da {database_name} a " compress :: {#pression_level} :: {stripe_device} " Vai

es. dump del database mydb su " compress :: 1 :: / sybase_dumps / mydb_17022009 "

In termini di caricamento del dump del database, l'opzione :: compress; deve essere data nuovamente.

ad es. carica il database mydb da " compresss :: / sybase_dumps / mydb_17022009 "

Si noti che non è richiesto il livello di compressione né i due punti di separazione extra che seguono.

I test per trovare il tuo equilibrio sono un buon punto, ricordati più in alto ti aspetti che la discarica impieghi molto più tempo. Trovo che 1-3 sia più che ampio, non ho mai superato i 6, i rendimenti decrescenti non ne valgono la pena.

Se fossi disperato, bzip2 il file come descritto sopra {punto guadagnato}. Se questo fosse un host di produzione, spedirei il file a un altro host e lo farei. Il successo delle risorse può essere considerevole.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top