Merhaba arkadaşlar bu yazdım da piyasaya yeni çıkmış olan ve beraberinde bir çok yenilik getiren Oracle 12c veritabanı kurulumunu yapacagız.
Ben kurulumu Oracle Enterprise Linux 6.4 üzerine yapacagım.
Oracle Veritabanı kurulumana başlamadan önce Oracle 12c’yi OTN’den indirmek için buraya,edilevery’den indirmek için buraya tıklamamız gerekir.
1.)Network arayüzünden konfigurasyon yapılmalıdır.Etherneti’mizi seçer “Edit” butonunu seçeriz.
2.)Bilgilerimizi gireriz.Varsa DNS bilgilerini de girmeliyiz.Daha sonra “Apply” butonunu seçeriz.
NOT : “Connect automatically” ve “Available to all users” kutucuklarını seçmeliyiz.
NOT : Ethernet kartının mac adresini kontrol etmemiz daha sağlıklı olacaktır.
3.)Network konfigurasyonlarının dogrulugundan emin olmak adına network servisini yeniden başlatırız.
/etc/init.d/network restart
4.) “/etc/hosts” dosyası ayarlanmalıdır.
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.125 test12c.localdomain test12c
5.) “/etc/sysconfig/network” dosyası ayarlanmalıdır.
NETWORKING=yes HOSTNAME=test12c.localdomain
6.)Network servisinin değişikliklerimizi gördüğünden emin olmak için servisi kapatır tekrar açarız
/etc/init.d/network restart
7.)Gerekli olan paketler rpm komutuyla kurulur. İlgili paketlerin listesi aşağıdaki gibidir.
cd /media/OL6.4 x86_64 Disc 1 20130225/Packages
rpm -Uvh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm rpm -Uvh info-4.13a-8.el6.x86_64.rpm rpm -Uvh readline-6.0-4.el6.x86_64.rpm rpm -Uvh readline-devel-6.0-4.el6.x86_64.rpm rpm -Uvh kernel-headers-2.6.32-358.el6.x86_64.rpm rpm -Uvh glibc-headers-2.12-1.107.el6.x86_64.rpm rpm -Uvh glibc-common-2*x86_64* rpm -Uvh glibc-devel-2*x86_64* 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 elfutils-libelf-0*x86_64* rpm -Uvh elfutils-libelf-devel-0*x86_64* rpm -Uvh ppl-0.10.2-11.el6.x86_64.rpm rpm -Uvh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm rpm -Uvh mpfr-2.4.1-6.el6.x86_64.rpm rpm -Uvh cpp-4.4.7-3.el6.x86_64.rpm rpm -Uvh gcc-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* rpm -Uvh ksh* rpm -Uvh make-3.81*x86_64* rpm -Uvh numactl-devel-2.0.7-6.el6.x86_64.rpm rpm -Uvh libhugetlbfs-2.12-2.el6.x86_64.rpm rpm -Uvh libhugetlbfs-2.12-2.el6.i686.rpm rpm -Uvh unixODBC-2.2.14-12.el6_3.x86_64.rpm rpm -Uvh xcb-util-0.3.6-1.el6.x86_64.rpm rpm -Uvh compat-libcap1-1.10-1.x86_64.rpm rpm -Uvh compat-libcap1-1.10-1.i686.rpm rpm -Uvh gcc-c++-4*x86_64*
8.)Sunucuda kernel ayarlaması yapılır.
/etc/sysctl.conf
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
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 PAGESIZEkomutuyla ögrenebiliriz)
NOT : Dosya kaydedilip kapatıldıktan sonra yukarıdaki parametrelerin geçerli olması için komut satırına “sysctl -p” komutu yazılıp enter’a basılır.Ya da makineye reboot verilebilir.
/sbin/sysctl -p
9.)Oracle kullanıcısı limitleri belirlenir.
/etc/security/limits.conf
oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
10.)Güvenlik amacıyla 90-nproc.conf dosyasında istenilen değişiklikler yapılır.
/etc/security/limits.d/90-nproc.conf
# Change this * soft nproc 1024 # To this * - nproc 16384
11.) Selinux kapatılır.
/etc/selinux/config
SELINUX=permissive
NOT : Selinux’ın durumunu görmek için komut satırına aşağıda ki komutu yazabiliriz.Eger sonuç “enable” olarak dönerse sistemizi yeniden başlatmamız’la “reboot” selinux düzelir.
getenforce
12.)Firewall ayarlarını aşağıdaki komut setini kullanarak kapatıyoruz.
chkconfig | grep iptables service iptables stop chkconfig iptables off
13.)Gruplar ve oracle kullanıcısı oluşturulup oracle kullanıcısına da şifre verilir.
NOT : İstege göre # işareti olan gruplarıda oluşturabiliriz.
groupadd -g 54321 oinstall groupadd -g 54322 dba groupadd -g 54323 oper #groupadd -g 54324 backupdba #groupadd -g 54325 dgdba #groupadd -g 54326 kmdba #groupadd -g 54327 asmdba #groupadd -g 54328 asmoper #groupadd -g 54329 asmadmin useradd -u 54321 -g oinstall -G dba,oper oracle passwd oracle
14.)Kurulumun yapılacağı dizinler ve bu dizinlerin izinleri aşağıdaki gibi hazırlanır.
mkdir -p /u01/app/oracle/product/12.1.0/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
15.)Oracle veritabanının kurulacagı oracle kullanıcısının .bash_profile’ı ayarlanır.
/home/oracle/.bash_profile
# Oracle Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=test12c.localdomain export ORACLE_UNQNAME=ORCL export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 export ORACLE_SID=ORCL export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
16.)indirdigimiz zip dosyalarını zip’den çıkardıktan sonra database klasörünün içine girer ve “runInstaller.sh” dosyasını çalıştırırız.
cd database/ ./runInstaller
17.)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.
18.)Boş bıraktığımız alanları teyit etmek için uyarı penceresi gelecektir. YES diyerek devam edelim.
19.)Update istemedigim için “Skip software updates” seçenegini seçerek “Next” butonuyla devam ederiz.
20.)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 2.seçenegi seçerek sadece RDBMS yazılımını kurmasını istiyorum.(Daha sonra listener ve veritabanını kuracagım)
21.)Kurulumuzun Single mi RAC mı olacagını seçmemiz gerekir.Ben Single kuracagım için “Single inctance database installation” seçenegini seçip devam ederim.
22.)Ürün dilinizi seçecegimiz ekran karşımıza gelecektir English seçerek devam ediyoruz.
23.)Lisansımıza göre seçim yapmalıyız.Ben Enterprese Edition’u seçerek Next ile devam ediyorum.
24.)Oracle base ve Oracle home klasörlerimizi seçiyoruz.
25.)Oracle inventory bilgilerinin tutulduğu klasör dizinini seçiyoruz.
26.)Bu adımda işletim sistemi gruplarına atama yaparız.
27.)Kurulum için eksik bir parametre veya hatalı bir durum var mı diye kontrol aşamasıdır.
28.)Benim kurulumumda swap size da hata verdi ve swap size’ımın nasıl olması gerektigini de aşagıda detaylar yazdı.İstersek bundan önceki dökümanımda yazdıgım gibi swap size’ı düzeltebiliriz.Ama benim kurulumum da şimdilik çok önemli olamdıgı için “Ignore All” kutucugunu seçerek “Next” butonunu seçiyorum.
29.)Emin olup olmadıgımızı sordugu bu kısımda “Yes” butonunu seçerek devam edebiliriz.
30.)“Install” butonunu seçerek kuruluma başlayabiliriz.
31.)Kurulumun bitmesi için Linux root kullanıcısında çalıştırmamızı istedigi 2 tane scripti çalıştırır,”OK” butonunu seçeriz.
32.)Oracle RDBMS yazılımımızın kurulumu bitmiş oldu.Şimdi de listener oluştururuz.Bunun için de “netca aracını çalıştırırız.”
netca
33.)“Listener configuration” seçenegini seçerek,”Next” butonu ile devam ederiz.
34.)“Add” seçenegini seçerek,”Next” butonu ile devam ederiz.
35.)Listener’imizin ismini belirler,”Next” butonu ile devam ederiz.
36.)Protokolümüzü seçer,”Next” butonu ile devam ederiz.
37.)Port’umuzu seçer,”Next” butonu ile devam ederiz.
38.)Başka bir listener’i konfigure etmeyecegimiz için,”No” seçenegini seçerek,”Next” butonu ile devam ederiz.
39.)“Next” butonu ile devam ederiz.
40.)“Finish” butonu ile kurulumu bitiririz.
NOT : Database Service Name’de ekleyebiliriz istersek.
41.)Oracle Rdbms yazılımımızın ve Listener’imizin kurulumu bittikten de sonra veritabanımızı oluşturmak için “dbca” aracını çalıştırırız.
dbca
42.)Yeni bir veritabanı oluşturmak için “Create Database” seçenegini seçerek,”Next” butonu ile devam ederiz.
43.)“Advanced Mode” seçenegini seçer,”Next” butonu ile devam ederiz.Bu yöntemle veritabanımızı daha ayrıntılı konfigure etme şansımız olacak.
44.)Bu adımda belli bir template ile mi devam edecegimizi yoksa yeni bir templete oluşturacagımızı soruyor.Ben “General Purpose or Transaction Processing” seçenegini seçerek,”Next” butonu ile devam ediyorum.
45.)Veritabanımızın adını ve sid’ini gireriz.
46.)Bu kısımda Oracle enterprise manager aracını konfigure etmek istiyor muyum diye soruyor ya da cloud control 12c’yide konfigure edebilecegimizi belirtiyor.Ben Enterprise manager’ı konfigure etmek için kutucugu seçip “Next” ile devam ediyorum.
47.)Veritabanı kullanıcı şifrelerini giriyorum.
48.)Çalışan listener’ımı seçip “Next” ile ilerliyorum.
NOT : Listener “Up” durumda degil ise enterprise manager kurulumunda sıkıntı yaşanacaktır.
49.)Datafile,fast_recovery_area ve archivelog alanlarını belirler “Next” ile devam ederiz.
50.)Örnek kullanıcıların gelmesini istiyorsak kutucugu seçer “Next” ile devam ederiz.
51.)Automatic Memory management’ı kullanıp kullanmayacagımızı ve Oracle’ın sunucudan kullanacagı ram miktarını belirtiriz.
NOT : Oracle için kullanacagımız RAM miktarı /dev/shm miktarından fazla olamaz.
52.)“Character Sets” i kendi ihtiyacımıza göre belirleriz.
53.)Template kaydetmek ve scriptide almak istemedigimiz için kutucukları seçmeden veritabanı kurulumuna geçeriz.
54.)Kurulum ile ilgili bilgileri kontrol ettikten sonra “Finish” ile kuruluma başlayabiliriz.
55.)Kurulumun bitmesini bekleriz.
56.)Kurulum bittiginde böyle bir arayüz karşımıza gelir,”exit” butonunu seçerek kurulumu bitirebiliriz.
57.)Oracle 12c database’in yeni Oracle Enterprise Manager arayüzüde aşagıda ki gibidir.
Yararlı olması Dilegiyle …
Yazar : Mustafa Bektaş Tepe