26 Kasım 2008 Çarşamba

Response File kullanarak Non-Interactive Oracle Kurulumu

Merhaba,


Birçoğumuz Oracle'ı Windows tabanlı işletim sistemlerinde öğrendik ve öğrenmeye devam ediyoruz. Nedeni kurulumun, kullanımın ve çalıştırılmasının kolay oluşudur. Aslında teorik olarak doğru bir yaklaşım fakat bana göre bu kendimize yaptığımız bir kötülük. Nedeni ise gerçek hayatta bir production sistemin başına geçtiğimiz zaman önümüzde çoğu zaman ya bir terminal ekranı -ki bu bir linux ya da unix işletim sistemi olduğu anlamına gelir- ya da windows haricinde bir işletim sistemi gelir. Dolayısıyla windows'a kurulumla uzak yakın pek bir ilgisi yoktur.

Windows'da kernel ayarları yoktur, terminal denen shell'e komut gönderip onun da kernel ile konuşmasını sağlayan arayüz yoktur, uninstall ederken registry ile uğraşmak zorunda kalmayız gibi birçok faktör sayabiliriz.

Sistemimizin sağlıklı bir biçimde çalışmasını hedefliyorsak, bu işin %50'lik kısmı kurulum esnasında tamamlanır. Düzgün kurulmamış bir veritabanı ileride ciddi sorunlara dönüşebilmektedir.

Gelelim konumuza. Response file nedir? Öncelikle bir linux, unix, solaris, aix vb unix tabanlı sistemlere kurulum yaparken her zaman önümüzde grafiksel bir arayüz bulunmuyor. İş gereği uzaktan bağlanıyoruz ve çoğu zaman makinenin bile başında olamıyoruz. Elbetti ki makinenin başında olmayışımız, grafiksel bir takım arayüzlere ulaşamayacağımız anlamına gelmez. Çalıştığınız makine üzerinde grafik kartı dahi olmayabilir. Ben öncelikle grafik kartı olmayan bir makine üzerinde neler yapılabilir ondan bahsedeyim.

Unix işletim sistemlerinde X11 dediğimiz paketler vardır. X11 windows tabanlı olup genelde unix'ler için kullanılır ve unix sistemlerden grafiksel arayüzlerin çekilebilmesine yarar. Bu paketlerin gönderilmesi ve unix'ten cevap alınması ile windows'dan putty gibi ssh client'ı veya telnet ile bağlandığımız bir unix işletim sistemindeki grafiksel arayüzlerin çalıştırılmasını kendi işletim sistemimiz olan windows'a aktarabiliriz. Bu aktarım içinse Humming Bird "Exceed" veya XManager gibi özel yazılımlar kullanılır. Putty ile de X11 forwarding paketlerini işaretleyerek sonuç üretmek mümkün ancak unix tarafında DISPLAY parametresini şu şekilde set etmek gerekebilir:

# DISPLAY=:0.0 --> (Putty'de geçerli, xmanager ve exceed'de genelde 0.0 olur ancak kontrol edilmesi lazım)
# export $DISPLAY

Bu şekilde runInstaller executable dosyasını grafiksel olarak windows işletim sistemimizde çalıştırabiliriz. Sadece runInstaller değil, dbca, netca, patchset upgrade runInstaller gibi configuration assistantları da grafiksel arayüzlerle çalıştırmak mümkün.

Evet, bu kadar ön bilgi yeterli olacaktır sanırım. Şimdi, responsefile dediğimiz dosya, adı üzerinde bir cevap dosyasıdır. Peki neye cevap verir? Oracle responsefile'dan bir instance, client, database, net gibi configuration assistanları çalıştırırken hesap sorar. Grafiksel arayüzde sizden istediği bütün cevapları, bu yardımcı yazılımları çalıştırırken responsefile'dan okuyacaktır.

Responsefile ile gerçekleştirilen bütün kurulumlara "Silent ya da Non-interactive" kurulum denir. Az önce de dediğim gibi, son derece zor bir kurulum çeşidi olarak algılayabilirsiniz. "E grafik yoksa nasıl kuracağız?" gibi sorular kafınıza takılabilir. Bütün bunların cevabını işteyken acı çekerek öğrenmek yerine, yazının devamını takip ederek öğrenebilirsiniz.

otn.oracle.com'dan indirdiğimiz bir install dosyamız var diyelim. Örneğim kurmak istediğimiz işletim sistemi RHEL 4 (Red Hat Enterprise Linux 4) olsun. Önceki bütün aşamaları (preinstallation, kernel parametrelerinin ayarlanması, oracle kullanıcısı ve dba grubunun yaratılması vs) atlıyorum. Bu aşamada kafanıza takılan soruların bütün cevaplarını tahiti.oracle.com dan öğrenebilirsiniz.

Gunzip veya untar ettiğimiz Oracle kurulum dosyasının içinde -genelde runInstaller executable'ının olduğu yerde- response diye bir dosya göreceksiniz. İçerisinde ise her configuration assistant'a özel response file'larını göreceksiniz. DBCA çalıştırırken farklı, NETCA çalıştırırken farklı, runInstaller çalıştırırken farklı. Sadece Patchset'inkini göremezsiniz o da zaten patchset ile birlikte geliyor. Bu response file'lar bir şablon şeklindedir ve her parametreden önce o parametrenin ne olduğunu, örnek olarak ne yazılabileceğini anlatır. Bu parametreleri ilk başta tek tek geçerek ne olduğunu anlamanızda fayda var. İlk seferinde bunların hepsini düzenleyin ve sonraki kurulumlar için saklayın. İkinci seferinde size inanılmaz kolay gelecektir ve her kurulumunuzu response file ile yapmak isteyeceksiniz. Hem daha gelişmiş bir kurulum olur hem de sizin için artı bir bilgi kümesi haline gelir.

Response file'ın içeriğini ayarladığınız zaman artık Silent ya da non-interactive kuruluma geçebilirsiniz.

# ./runInstaller [-silent] [-nowelcome] [-nowait] -responsefile

Silent: Oracle kurulumunu silent modda çalıştırır ve kurulum penceresini açık tutar. Eğer bu modda çalışıyorsak, nowelcome opsiyonuna gerek yok.
Nowelcome: Kurulum penceresini açık tutar.
Nowait: Silent kurulum tamamlandığı zaman kurulum ekranını kapatır.
Responsefile: Kurulumun response file'ını belirtmek için kullanılır.
Response_file_name: Response file'ın adı ve önünde -eğere gerekiyorsa- absolute path'i.

Silent opsiyonuyla bu kurulumun bir non-interactive kurulum olduğunu ve bu non-interactive kurulumun bir response file'a bağlı olacağını, cevapların oradan alınacağını söylüyoruz. Ardından runInstaller da bu duruma göre kuruluma devam ediyor.

Bahsettiğim gibi, çoğu zaman önünüzde sadece bir terminal ekranı olacak. Onun için, en kritik komutları, en önemli adımları iyi bilmek, nasıl olsa ToAD gibi yazılımlar var oradan hallederim gibi düşüncelere kapılmamak lazım. Bu işin en önemli yolu sadece bir terminal ekranından müdahale edebilmektir. Bunu başarıp, bir Oracle kurabiliyorsanız, Oracle'ı upgrade edebiliyorsanız, çökmüş bir veritabanını ayağa kaldırabiliyorsanız işte o zaman oyun şimdi yeniden başlıyor demektir...

İyi akşamlar,

Ogan

Hiç yorum yok:

Takip et: @oganozdogan