Merhaba arkadaşlar bu yazımda Oracle Database 11g Release 2 Enterprise Edition veritabanını Linux işletim sistemi üzerine kurulmasını anlatacagım.
Öncelikle http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html sitesinden Oracle Database 11g Release 2 veritabanımızı indiriyoruz.
Oracle’ı linux işletim sistemine kurmak için öncelikle bir takım parametreler set etmemiz gerekiyor.
NOT : Dökümandaki degişiklikleri ben vi editörüyle hazırladım başkalarıda kullanılabilir.
1.Host dosyasını aşagıdaki gibi düzeltiriz.
$ vi /etc/hosts
127.0.0.1 localhost.localdomain localhost 192.168.0.191 mustafa.localdomain mustafa
2.Kernel parametrelerini aşagıda ki gibi set ederiz.
NOT : Kernel parametrelerinin set edilmesi sırasında, yapmamız gereken birkaç ufak hesaplama olacak. Öncelikle bunlar kernel.shmmax ve kernel.shmall parametrelerinin hesaplanması.
kernel.shmmax değeri toplam bellek(ram) değerinin yarısının byte cinsinden yazımıdır. (Sunucumuzda 8GB RAM var ise, 8*1024*1024*1024/2 işlemini yaparak shmmax parametresini ayarlamamız gerekiyor.)-(Sunucumuzda ki toplam bellek miktarını ise grep MemTotal /proc/meminfo bu komutla ögrenebiliriz)
kernel.shmall parametresi için ise oracle’in kullanacağı değerin page size’a bölünmesiyle bulunur. (Sunucumuzda 8GB RAM var ise ve bunun 6GB sini Oracle kullanacaksa, 6*1024*1024*1024/4096 olacaktır.)-(Sunucumuzda ki page size’ı getconf PAGESIZE komutuyla ögrenebiliriz)
$ vi /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586
3.Degişikliklerin uygulanması için işletim sistemini yeniden başlatmalıyız ama yeniden başlatılmadan da aşağıda ki komut çalıştırılarak yeniden başlatılmaya gerek kalmadan degişiklikleri uygulayabiliriz.
$ /sbin/sysctl –p
4.Oracle veritabanının üzerinde çalışacağı işletim sistemi oracle kullanıcısı için limit değerleri aşağıdaki gibi set edilmelidir.
$ vi /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
5.Selinux’u aşagıda ki gibi disable yaparız.
$ vi /etc/selinux/config
SELINUX=disabled
6.Oracle’ın ihtiyaç duydugu rpm’leri yükleriz.Bunun için de Linux cd’mizi mount eder ve aşagıdaki scripti çalıştırırız.
cd /media/RHEL_5.5\ x86_64\ DVD/Server/
rpm -Uvh binutils-2*x86_64* rpm -Uvh glibc-2*x86_64* nss-softokn-freebl-3*x86_64* rpm -Uvh glibc-2*i686* nss-softokn-freebl-3*i686* rpm -Uvh compat-libstdc++-33*x86_64* rpm -Uvh glibc-common-2*x86_64* rpm -Uvh glibc-devel-2*x86_64* rpm -Uvh glibc-devel-2*i686* rpm -Uvh glibc-headers-2*x86_64* rpm -Uvh elfutils-libelf-0*x86_64* rpm -Uvh elfutils-libelf-devel-0*x86_64* rpm -Uvh gcc-4*x86_64* rpm -Uvh gcc-c++-4*x86_64* rpm -Uvh ksh-*x86_64* rpm -Uvh libaio-0*x86_64* rpm -Uvh libaio-devel-0*x86_64* rpm -Uvh libaio-0*i686* rpm -Uvh libaio-devel-0*i686* rpm -Uvh libgcc-4*x86_64* rpm -Uvh libgcc-4*i686* rpm -Uvh libstdc++-4*x86_64* rpm -Uvh libstdc++-4*i686* rpm -Uvh libstdc++-devel-4*x86_64* rpm -Uvh make-3.81*x86_64* rpm -Uvh numactl-devel-2*x86_64* rpm -Uvh sysstat-9*x86_64* rpm -Uvh compat-libstdc++-33*i686* rpm -Uvh compat-libcap*
7. Oracle veritabanının işletim sisteminde çalışacağı kullanıcı ve grupları aşagıda ki gibi oluştururuz ve parolalarımızı belirleriz.
groupadd oinstall groupadd dba groupadd oper groupadd asmadmin useradd -g oinstall -G dba,oper,asmadmin oracle passwd oracle
8. Oracle software in kurulacağı dizin oluşturur ve yetkileri veririz.
mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
9.Oracle kulanıcısının .bash_profile’ını düzeltiriz bunun için oracle kullanıcısından giriş yapılır ve aşagıda ki adımları uygularız.
$ vi /home/oracle/config
# Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=mustafa.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=DB11G; export ORACLE_SID PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
10.Daha sonra ise Oracle kullanıcısı ile Oracle’ın sitesinden indirdigimiz dosyaları rar’dan çıkartıız ve bize database isimli bir klasör verir.Bu aşamadan sonra terminal ile database klasörünün içine girip orada ki runInstaller ile setup işlemine başlarız.
$ ./runInstaller
11.Email adresimizi ve update’ler ile Oracle’dan destek almak için oracle support şifremizi isteyen ekran karşılayacaktır.Ben burayı boş geçiyorum.İstersek bu alanı doldurabiliriz ya da sonradan da bu alanları ekleyebiliriz.
12.Boş bıraktığımız alanları teyit etmek için uyarı penceresi gelecektir. YES diyerek devam edelim.
13.Burada 3 seçenek karşımıza çıkıyor ve ne yapmak istedigimizi soruyor.
• Create and configure a database : RDBMS yazılımını ve veritabanını kurar.
• Install database software only : Sadece RDBMS yazılımını kurar veritabanını istersek sonradan oluşturabiliriz.
• Uprgade an existing database : Varolan veritabanımızı günceller.
Ben 1.seçenegi seçerek RDBMS yazılımını ve veritabanını kurmasını istiyorum.
14.Kurulumun nasıl yapılacagını soruyor arada ki fark ise Server Class ile daha ayrıntılı konfigurasyon yapabiliyoruz.
15.Kurulumun tek sunucuda mı yoksa Rac ortamında mı kurulacagını seçmemizi istiyor.Single Instance seçerek devam ediyoruz.
16.Kurulumun nasıl yapılacagını soruyor arada ki fark ise Advanced Install ile daha ayrıntılı konfigurasyon yapabiliyoruz.
17.Ürün dilinizi seçecegimiz ekran karşımıza gelecektir English seçerek devam ediyoruz.
18.Enterprese Edition’u seçerek Next ile devam edebiliriz.Select options ile ek özellikler de ekleyebiliriz.
19.Oracle base ve Oracle home klasörlerimizi seçiyoruz.
20.Oracle inventory bilgilerinin tutulduğu klasör dizinini seçiyoruz. Grup olarak daha önceki makalede oluşturduğumuz oinstall grubu seçiyoruz.
21.Veritabanının ne amaçla kullanılacağını seçiyoruz.OLTP veritabanı için ilk seçenegi,veri ambarı için ikinci seçenegi seçmeliyiz.
22.Veritabanı adını ve SID i giriyoruz. DB adı ve SID aynı isim olabileceği gibi farklıda olabilir.
23.Automatic Memory management ı kullanıp kullanmayacagımızı belirtiyoruz.
24.Veritabanı yönetimi için Enterprese Manager’ün yükleyip yüklememek istedigimizi belirtiriz.
25.File system mi ASM’mi mi kulanacagımızı soruyor.File System’i seçerek devam ediyoruz.
26.Automated backup kullanıp kullanmayacağımızı belirtiyoruz.Bu işlemi kurulumdan sonrada yapabiliriz ya da şimdi enable yapıp FRA dizinini belirtiriz.
27.SYS,SYSTEM,SYSMAN ve DBSNMP kullanıcıları için şifre belirliyoruz,tek tek her birine ayrı şifrede verebiliriz hepsine tek sefer de bir şifrede verebiliriz.
28.Şifremiz kurallara uymuyorsa teyit etmemizi ister Yes diyerek geçebiliriz.
29.OSDBA ve OSOPER için daha önce oluşturduğumuz gruplarımızı seçiyoruz aynıda olabilir farklıda olabilir.
30.Parametreleri kontrol etmesini bekleriz ve hata yoksa devam ederiz.
31.Kurulum öncesi parametreleri kontrol ediyor.Hata varsa hataları düzeltip tekrardan denemeliyiz hata yoksada Finish diyerek devam edebiliriz.
32.Kurulumun bitmesini bekleriz.
33.Kurulum tamamlandığında aşağıdaki gibi veritabanını oluşturan DBCA (Database Configuration Assistant) otomatik başlayacaktır.
34.Kurulum tamamlandığında aşağıdaki gibi bir uyarı penceresi gelecektir. “Root” kullanıcısı ile iki script sırasıyla çalıştırılmalıdır. Scriptler çalıştırılmadan bu pencereye OK denilmemelidir.Birinci script ile yetkiler düzenlenir,ikinci script ile ortam degişkenlikleri set edilir.
$/u01/app/oraInventory/orainstRoot.sh
$/u01/app/oracle/product/11.2.0/db_1/root.sh
35.Scriptleri çalıştırdıktan ve yukarıdaki çıktıları elde ettikden sonra uyarı penceresine OK diyebiliriz. Son olarak aşağıdaki ekran gelecektir. Close ile çıkabiliriz.
36.Oracle 11gR2 veritabanımız kurulmuştur.Terminale girilerek aşagıda ki kod yazılarak da veritabanına baglanabiliriz.
Sqlplus / as sysdba;
Yazar : Mustafa Bektaş Tepe
Java && Oracle
Temmuz 11th, 2012 on 16:03
Men yazdim amma avtomatik startup olmur help please
Temmuz 11th, 2012 on 17:37
İnternette araştırdıgımda 2 problemden dolayı otomatik startup olamayacagından bahsediyor.
Birincisi rpm paketlerinin eksik yüklenmesinden dolayı olabilir,bir diger neden ise database’in dogru konfigure edilemedigi için.Bunun için çözüm yolu da rpm paketlerini tekrar yüklemekten ve dbca ile veritabanını tekrar konfigure etmekten geçer.