Whoever Resembles a People is One of Them. He is not one of us who resembles other than us,
nor who resembles the Jews nor the Christians.(jami-at-tirmidhi-vol-5-ahadith-2695)
O you who believe (who wish to reach ALLAH C.C. before death)! Do not take my and
your enemies for friends!
And although they have denied what has come to you
from the Truth, you still love them (treating them as your friends).
If you go forth to struggle hard in My Way, seeking My Pleasure, (then why) you manifest
love to them and share with them your secrets.
And I know what you conceal and what you manifest. And whoever of you does that, then he
indeed has gone astray from the right Way. 60/Al-Mumtahanah-1
They are driving out the Messenger and yourselves from your land because you
believe in ALLAH C.C., your Lord.
Recite (read and explain to others) that which has been revealed to you of the Book
and keep up the Prayer.
Surely the Prayer keeps away from Al-Fahsh (to do what ALLAH C.C. prohibits) and Al-Munkar
(to deny what ALLAH C.C. commands).
Whoever obeys me, obeys ALLAH C.C., and whoever disobeys me, disobeys ALLAH C.C.
Whoever obeys the ruler, obeys me, and whoever disobeys the ruler, disobeys me. " (Sahih)

Export-Import_DataPumb

Adım Adım Datapump ile Export alma
İşletim sistemi klasör oluşturulup, hem işletim sisteminde hem veritabanında hak verilmesi gerekir.

1- Klasör oluşturulmalı

mkdir /u01/app/oracle/flash_recovery_area/SMP/exp

2- İşletim sisteminde oracle kullanıcı ve grubuna izin verilmeli
chown -R oracle:oinstall /u01/app/oracle/flash_recovery_area/SMP/exp

3- Sqlplus ile bağlanıp oracle a bu klsörü tanıtmamız gerekiyor
CREATE DIRECTORY expdir AS ‘/u01/app/oracle/flash_recovery_area/SMP/exp

4- Oracle tarafında exp alacak kullanıcıya hak veriyoruz.
GRANT READ, WRITE ON DIRECTORY expdir TO exp_alacak_kullanici_ismi

Not:Harici SMTP den kullanıcı adı ve şifre sorgulanarak mail göndermek içinde smtp-cli_kurulumu.txt adlı belgenin okunarak paraketlerin kurulması lazım. Bu yazı yakında eklenecek.

Bilgi

SELECT * FROM dba_directories;

Örnek:
sadece HR şemasini exp almak için (hr,scot,jerry şeklinde birden çok şemanın exportu alınabilir.)

expdp system/system DIRECTORY=expdir DUMPFILE=${FILENAME} LOGFILE=${LOG} schemas=HR

full export icin(EXPORT_FULL_DATABASE rolüne sahip olan kullanıcılar full export alabilir.)
expdp system/system DIRECTORY=expdir DUMPFILE=${FILENAME} LOGFILE=${LOG} FULL=Y “

expdp mehmet/sifre DIRECTORY=expdir dumpfile=testexp01.dmp

expdp hr/hr DIRECTORY=dpump_dir1 . . .

expdp LOGFILE=dpump_dir2:salapati.log . . .

expdp salapati/password TABLES=employees,departments DUMPFILE=emp-dept.dmp

expdp system/manager DIRECTORY=dpump_dir1 DUMPFILE=expdat1.dmp

sistem kullanıcıs ile farklı şemalar export alınabilir.
expdp system/şifre DUMPFILE=scott.dmp SCHEMAS=SCOTT

Bir tablespace deki tüm objelerin (tablo,index view vb. exportu alınmak istenirse) tablespaces parametresi kullanılır.
default ta sıkıştırma enable durumdadır. kapatılmak istenirse “COMPRESSION=NONE” kullanılması gerekir.
default şema modda çalışır.

expdp hr/hr PARFILE=exp.par

Parametre Dosyası_1
SCHEMAS=HR
DIRECTORY=dpump_dir1
DUMPFILE=system1.dmp
SCHEMAS=hr

expdp PARFILE=myfile.txt

Parametre Dosyası_2
DIRECTORY=dpump_dir1
DUMPFILE=dataonly.dmp
CONTENT=DATA_ONLY
EXCLUDE=TABLE:”IN (‘COUNTRIES’, ‘LOCATIONS’, ‘REGIONS’)”
QUERY=employees:”WHERE department_id !=20 ORDER BY employee_id”

DataPump ile Full Alınmış exporttan bir şemanın/kullanıcının verilerini belirli bir kullanıcıya/şemaya alınması (kullanıcının kendi tablespace ine)
Kaynak kullanıcı : kaynakK
Hedef kullanıcı : hedefk
Kaynak tablespace : KaynakTBS
Hedef tablespace : HedefTBS

impdp kullanıcı/şifre dumpfile=FullDataPump.dmp schemas=kaynakK remap_schema=KaynakK:HedefK logfile=impdp.log directory=DataPump remap_tablespace=KaynakTBS:HedefTBS

Parametreler

EXCLUDE=TABLE:”LIKE ‘EMP%'” –EMP ile başlayan tabloları alma
EXCLUDE=INDEX
EXCLUDE=SCHEMA:”=’HR'”
INCLUDE=TABLE:”IN (‘EMPLOYEES’, ‘DEPARTMENTS’)”
INCLUDE=PROCEDURE
INCLUDE=INDEX:”LIKE ‘EMP%'”
EXCLUDE=TABLE:\”=’EMP’\”, EXCLUDE=FUNCTION:\”=’Fonksiyon_adı”\”,
ENCRYPTION_PASSWORD=123456

Internetten alıntı

paralel full export almak

$ expdp “‘/ as sysdba'” full=y directory=DUMP_DIR dumpfile=expdpmydbfull_%U.dp logfile=expdpmydbfull.log parallel=4

#Buradaki parallel=4 parametresi ile işlemin 4 ayrı process aracılığıyla ve 4 ayrı dosyada gerçekleşmesi sağlanıyor. Her bir dosyanın içinde ayrı yedekler bulunmakta ama sağlıklı import edebilmeniz için 4 dosyaya da ihtiyacınız var.
%U sembolü de Oracle’ın paralel şekilde dosya oluşabilmesi için koyduğu bir sembol (rasgele bir harf veremezsiniz). Bu işlem sonunda ilgili dizinde: expdpmydbfull_01.dp, expdpmydbfull_02.dp, expdpmydbfull_03.dp, expdpmydbfull_04.dp isminde 4 adet dosya oluşacaktır. Importu paralel yapmak zorunda değilsiniz. Zaten data pump import işlemi, eski nesil importa göre 50 kata kadar hızlı olduğu için paralel importa pek ihtiyaç duymayabilirsiniz. Bunun yanında 10.2.0.1 sürümünde DATAPUMP ile import ederken istatistikleri hesaplama işlemi çok uzun sürüyor(bug olabilir). Bu nedenle import sırasında EXCLUDE=STATISTICS demenizde hız açısından yarar var. Import bittikten sonra ilgili tabloların istatistiklerini manuel olarak hesaplatmanız çok daha hızlı olacaktır.

Tek tablo exportu

expdp “‘/ as sysdba'” tables=EXPUSR.tabloadi directory=DUMP_DIR dumpfile=expdptabloadi.dp logfile=expdptabloadi.log

Tek tablo exportunu başka kullanıcıya import etmek

impdp “‘/ as sysdba'” directory=DUMP_DIR dumpfile=expdptabloadi.dp logfile=expdptabloadi.log remap_schema=EXPUSR:IMPUSR

Full exporttan, bir schemanın tüm objelerini başka bir şemaya import etmek
impdp “‘/ as sysdba'” dumpfile=expdpmydbfull_%U.dp schemas=EXPUSR remap_schema=EXPUSR:IMPUSR remap_tablespace=’TSEXPUSR’:’TSIMPUSR’
logfile=impdpimpusr.log directory=DUMP_DIR

Burada remap_tablespace parametresindeki tırnak işaretlerini ( ‘ ) vermeyi unutmayın.
Full exporttan tek bir tabloyu başka bir kullanıcıya import etmek
impdp “‘/ as sysdba'” directory=DUMP_DIR dumpfile=expdpmydbfull_%U.dp logfile=impdptabloadi.log remap_schema=EXPUSR:IMPUSR remap_tablespace=’TSEXPUSR’:’TSIMPUSR’ tables=expusr.tabloadi

Queryli impdp
impdp “‘/ as sysdba'” directory=DUMP_DIR dumpfile=expdptabloadi.dp logfile=impdptabloadi.log
remap_schema=EXPUSR:IMPUSR TABLE_EXISTS_ACTION=replace query=tabloadi:”where kolonadi1<1000000 style=”font-weight: bold;”>multiple

remap_schema ve remap_tablespace importu

impdp “‘/ as sysdba'” dumpfile=expdpmydbfull_%U.dp remap_schema=EXPUSR:IMPUSR,EXPUSR_ING:IMPUSR_ING remap_tablespace=’TSEXPUSR’:’TSIMPUSR’,’TSEXPUSRING’:’TSIMPUSRING’ directory=DUMP_DIR

Tablonun rasgele %5’inin exportunu almak
expdp “‘/ as sysdba'” tables=EXPUSR.tabloadi directory=DUMP_DIR dumpfile=expdptabloadi.dp logfile=expdptabloadi.log sample=5

Flashback kullanarak geçmiş bir zamana ait verilerin exportunu almak
expdp “‘/ as sysdba'” full=y directory=DUMP_DIR dumpfile=expdpmydbfull_%U.dp logfile=expdpmydbfull.log parallel=4 FLASHBACK_TIME=”TO_TIMESTAMP(
’30-12-2007 00:13:47′,’DD-MM-YYYY HH24:MI:SS’)”

Parametre dosyası kullanarak export almak

expdp “‘/ as sysdba'” parfile=parametredosyam(full path i ile birlikte)

## Parametre dosyası kullanmak özellikle UNIX/Linux ortamlarında bazen işleri kolaylaştırmaktadır. Çünkü, aşağıdaki INCLUDE veya QUERY gibi parametrelerde tırnak işaretleri ve boşluk geçen ifadeleri kullanabilmeniz için bu ortamlarda karakterini doğru bir şekilde kullanmaya özen göstermek gerekir. Parametre dosyası içinde ise bu karakteri kullanmanıza gerek kalmaz. Bu nedenle işler kolaylaşır.

parametre dosyası örneği (1)

SCHEMAS=(EXPUSR,EXPUSRING)
INCLUDE=TABLE:”LIKE ‘%KUTUK%'”
DIRECTORY=DUMP_DIR
DUMPFILE=expdpusr_usring.dp
LOGFILE=expdpusr_usring.log
parameter file örneği (2)
full=y
directory=DUMP_DIR
dumpfile=expdpfull.dp
logfile=expdpfull.log
exclude=SCHEMA:”=’SYS'”
exclude=SCHEMA:”=’SYSTEM'”
exclude=SCHEMA:”=’SYSMAN'”
exclude=SCHEMA:”=’WMSYS'”
exclude=SCHEMA:”=’WK_TEST'”
exclude=SCHEMA:”=’WKSYS'”
exclude=SCHEMA:”=’OLAPSYS'”
exclude=SCHEMA:”=’OUTLN'”

Sadece metaverinin exportu (1)

expdp “‘/ as sysdba'” schemas=hr dumpfile=expdphrobjects.dp logfile=expdphrobjects.log include=package,function,procedure,trigger directory=DUMP_DIR

#Fakat burada, include a aldığınız türler dışındaki objelere ihtiyacınız olması durumunda çaresiz kalırsınız.
Sadece metaverinin exportu (2)
expdp “‘/ as sysdba'” dumpfile=expdpexpusrsource.dp logfile=expdpexpusrsource.log full=y content=METADATA_ONLY directory=DUMP_DIR

# Aldığınız bu exportu başka bir şemaya import ederseniz tüm kayıt desenleri ve objeler yeni şemada bulunur ve tablolarda veri olmaz. Ancak, aşağıdaki gibi sqlfile parametresini de kullanırsanız import işlemi gerçekleşmez ve tüm işlemlerin scripti belirlediğiniz dosyaya yazılır. Siz de buradan örneğin istediğiniz triggerın scriptine erişebilirsiniz.
impdp “‘/ as sysdba'” dumpfile=expdpexpusrsource.dp logfile=impdpexpusrsource.log sqlfile=hr.sql schemas=expusr directory=DUMP_DIR [isterseniz include=function,procedure,package,trigger vs.vs]

Export almadan network_link ile import etme
impdp dumdum/dumdum directory=DUMP_DIR tables=gecici network_link=todigerdbhr remap_schema=hr:dumdum remap_tablespace=’hr’:’TSXXX’

DMP dosyasının içeriğini görmek için

imp kullanıcı_ismi/sifre file= log= show=yes full=yes

Dump içeriğinde tablespace leri oluşturduktan sonra full imp verilebilir. kullanıcılara atanan default tbs leri bulamadığında aynı yola tbs oluşturmaya çalışır aynı path yoksa (örneğin windows server dan unix e alırken ) tbs yi oluşturmaz ve imp işlemini sonlandırır.

Copyright © 2015 Sysdba All Rights Reserved Web Designer