Oracle Database Migration

Oracle Veritabanını Farklı Bir İşletim Sistemine Taşıma

Bu yazıda Solaris Sparc mimarisi üzerinde çalışan Oracle Veritabanını Intel Linux ortamına farklı yöntemlerle taşımayı anlatacağım

Kaynaktaki işletim sistemiyle hedefdeki işletim sisteminin endian yapısını bilmek gerekir. Aşağıdaki sorguda endian işletim sistemleriyle ilgili bilgi vermekte. Little ve Big olarak iki tip endian sistemi vardır.

Solaris Sparc – Aix – Ibm Power – Hp Ux; Big endian olarak adlandırılır

Windows – Linux – Solaris x86; Little endian olarak adlandırılır

Big endiandan little endiana geçiş mümkündür. Tam tersi durumunda convert işlemi gerçekleşmez

SELECT * FROM V$TRANSPORTABLE_PLATFORM;

Export/Import Yöntemi

Oracle 10’dan bu yana kullanılan en basit taşıma seklidir. Tüm platformları destekler. Db’nin kapatılmasına gerek yoktur. Export sırasında db üzerinde bir işlem olmamalıdır. Import edilen veri tabanında schemalara ait objeler invalid durumuna düşeceğinden kaynak/hedef arasında schema bazlı karşılaştırma yapılmalıdır. Import bittikten sonra oluşan importa ait log dosyası incelenmelidir. Tablespace, database name, database sid farklı olabilir. Dataguard için yeniden yapılandırılma gerekir

Transportable Tablespace Yöntemi (Big To Little)

Detay

Kaynak

Hedef

İşletim Sistemi

Solaris 10 Sparc

X86 Linux

Db Versiyon

11.2.0.4

11.2.0.4

Db Adı

orcl

orcl

Ip:

192.168.1.30

192.168.1.25

Kaynak ve Hedef veri tabanı arasında dil ayarları, sid ismi, datafile’ların bulunduğu dizin aynı olmalıdır. Bunun için öncelikle hedef veri tabanında boş bir oracle instance kurulumu yapılır. Veri tabanına ait kendi tablespaceleri (system, sysaux) ve UNDO, TEMP, SYS, SYSAUX schemaları taşınamaz. Taşıma öncesinde kaynak veri tabanında taşınacak tablespaceler read only moda çekilir.

Hedef veri tabanında move isimli user ve move adında tablespace mevcut.

Move userına ait deneme tablosu (12gb) veri bulunmakta procedure, package ve function mevcut

Taşıma Adımları

  1. Kaynak Move TS read only mode a çekilir

alter tablespace move read only;

  1. Kaynak veri tabanında transportable export alınır

expdp directory=dtpump dumpfile=transport.dmp logfile=transport_export.log transport_tablespaces=MOVE

  1. Tasınacak ts’ın içerisindeki datafile hedef db’ye kopyalanır

scp /u01/app/oracle/oradata/orcl/trs01.dbf oracle@192.168.1.25:/u01/app/oracle/oradata/orcl/

  1. Hedef veri tabanında taşınacak userlar, roller oluşturulur.

Not: User oluşturulduğunda taşınacak TS olmadığından default olarak USERS TS’i kullanması gerekir.

CREATE USER MOVE

IDENTIFIED BY VALUES ‘S:1E030EB8ABDA619EEC6E848B8C9D1240E2B87FC43150E1EC69E291691645;08CB4C0F6B151FA1’

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE DEFAULT

ACCOUNT UNLOCK;

  1. Aldıgımız export dump’ını hedefteki db’ye import ediyoruz

impdp directory=dtpump dumpfile=transport.dmp logfile=transport_export.log transport_datafiles=/u01/app/oracle/oradata/orcl/trs01.dbf

  1. Import işlemi bittikten sonra move isimli tablespace ve data geldi

  1. Move userının default USERS TS, MOVE TS olarak değişitirilir ve read only moddan çıkarılır
  2. Hedef db’de Move userı altında bulunan objeler (package, procedure, function, roller, grantlar vs) create edilir

Transportable Tablespace Yöntemi (Little To Big)

Detay

Hedef

Kaynak

İşletim Sistemi

Solaris 10 Sparc

X86 Linux

Db Versiyon

11.2.0.4

11.2.0.4

Db Adı

orcl

orcl

Ip:

192.168.1.30

192.168.1.25

Linux üzerinde kurulu veri tabanını solaris sparc platformuna tasıma kısmını anlatacağım

Big to Little tasıma yönteminin aynısını burada da yapıyoruz

Tek fark;

Kaynak sistemdeki datafileları rman ile convert etmek

Burdaki önemli kısımlardan biri convert edilecek datafile’lar lokasyon olarak başka yerde olmalı.

Disk üzerinde yer sıkıntısı olmamalı.

Kaynak işletim sisteminde rman e bağlanılıp komut çalıştırılır

convert tablespace MOVE

to platform ‘Solaris[tm] OE (64-bit)’

db_file_name_convert ‘/u01/app/oracle/oradata/orcl/’, ‘CONVERT EDILECEK PATH’;

Convert işlemi bittikten sonra convert edilen datafillar hedefteki lokasyona kopyalanmalıdır

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir