Bu makelemizde Oracle (Sun) Solaris 11 (Text Install) Grafik Arayüz (GUI) olmayan işletim sistemi üzerine Oracle 11g R2 veritabanını komut satırından (Silent Install) olarak yapmayı inceleyeceğiz.
1. Öncelikle işletim sistemimizi “Oracle (Sun) Solaris 11 İşletim Sistemi Kurulumu (Text Install)” makalemizde anlatıldığı gibi kuruyoruz.
2. Sunucumuzda Yerel isim çözümleme dosyasına sunucumuzun adresini ve ismini giriyoruz.
# vi /etc/hosts <IP-address> <fully-qualified-machine-name> <machine-name> Örnek; 192.168.2.130 koraykey-sl.localdomain koraykey-sl
3. Sunucumuzda kernel parametrelerini ayarlamak için “/etc/system” dosyasının sonuna aşağıdaki değişkenleri ekliyoruz.
# vi /etc/system -- Dosyasını açıyoruz ve aşağıdaki değişkenleri ekliyoruz. set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 set semsys:seminfo_semmni=100 set semsys:seminfo_semmns=1024 set shmsys:shminfo_shmmin=1 set max_nprocs=30000 set maxuprc=16384
4. Sunucumuzda aşağıdaki projadd sistemine oracle’ı ekliyoruz.
# projadd -U oracle user.oracle # projmod -s -K "project.max-sem-ids=(priv,100,deny)" user.oracle # projmod -s -K "process.max-sem-nsems=(priv,256,deny)" user.oracle # projmod -s -K "project.max-shm-memory=(priv,4294967295,deny)" user.oracle # projmod -s -K "project.max-shm-ids=(priv,100,deny)" user.oracle # projmod -s -K "process.max-file-descriptor=(priv,65536,deny)" user.oracle
5. Sunucumuzda port aralığını belirlemek için “/etc/inittab” dosyasına aşağıdaki yapılandırma değerlerini ekliyoruz.
# vi /etc/inittab --Dosyasını açıyoruz ve aşağıdaki değişkenleri ekliyoruz. tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000 > /dev/console tm::sysinit:/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500 > /dev/console tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000 > /dev/console tm::sysinit:/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500 > /dev/console
6. Sunucumuzda bulunan “/etc/ssh/sshd_config” dosyasında “LoginGraceTime” değerini düzenliyoruz.
# vi /etc/ssh/sshd_config -- Dosyasını açıyoruz "LoginGraceTime" değişkenine "0" değerini atıyoruz. LoginGraceTime 0 -- Değeri değiştirdikten sonra geçerli olabilmesi için servisimizi yeniden başlatıyoruz. # svcadm restart ssh
7. Sunucumuzda kullanıcıları ve grupları yaratıyoruz.
# groupadd dba # groupadd oinstall # useradd -g oinstall -G dba -m -d /export/home/oracle -s /bin/bash oracle # passwd oracle
8. Sunucumuzda aşağıdaki paketlerin durumunu sorguluyoruz ve olmayanları sistemimize kuruyoruz.
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWpool SUNWpoolr SUNWsprot SUNWtoo SUNWuiu8 SUNWfont-xorg-core SUNWfont-xorg-iso8859-1 SUNWmfrun SUNWxorg-client-programs SUNWxorg-clientlibs SUNWxwfsw SUNWxwplt -- Komutunu çalıştırdığımızda olmayan paketlerimizde aşağıdaki gibi bir çıktı alıyoruz. (Komutu sistemimizde yan yana olacak şekilde çalıştırmalıyız.) ERROR: information for "SUNWxwplt" was not found ERROR: information for "SUNWmfrun" was not found ERROR: information for "SUNWarct" was not found ERROR: information for "SUNWhea" was not found ERROR: information for "SUNWlibm" was not found -- Sunucumuz internete çıkıyorusa Solaris deposunu ekleyerek oracle için gerekli paketleri yüklüyoruz. Eğer internete çıkmıyorsa paketlerin olduğu dvd sürücüsünden kurmamız gerekir. # pkg set-publisher -Pe -O http://pkg.oracle.com/solaris/release solaris -- Depoyu ekledikten sonra Oracle için gerekli olan paketleri kontrol ediyoruz. # pkg install compatibility/packages/SUNWxwplt SUNWmfrun SUNWarc SUNWhea SUNWlibm -- DVD Sürücüsünden kuracaksak # pkgadd -d /cdrom/paketlerinyolu SUNWxwplt SUNWmfrun SUNWarc SUNWhea SUNWlibm -- Kurarken bizden onay isteyecek "y" tuşuna basarak geçiyoruz. Do you want to continue with the installation of <packagename> [y,n,?] y
9. Oracle kurulumlarını yapabilmek, kurulum ve patch dosyalarımızı koyabilmek için gerekli olan dizinleri yaratıp hakları atıyoruz.
# mkdir -p /u01/app/oracle/product/11.2.0.3/db # mkdir -p /u01/orainstall # mkdir -p /u01/orainstall/opatch # mkdir -p /u01/orainstall/patch # mkdir -p /export/home/oracle/u01 # ln -s /export/home/oracle/u01 /u01 # chown -R oracle:oinstall /u01 # chmod -R 775 /u01/ # chown -R oracle:oinstall /export/home/oracle/ -- Oracle 11.2.0.2.0 versiyonundan sonra ayrı bir dizine kurulum yapılarak upgrade etme imkanı getirdi. Yani mevcut oracle dizinleri haricinde bir dizine kurulum yapılarak mevcut dizinleri bozmadan yükseltme imkanımız oluyor bu yüzden dizinler oluşturulurken "/u01/app/oracle/product/11.2.0.3/db" gibi versiyon isimlerinide koydum yeni bir versiyon çıktığında yükseltme işlemi yapılırken "/u01/app/oracle/product/11.2.0.4/db" gibi dizin yaratarak mevcut dizinlere dokunmadan upgrade işlemini yapabiliriz.
10. Oracle Veritabanı için değişkenlerimizi .bash_profile dosyalarımıza yazıyoruz.
# vi /home/oracle/.bash_profile -- Dosyasını açıp aşağıdaki değişkenlerimizi giriyoruz. # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=koraykey-sl.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_HOME_LISTNER=$ORACLE_HOME export ORACLE_HOME_LISTNER PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$BASE_PATH; export PATH
11. Kuruluma geçebilmemiz için ftp yada başka bir yöntem ile oracle kullanıcısı ile bağlıyken kurulum dosyalarımızı oluşturduğumuz “/u01/orainstall/” dizini altına atıyoruz. Oracle kullanıcısı ile kopyalama işlemimiz bittiğinde kurulum dosyalarımızı kontrol ediyoruz ve gerekli hakları veriyoruz.
Oracle kullanıcısıyla sisteme bağlıyken $ cd /u01/orainstall/ $ ls p10404530_112030_Solaris86-64_1of6.zip p10404530_112030_Solaris86-64_2of6.zip -- Dosyalar üzerinde gerekli hakları veriyoruz. $ cd /u01/orainstall/ $ chmod 775 *
12. Oracle Database kurulumu için ilk 2 .zip dosyasına ihtiyacımız var. Bu kurulum dosyalarımızı OTN veya MOS hesaplarımız ile indirebiliriz. Eğer son versiyon kurulumu yapabilmek istiyorsak (11.2.0.3.0 gibi) MOS dediğimiz Oracle Support üyeliğimizin olması gerekmektedir. Eğer buna sahip değilsek o zaman OTN hesabımız ile çıkmış olan ilk versiyonu (11.2.0.1.0 gibi) indirebiliriz. Şimdi bu sıkıştırılmış dosyalarımızı oracle kullanıcısı ile sırasıyla açıyoruz.
$ unzip p10404530_112030_Solaris86-64_1of6.zip $ unzip p10404530_112030_Solaris86-64_2of6.zip
13. Ayıklama işlemi tamamlandığında yer kaplamaması için istersek .zip dosyalarını temizleyebiliriz. Ayıklama işleminden sonra kuruluma geçmeden önce sunucumuzu yeniden başlatmamız kurulum sırasında sorun çıkarmaması açısından iyi olacaktır.
$ rm p10404530_112030_Solaris86-64_1of6.zip $ rm p10404530_112030_Solaris86-64_2of6.zip -- Aşağıdaki komut ile "database" kurulum dizinimizi görebiliriz. $ ls database
14. Kurulum işlemine başlamadan önce sunucumuzu yeniden başlatarak değişikliklerin geçerli olduğundan emin olmak faydalı olacaktır. Bunun için aşağıdaki komutu çalıştırmamız yeterli olacaktır.
$ init 6
15. Bu işlemlerin tamamı bittiğinde kuruluma geçebiliriz. Öncelikle Silent Kurulum sırasında kullanacağımız response (otomatik yanıt) dosyasını “/u01/orainstall/database/response/db_install.rsp” dizininden düzenlemek için “/u01/orainstall/” dizinine kopyalıyoruz.
$ cp /u01/orainstall/database/response/db_install.rsp /u01/orainstall/
16. Otomatik kurulum dosyamızı kendi sistemimize göre düzenliyoruz.
$ vi /u01/orainstall/db_install.rsp -- Dosyamızı açıyoruz ve aşağıdaki değişkenleri kendi sistemimize göre düzenliyoruz. -- Veritabanımızı patch geçtikten sonra oluşturmak için “Software Only" kuracağımızı belirtiyoruz. oracle.install.option=INSTALL_DB_SWONLY -- Veritabanı kuracağımız sunucu ismini giriyoruz. ORACLE_HOSTNAME=koraykey-sl.localdomain -- Kurulumda kullanılacak İşletim Sistemi grubunu giriyoruz. (Inventory Sahibi) UNIX_GROUP_NAME=oinstall -- Oracle Inventory dizinini belirtiyoruz. INVENTORY_LOCATION=/u01/app/oracle/oraInventory -- Veritabanı dilimizi seçiyoruz. SELECTED_LANGUAGES=en -- Oracle Home dizinimizi belirtiyoruz. ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/db -- Oracle ana dizinini belirtiyoruz. ORACLE_BASE=/u01/app/oracle --Lisans seçeneğimize göre Oracle Kurulum seçeneğimizi belirtiyoruz. --EE : Enterprise Edition --SE : Standard Edition oracle.install.db.InstallEdition=EE -- DBA yetkisi verilecek grup ismini belirtiyoruz. oracle.install.db.DBA_GROUP=dba -- Oper yetkisi verilecek grup ismini belirtiyoruz. oracle.install.db.OPER_GROUP=dba -- Oracle My Support (MOS) aracılığı ile güncellemelerin yapılması seçeneğini eğer istemiyorsak "true" olarak belirtiyoruz. DECLINE_SECURITY_UPDATES=true
17. Bu işlemlerin tamamı bittiğinde kuruluma geçebiliriz. Öncelikle “Oracle Database” yazılımının kurulumuna başlıyoruz.
-- Oracle kullanıcısı ile sistemimize bağlıyken hazırlamış olduğumuz Response (Otomatik Yanıt) dosyası ile kurulumu başlatıyoruz. $ cd /u01/orainstall/database $ ./runInstaller -silent -noconfig -responseFile /u01/orainstall/db_install.rsp
18. Kurulumun sonuna grafik arayüzlü kurulumda olduğu gibi bizden scriplerin “root” kullanıcısı ile çalıştırılmasını isteyecektir. “root” kullanıcısı ile açılmış bir terminal ekranında aşağıdaki gibi komutları çalıştırıyoruz.
# cd /u01/app/oraInventory/ # ./orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oinstall. The execution of the script is complete. # cd /u01/app/oracle/product/11.2.0.3/db/ # ./root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0.3/db Enter the full pathname of the local bin directory: [/usr/local/bin]: Creating /usr/local/bin directory... Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /var/opt/oracle/oratab file... Entries will be added to the /var/opt/oracle/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Finished product-specific root actions.
19. Veritabanı yazılımımızın kurulumu tamamlandı. Şimdi Oracle tarafından yayınlanmış olan “Patch Update 11.2.3.0.5 güncellemesini kurup daha sonra veritabanımızı yaratacağız. Bu şekilde kurulum yaptığımızda veritabanımız son güncellemeler işlenmiş haliyle yaratılacaktır. Patch geçebilmemiz için “OPatch” yazılımının son versiyonunu Oracle Support (MOS) sitesinden indiriyoruz. İndirmiş olduğum OPatch ve Patch update yazılımlarını “/u01/orainstall/” klasörü altına koydum. Şimdi OPatch yazılımızı günceleyip Patch Update geçeceğiz. Eğer veritabanımıza herhangi bir patch geçmek istemiyorsak bu adımı atlayıp direk veritabanı oluşturma işlemine geçebiliriz.
-- Öncelikle OPatch yazılımını güncelliyoruz. -- OPatch dosyamızı koyduğumuz dizine geçiyoruz. $ cd /u01/orainstall/opatch -- Sıkıştırılmış dosyamızı "unzip" komutu ile açıyoruz. $ unzip p6880880_112000_Linux-x86-64.zip -- Yetki sorunu yaşamamak için "OPatch" yazılımını "root" kullanıcısı ile güncelliyoruz. $ su - root # cd /u01/app/oracle/product/11.2.0.3/db # mv OPatch OPatch_x # cd /u01/orainstall/opatch # mv OPatch/ /u01/app/oracle/product/11.2.0.3/db -- Veritabanı Patch geçme işlemini yapıyoruz. Onun öncesinde patch dosyasına gerekli hakları veriyoruz. # cd /u01/orainstall/patch # chmod 775 * -- Bu işlemi "oracle" kullanıcısı ile yapmalıyız. # su - oracle -- Patch dosyamızı koyduğumuz dizine geçiyoruz. $ cd /u01/orainstall/patch -- Sıkıştırılmış dosyamızı açıyoruz. $ unzip p14727310_112030_Solaris86-64.zip -- Açılmış patch dizinimize geçiyoruz. $ cd 14727310/ -- OPatch geçme komutumuzu çalıştırıyoruz ve "y" tuşuna basıyoruz. "Email address/User Name" sorusunu "enter" tuşuna basarak geçiyoruz. diğer soruları ise "y" tuşuna basarak yamalama işlemine başlıyoruz. $ opatch apply Oracle Interim Patch Installer version 11.2.0.3.3 Copyright (c) 2012, Oracle Corporation. All rights reserved. Oracle Home : /u01/app/oracle/product/11.2.0.3/db Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/11.2.0.3/db/oraInst.loc OPatch version : 11.2.0.3.3 OUI version : 11.2.0.3.0 Log file location : /u01/app/oracle/product/11.2.0.3/db/cfgtoollogs/opatch/opatch.log Verifying environment and performing prerequisite checks... OPatch continues with these patches: 13343438 13696216 13923374 14275605 14727310 Do you want to proceed? [y|n] Composite patch 14727310 successfully applied. OPatch succeeded. -- Mesajını aldıktan sonra artık veritabanı yaratma işlemine geçebiliriz.
20. Veritabanı yaratma işlemine başlamadan önce “Listener” servisimizi oluşturmamız gerekiyor. Eğer bu işlemi yapmazsak veritabanı yaratma işlemimiz gerçekleşmeyecektir. Bu işlemi yapabilmek içinde Silent Kurulum sırasında kullanacağımız response (otomatik yanıt) dosyasını “/u01/orainstall/database/response/netca.rsp” dizininden düzenlemek için “/u01/orainstall/” dizinine kopyalıyoruz.
$ cp /u01/orainstall/database/response/netca.rsp /u01/orainstall/ -- Ben kurulum sırasında varsayılan ayarlarla "Listener" oluşturacağım için dosyada herhangi bir değişiklik yapmadan direk "Listener" oluşturma adımına geçiyorum. -- Eğer özel bir düzenleme yapılacaksa bir önceki adımda veritabanı için oluşturduğumuz otomatik yanıt dosyasındaki gibi parametreleri düzenlememiz gerekmektedir.
21. Listener servisimizi oluşturmak için otomatik yanıt dosyamızla gerekli komutu çalıştırıyoruz.
$ netca -silent -responsefile /u01/orainstall/database/response/netca.rsp
22. Listener servisi oluşturma işlemimizi bitirdikten sonra veritabanı yaratma işlemine geçebiliriz. Veritabanı oluşturmak için response (otomatik yanıt) dosyasını “/u01/orainstall/database/response/dbca.rsp” dizininden düzenlemek için “/u01/orainstall/” dizinine kopyalıyoruz.
$ cp /u01/orainstall/database/response/dbca.rsp /u01/orainstall/ -- Kopyalama işleminden sonra kuruluma geçebiliriz. $ vi /u01/orainstall/dbca.rsp -- Dosyamızı açıyoruz ve aşağıdaki değişkenleri kendi sistemimize göre düzenleyebiliriz. Ben istediğimiz değerleri komut ile göndereceğimden herhangi bir değişiklik yapmıyorum. -- Ancak database oluşturulduktan sonra "Enterprise Manager" konsolunun başlamasında sıkıntı oluştuğu için önce timezone değerini "localtime"dan "Europe/Istanbul" olarak değiştireceğiz. Bu işlem için aşağıdaki komutları "root" kullanıcısı ile çalıştıralım. # svccfg -s timezone:default setprop timezone/TZ= astring: Europe/Istanbul svcadm refresh timezone:default -- Burada komut tek satırda olması gerekiyor. Sığmadığı için alt alta yazdım. -- Değişikliği test ediyoruz. # echo $TZ Europe/Istanbul -- Değişikliği test ettikten sonra aşağıdaki komut ile veritabanımızı oluşturuyoruz. $ dbca -silent -createDatabase -gdbName orcl -templateName /u01/app/oracle/product/11.2.0.3/db/assistants/dbca/templates/General_Purpose.dbc -characterSet WE8ISO8859P9 -nationalCharacterSet ALU32UTF16 -datafileDestination /u01/app/oracle -systempassword "parolamiz" -syspassword "parolamiz" -emConfiguration LOCAL -dbsnmpPASSWORD "parolamiz" -sysmanPASSWORD "parolamiz" -- Burada komut tek satırda olması gerekiyor. Sığmadığı için alt alta yazdım. -- Notepad ayardımıyla bütün komutu yanyana kopyalayıp çalıştırabilirsiniz.
23. Veritabanı kurulum ve oluşturma işlemlerimiz tamamlandı artık bir veritabanımız var şimdi kurulum sonrası bir kaç ayarı yapalım. Öncelikle sistemimiz açıldığında veritabanımızında açılması için gerekli düzenlemeyi yapalım.
# vi /var/opt/oracle/oratab -- Dosyasındaki aşağıdaki satırların sonundaki "N" seçeneğini "Y" seçeneği ile değiştiriyoruz. orcl:/u01/app/oracle/product/11.2.0.3/db:Y -- İşlemimiz bittiğinde artık sistem açılışında veritabanımız otomatik olarak açılacaktır.
24. Veritabanımız kurulu ve hazır durumdadır. Eğer istersek web arayüzlü yönetim konsolu olan “Enterprise Manager” ı başlatıp veritabanı ayar ve monitör işlemlerimizi yapabiliriz.
$ emctl start dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.3.0 Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved. https://koraykey-sl.localdomain:1158/em/console/aboutApplication Starting Oracle Enterprise Manager 11g Database Control ......... started. ------------------------------------------------------------------ Logs are generated in directory /u01/app/oracle/product/11.2.0.3/db/koraykey-sl.localdomain_orcl/sysman/log -- Gördüğümüz gibi https://koraykey-sl.localdomain:1158/em/ adresinden Enterprise Manager konsolumuza erişebiliriz. $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Mon Mar 25 00:27:37 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select status from v$instance; STATUS ------------ OPEN -- Artık veritabanımıza oturum açabilir istediğimiz işlemleri yapabiliriz.
Bu makalemizde Oracle (Sun) Solaris 11 (Text) İşletim Sisteminde Komut Satırından Standalone (Single Instance) Oracle Veritabanı 11.2.0.3.0 with Patchset Update 11.2.0.3.5 dahil kurulum yapmayı gördük.
Bir sonraki makalemizde görüşmek dileğiyle…