Oracle Üzerinde Data Pump ile Export ve Import

Bu makalemde oracle üzerinden data pump ile export ve import alımını anlatacağım. Bir önceki makalemde Suse Enterprise Server SP1 üzerine Oracle 11GR2 database kurulumunu anlatmıştım.

 

http://www.cozumpark.com/blogs/oracle/archive/2012/07/08/suse-enterprise-server-11-zerine-oracle-11gr2-database-kurulumunu.aspx

 

 

Aynı database üzerinden işlemleri gerçekleştireceğim. Bu işlemi Oracle Veritabanı kurulu olduğu işletim sistemi üzerinden yapabildiğim gibi herhangi bir oracle client yüklü makinadan çalıştırabilirim. Eskiden kullandığımız export ve import dan farklı olarak, DataPump komutunun Veritabanı ve Client versiyonları birbirleriyle aynı olmalı. DataPump Sunucu tarafında calısan bir uygulamadır. Veritabanına baglanabilmek icin oncesinde ,Client kurulu bilgisayar uzerindeki C:\app\oracle\product\11.2.0\client_1\network\admin dizinin içersindeki TNSNAMES.ora dosyasını düzenlemeniz gerekir.

 

 

image001

 

 

Clientdan tnsping ile bağlanılabilirliğini kontrol edebilirsiniz.

 

 

 

 

Sıra geldi oracle da directory yaratmaya. DTPUMP isimli directory yaratıyorum. Directory Sunucu üzerindeki Local bir adres tanımı icermektedir.Dump dosyasımın yaratılacagı locasyonu vermeliyim.Sqlplus ile login olup aşağıdaki sql’i çalıştırıyorum. Dikkat edilecek önemli nokta directory kısmının nerede olacağı. İşletim sisteminde /data klasörünün içersinde backup isimli bir klasör oluşturacağım. (Dilerseniz siz ismi istediğiniz gibi verebilirsiniz)

 

 

CREATE OR REPLACE DIRECTORY

DTPUMP AS

‘/data/backup’;

 

 

 

 

 

Expdp komutumla datapumpın directory kısmını yazıyorum. Ona yukarıda ‘DTPUMP’ ismini vermiştim. Dmp dosyamın adı yedek.dmp, log dosyasının isminide yedek.log olarak yazıyorum. İstatistikleri toplamasını istemediğimden exclude dedim ve mevcut database’in bütün yedeğini alıyorum. O yüzden full=yes dedim. Kullanıcı adı ve şifreyi girdikten sonra export başlamış oluyor.

 

Export işlemini successfully completed demesiyle sona ermiş oluyor.

 

 

 

 

İşletim sisteminde /data/backup’ın altında iki adet dosya oluştu.

 

 

 

 

Linux de more komutuyla log dosyasının içersine bakabilirim. Komutum more yedek.log

 

 

 

 

Log dosyasının içersinde veritabanına ait bilgiler bulunmakta. Export versiyonu, hangi tarihte başladığı, export komut satırı, tabloların büyüklüğü ve satır sayısı, dump ‘ın yaklaşık büyüklüğü bilgileri bulunmakta. Datapump ile export bu şekilde alınmakta. Tabi siz isterseniz schema bazlı da export alabilirsiniz. Expdp nin komutlarını expdp help=yes dediğinizde görebilirsiniz.

 

 

 

 

 

 

Import kısmı export ile hemen hemen aynı.

 

 

 

 

Impdp komutunu kullanıyorum. Directory kısmı aynı ve export ile aldığım dmp dosyamın adını yazıyorum. Logfile kısmında yedek.imp.log dedim çünkü bir önceki logumu ezsin istemedim. Full=yes deyip importa başlıyorum.

 

 

 

 

Import bitti fakat 8034 error verdi korkulacak bir durum yok J Mevcut objelerin var olduğundan o hatayı verdi. More yedek.imp.log ile baktığımda objelerde already exists ibaresini görüyorum

 

 

 

 

 

 

Exporttaki gibi yine importta, tarihi, import komutu gibi bilgiler almakta. Import komutunun detayı için impdp help=yes diyebilirsiniz.

 

 

 

 

Evet datapump ile import ve export nasıl alınır, veriliri gördük. Bir sonraki makalede görüşmek üzere.

Exit mobile version