Oracle (Sun) Solaris 11 (Text) İşletim Sisteminde Komut Satırından Standalone (Single Instance) Oracle 11g R2 Veritabanı Kurulumu

OracleDbEntBu 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.

DB_Install_sl_51

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…

Bu yazı Oracle kategorisine gönderilmiş ve , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.