2016-03-19 13 views
0

Tabloyu bir Oracle veritabanından başka bir Oracle veritabanına kopyalamam gerekir. Ben DB bağlantıları olmayan aynı SQLLDR kullanıyorum.Oracle tablosunu DBLink olmadan bir veritabanından diğer veritabanına kopyalayın

Tablo boyutu çok büyük olduğundan (yaklaşık 160 GB), düz dosyadaki ayıklanan veriler yaklaşık 4-5 saat sürer, ayrıca unix kutusunda depolama sorunuyla karşı karşıyayım ve sqlldr ile yükleme de zaman alıyor .

Herkes aynı konuda bana yardımcı olabilir mi?

cevap

1

Oracle 10G (veya üstü) kullanıyorsanız, veritabanlarını sıkıştırma ile içe/dışa aktarmanıza olanak veren Oracle Data Pump yardımcı programını kullanabilirsiniz. Oracle Veritabanı sürümüne bağlı olarak, DB dışa aktarma/içe aktarma işlemlerini nasıl yapabileceğinize ilişkin örnekleri içeren resmi Oracle belgelerine bakabilirsiniz.

+0

Teşekkürler. Ancak SQL Plus'ta Dizin Oluşturma ayrıcalıklarına sahip değilim. Bunun için başka seçeneğiniz var mı? – Pravin

0

'Unix adlandırılmış kanal sql, çıkış veya makaranın üzerinden veri Özü ve derhal adlı kanal sqlldr yükleme ile başka bir oturumu başlatmak ...

[email protected]> mkfifo my.fifo.pipe 
[email protected]> sqlplus -s user/[email protected] @script-spooling-to-my.fifo.pipe 

<ANOTHER UNIX SESSION> 
[email protected]> sqlldr userid=user/[email protected] control=.... data=my.fifo.pipe 
+0

Burada biri de sıkıştırma ile yapıyor! http://www.simonecampora.com/blog/2010/07/09/how-to-extract-and-load-a-whole-table-in-oracle-using-sqlplus-sqlldr-named-pipes-and- sıkıştırılmış atmalar-on-unix / – Beege

0

Eğer DBLinks kullanamıyorsanız ve can Datapump kullanın, basit bir seçenek olarak, örneğin bir ETL aracı, Pentaho Veri Entegrasyonu, örneğin veya diğer kullanabilirsiniz.

İlgili konular