Oracle Grid Infrastructure 19c (Oracle Restart) Kurulumu
- Ömercan Çalım
- 28 Ağu
- 8 dakikada okunur

Gereksinimler
Oracle Linux 8.10
Oracle Grid Infrastructure 19c (GI) zip dosyası
Oracle Database 19c (DB) zip dosyası
VirtualBox 7.1
Vitrual Machine kaynak ayrımı:
5 GB RAM
1 işlemci [CPU]
İşletim sistemi için 70 GB sanal disk
ASM için 30x2 GB sanal disk
Adımlar
Sanal makine (VM) yapılandırılması
Sanal makineyi çoğaltma ve sanal disk ekleme
GI ve DB kurulumu için işletim sistemi yapılandırılması
Automatic Storage Management (ASM) disk grubu olarak kullanılmak üzere sanal disklerin yapılandırılması
Oracle Grid Infrastructure 19c (Oracle Restart) kurulumu
ASMCA ile FRA disk grubu yaratma
Oracle Database 19c Software Only kurulumu
DBCA ile veri tabanı yaratma
Sanal Makine (VM) Yapılandırılması
Kuruluma başlamadan önce mevcut sanal makineniz ile ilerlemek yerine, çoğaltarak yeni sanal makineniz üzerinden ilerlemenizi tavsiye ederim. Bu sayede eğer en baştan başlamak isterseniz yeniden işletim sistemi kurulumu yapmak zorunda kalmazsınız ayrıca kuruluma başlayacağınız cihaza en az 60 GB sanal disk alanı atadığınızdan emin olun. İşletim sistemi kurulumu için VirtualBox 7.1 ile Oracle Linux 8.10 İşletim Sistemi Kurulumu dokümanına göz atabilirsiniz.
Sanal Makineyi Çoğaltma ve Sanal Disk Ekleme
Sanal makinenizi seçin ve sağ tıklayın.
Çoğalt seçeneğini seçin.
Makinenize bir isim verin.
Sanal makinenizi depolamak istediğiniz yolu seçin.
Tam çoğaltma seçeneğini seçin.
Tüm ağ bağdaştırıcıları için yeni MAC adresleri oluştur seçeneğini seçin. Çoğaltarak oluşturduğunuz sanal makinenizin ve çoğaltılan makinenin aynı anda aynı ağ üzerinde çalışmasını istediğiniz durumlarda bu seçeneği seçin.
Bitir.


Çoğaltma işlemi bittiğinde yeni makinenizin ayarlarına girerek sanal disk ekleyin.
Çoğaltılan sanal makinenizin ayarlarını açın.
Depolama sekmesine gidin.
Yeni disk ekleme butonuna tıklayın.
Oluştur.
30 GB disk boyutu belirleyin.
Tüm boyutu önceden ayır seçeneğinin seçili olmadığından emin olun.
Bitir.
Not attached sekmesinin altındaki yeni yarattığınız diski seçin.
Adımları tekrarlayarak yeni bir 30 GB boyutunda sanal disk ekleyin.
Sanal makineyi başlatın.





GI ve DB Kurulumu için İşletim Sistemi Yapılandırılması
Bu yazı boyunca bazı Oracle standart ayarları ya değiştirilecek ya da tam olarak uygulanmayacak. Mesela hem Grid Infrastructure bileşenleri hem de Oracle Database için aynı işletim sistemi kullanıcısını (oracle) yönetici olarak kullanmak gibi. Yapılanlar zorunlu ya da kritik değişiklikler olmamakla beraber yönetimi kolaylaştırmak ve mantığının daha rahat kavranmasını sağlama amacı taşımaktadır. Süreç ve bileşenlerin birbiriyle olan ilişkisi kavrandıktan sonra dilerseniz temiz bir kurulum yapıp bu ayarları değiştirebilirsiniz.
root kullanıcısı ile giriş yapın.
internet bağlantınızı kontrol edin
# ping www.google.com
Gerekli Oracle paketlerini indirin, bu paketlerin nereden indirildiğini görmek için "dnf repolist" komutunu, indirilen paketleri listelemek için "dnf list" komutunu çalıştırabilirsiniz.
paketleri görüntüle
# dnf list
veri depolarını (repositories) listele
# dnf repolist
oracle gereksinimlerini indir
# dnf install oracle-database-preinstall-19c -y


isteğe bağlı, işletim sistemini güncelleyin
# dnf check-update
# dnf upgrade
"oracle" kullanıcısının gerekli işletim sistemi gruplarına atandığından emin olun.
"id" komutu belirtilen kullanıcıya ait kullanıcı kimliği (UID), grup kimliği (GID) ve hangi gruplara atandığını gösterir
# id oracle
ASM yönetimi ve işletimi için işletim sistemi gruplarını oluşturun
# groupadd -g 54327 asmdba
# groupadd -g 54328 asmoper
# groupadd -g 54329 asmadmin
oracle kullanıcısını yarattığınız ikincil gruplara ekleyin
# usermod -a -G asmadmin,asmdba,asmoper oracle
oracle kullanıcısının şifresini değiştirin
# passwd oracle

Aşağıda Oracle Grid Infrastructure (GI) ve Oracle Database (DB)’i yönetmek ve çalıştırmak için kullanılan işletim sistemi gruplarını bulabilirsiniz.
oinstall birincil grupken diğerleri ikincil gruplardır
Oracle Inventory grubu olarak da bilinir. Sunucularda Oracle Clusterware, Oracle ASM ve Oracle Database için tüm sistem ayrıcalıklarını verir. Ayrıca kurulum sahiplerine de tüm sistem ayrıcalıklarını tanımlar
54421 oinstall
veri tabanını yönetme ayrıcalıkları tanımlar
54322 dba
sınırlı sayıda veritabanı yönetim ayrıcalıkları tanımlar
54323 oper
RMAN veya SQL*Plus kullanarak yedekleme ve kurtarma işlemlerini yapma ayrıcalıkları tanımlar
54324 backupdba
Data Guard işlemlerini gerçekleştirme ayrıcalıkları tanımlar
54325 dgdba
Transparent Data Encryption işlemlerini gerçekleştirme ayrıcalıkları tanımlar
54326 kmdba
Oracle ASM disk aygıtlarına erişim izni verir
54327 asmdba
Oracle ASM’i başlatma ve kapatma ayrıcalıkları tanımlar
54328 asmoper
Oracle ASM’i yönetme ayrıcalıkları tanımlar
54329 asmadmin
Oracle RAC kümesinde Oracle veri tabanlarını yönetme ayrıcalıkları tanımlar
54330 racdba
Oracle Grid Infrastructure (GI) ve Oracle Database (DB) kurulumu sırasında kullanılacak dizinleri oluşturun.
oracle base
# mkdir -p /u01/app/oracle
oracle home
# mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
grid base
# mkdir -p /u01/app/grid
grid home
# mkdir -p /u01/app/19.0.0/grid
dizin sahibini, grubunu ve yetkilerini değiştirin
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
kurulum için 775 izinleri gerekli olmakla birlikte kurulum sırasında değiştirilebilir, öte yandan dizin sahipliği ve bu izinler, Oracle Universal Installer (OUI)’nin /u01/app/oraInventory dizininde Oracle Inventory klasörünü oluşturmasına olanak tanır.
# ll /u01
# ll /u01/app

"oracle" kullanıcısına geçiş yapın ve .bash_profile dosyasının yedeğini oluşturun.
# su - oracle
cd ~ veya cd /home/oracle
$ cd /home/oracle
$ cp .bash_profile .bash_profile.bkp
Gerekli Oracle GI 19c ortam değişkenlerini barındıran ".grid_env" dosyasını /home/oracle dizini altında yaratın, dosya yaratmak ve düzenlemek için birden çok araç olsa da alternatif olarak "cat" kullanılabilir.
$ cat > /home/oracle/.grid_env <<EOF
aşağıdaki metni yapıştırın
# Environment variables
ORACLE_SID=+ASM; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
JAVA_HOME=/usr/bin/java; export JAVA_HOME
TNS_ADMIN=\$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=.:\${JAVA_HOME}/bin:\${PATH}:\$HOME/bin:\$ORACLE_HOME/bin
PATH=\${PATH}:/usr/bin:/bin:/usr/local/bin
export PATH
# umask parametresini 022 olarak ayarlamak yazılım kurulumu yapan işletim sistemi kullanıcısının 644 yetkileri ile dosya yaratmasını sağlar
umask 022
EOF

Gerekli Oracle DB 19c ortam değişkenlerini barındıran ".db19c_env" dosyasını /home/oracle dizini altında yaratın
$ cat > /home/oracle/.db19c_env <<EOF
# Environment variables
ORACLE_HOSTNAME=\$HOSTNAME; export ORACLE_HOSTNAME
ORACLE_SID=d4tdb; export ORACLE_SID
ORACLE_UNQNAME=d4tdb; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
JAVA_HOME=/usr/bin/java; export JAVA_HOME
TNS_ADMIN=\$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=.:\${JAVA_HOME}/bin:\${PATH}:\$HOME/bin:\$ORACLE_HOME/bin
PATH=\${PATH}:/usr/bin:/bin:/usr/local/bin
NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT
TEMP=/tmp ;export TMP
TMPDIR=\$tmp ; export TMPDIR
export PATH
umask 022
EOF
Komutları .bash_profile dosyasına ekleyin ve and "source" komutu ile uygulayın.
$ echo "source ~/.grid_env" >> ~/.bash_profile
$ echo "source ~/.db19c_env" >> ~/.bash_profile
$ source /home/oracle/.bash_profile
$ . .db19c_env
$ echo $ORACLE_HOME

NTP hizmetini konrol edin.
root kullanıcısına geçin
$ su - root
NTP hizmetini kontrol edin (sistem saatinin eş zamanlı olduğundan emin olmak için)
# systemctl status chronyd
# systemctl start chronyd
anlık senkronizasyon durumunu kontrol edin
# chronyc tracking

Dosya erişimi, ağ çağrıları ve paylaşımlı bellek gibi gerekli işlemleri engellemesini önlemek için SELinux’u permissive (izin verici) moda ayarlayın.
SELINUX=enforcing değişkenini SELINUX=permissive olarak düzenleyin
# sed -i s/SELINUX=enforcing/SELINUX=permissive/g /etc/selinux/config
# sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
# cat /etc/selinux/config | grep SELINUX
# setenforce Permissive
güvenlik duvarını durdurun ve devre dışı bırakın
# systemctl stop firewalld
# systemctl disable firewalld

Automatic Storage Management (ASM) Disk Grubu Olarak Kullanılmak Üzere Sanal Disklerin Yapılandırılması
Disk grubu olarak kullanılması için her ne kadar diskimizi bölümlendirip farklı bölümleri farklı disk grupları olarak kullanabilsek de Oracle ASM her bir disk grubu için farklı disk aygıtları kullanılmasını bekler.
# lsblk
Bu aşamada sanal disklerimizi Oracle ASM tarafından disk grubu olarak kullanılabilmeleri için yapılandıracağız. lsblk komutunu çalıştırarak blok aygıtlarını listeleyebilirsiniz. Başlangıçta yarattığımız 70 ve 30'ar GB disklerimizi sda, sdb ve sdc olarak görebiliriz
# udevadm info -a /dev/sdb | grep -i kernel=
# udevadm info /dev/sdb | grep -i devtype
# /lib/udev/scsi_id -gud /dev/sdb
# udevadm info -a /dev/sdc | grep -i kernel=
# udevadm info /dev/sdc | grep -i devtype
# /lib/udev/scsi_id -gud /dev/sdc
yeni bir terminal açın

bir "rules" dosyası oluşturarak depolama dosya yolu kalıcılığını (persistence) sağlayabilirsiniz
aygıtlarınız için "rules" dosyanızı yaratın ve düzenleyin
# vim /etc/udev/rules.d/99-asm-disks.rules
Oracle Restart (Oracle Clusterware değil) kurulacağı için OCR ve Oracle GIMR disk grupları yaratmaya gerek duymayacağız. Şimdilik DATA ve FRA disk grupları yeterlidir.
aşağıdaki metni dosyaya yapıştırın
"RESULT" değişkenine "/lib/udev/scsi_id -gud" komutunun çıktısını yazmalısınız bu yüzden DEĞİŞTİRMEYİ SAKIN UNUTMAYIN
KERNEL=="sd*", OWNER="oracle", GROUP="asmadmin", MODE="0660", ENV{DEVTYPE}=="disk", PROGRAM=="/lib/udev/scsi_id -gud /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB6c2e1f8d-2d9c2549", SYMLINK+="oracleasm/DAT_ASM_1"
KERNEL=="sd*", OWNER="oracle", GROUP="asmadmin", MODE="0660", ENV{DEVTYPE}=="disk", PROGRAM=="/lib/udev/scsi_id -gud /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB801f4283-df18b664", SYMLINK+="oracleasm/FRA_ASM_1"


# fsck -N /dev/sdb
# fsck -N /dev/sdc
UDEV kurallarını yeniden yükleyin
# udevadm control --reload-rules && udevadm trigger --action=add
# ll /dev | grep -e sdb -e sdc
# ll /dev/oracleasm/

Oracle Grid Infrastructure 19c (Oracle Restart) Kurulumu
Oracle Grid Infrastructure for a Standalone Server (diğer bir deyişle Oracle Restart), tek veri tabanı örneğini (single instance) destekler. İçerisinde Oracle Restart ve Oracle ASM (Automatic Storage Management) bulunur. Bu yapı; disk yönetimi, dosya sistemi ve gerektiğinde otomatik yeniden başlatma özelliklerini sağlar. Kurulum sırasında Oracle Restart ve Oracle ASM yüklenir ve bir disk grubu oluşturulur.
Oracle Restart şu anda yalnızca tek örnekli (single instance) Oracle veri tabanlarını (database) ve Oracle ASM örneklerini (instance) yönetebilmektedir. Oracle Restart, aşağıdaki hizmetleri sağlayarak Oracle veri tabanınızın kullanılabilirliğini artırır:
Bir donanım veya yazılım hatası olduğunda, Oracle Restart; Oracle veri tabanı örnekleri (instance), Oracle Net Listener, veri tabanı hizmetleri ve Oracle ASM dahil olmak üzere tüm Oracle bileşenlerini otomatik olarak yeniden başlatır.
Veri tabanı sunucusu yeniden başlatıldığında, Oracle Restart bileşenleri doğru sırayla başlatır.
Oracle Restart düzenli aralıklarla Oracle bileşenlerinin durumunu kontrol eder. Bir bileşen için kontrol işlemi başarısız olursa, o bileşen kapatılır ve yeniden başlatılır.
İlgili dosyaları Oracle Linux indirmeleri sayfasında bulabilirsiniz.


İndirdiğiniz zip dosyalarını scp , ftp veya sftp araçlarını kullanarak sanal makinenize aktarın ve zip dosyalarını ayıklayın
Windows cihazınızda cmd programını açın
> which scp
komutta bulunan IP adresini sanal makinenizin IP adresi olarak değiştirin
> scp D:\Storage\LINUX.X64_193000_grid_home.zip oracle@192.168.0.25:/u01/app/19.0.0/grid
> scp D:\Storage\LINUX.X64_193000_db_home.zip oracle@192.168.0.25:/u01/app/oracle/product/19.0.0/dbhome_1
Eğer "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!" hatası ile karşılaşırsanız, aşağıdaki komutu çalıştırın ve tekrar deneyin. Bu komutu çalıştırmak eski anahtar kaydını temizler, böylece eşleşme hatası olmadan tekrar bağlanabilirsiniz.
ssh-keygen -R 192.168.0.25
> ssh-keygen -R <host>


"oracle" kullanıcısına geçiş yapın

grid ortam değişkenlerini tanımlayın
$ . .grid_env
$ cd $ORACLE_HOME
$ ll
$ unzip LINUX.X64_193000_grid_home.zip

Ekran ortamını (display environment) ayarlayarak X11 yönlendirmesini yapılandırın.
yeni bir terminal açın ve root kullanıcısına geçin
$ su - root
# xdpyinfo | head
aşağıdaki komutu oracle kullanıcısı olarak çalıştırın
$ export DISPLAY=:1.0
$ xhost +
x11 yönlendirmesini test etmek için aşağıdaki komutu çalıştırın
$ xev
$ export CV_ASSUME_DISTID=OEL7.6
GI yükleyicisini çalıştırın
$ ./gridSetup.sh





Redundancy (yedeklilik) seçeneği veri dosyalarınızın, kontrol dosyalarının, online log dosyalarının ve arşiv (archived) log dosyalarının kaç kopyasının saklanacağını belirler. “External” seçeneği hiç kopya saklanmadığı, yalnızca orijinal dosyaların tutulduğu anlamına gelir.

Keşif (discovery) yolunu, 99-asm-disks.rules dosyasında tanımladığımız yol olarak ayarlayın.













yeni bir terminal açıp root kullanıcısına geçiş yapın ve gerekli komut dosyalarını çalıştırın
$ su - root
# sh /u01/app/oraInventory/orainstRoot.sh
# sh /u01/app/19.0.0/grid/root.sh




Kurulum tamamlandıktan sonra aşağıdaki komutu çalıştırın:
crsctl stat res -t
CRSCTL, Oracle Restart/Clusterware’a özgü bir yardımcı programdır. Oracle Restart ortamındaki Oracle High Availability Services (Yüksek Erişilebilirlik Hizmetleri) yığını yönetir. Bu yığın; Oracle High Availability Services arka plan sürecini (ohasd), Oracle ASM’yi (eğer kuruluysa) ve Cluster Synchronization Services’i (Oracle ASM kuruluysa) içerir. Oracle Restart ortamında CRSCTL komutları yalnızca çalıştırıldıkları yerel sunucuyu etkiler.
Şimdilik sadece yerel kaynaklara odaklanın:
ora.DATA.dg DATA olarak isimlendirilen ve yaratılan disk grubu
ora.LISTENER.lsnr Oracle Net Listener
ora.asm asm örneği (instance)

ASMCA ile FRA Disk Grubu Yaratma
aynı terminalde aşağıdaki komutu çalıştırın
$ asmca




$ crsctl stat res -t

Oracle Database 19c Software Only Kurulumu
Oracle Database 19c zip dosyasını Oracle home dizinine ayıklayın.
cd ~
$ cd /home/oracle
veri tabanı ortam değişkenlerini tanımlayın
$ . .db19c_env
$ echo $ORACLE_HOME
$ /u01/app/oracle/product/19.0.0/dbhome_1
$ cd $ORACLE_HOME
$ ll
$ unzip LINUX.X64_193000_db_home.zip

DISPLAY değişkeni için gerekli değeri önceki adımlarda yaptığımız gibi bulun ve tanımlayın
$ export DISPLAY=:1.0
$ export CV_ASSUME_DISTID=OEL7.6
Oracle DB yükleyicisini çalıştırın
$ ./runInstaller









yeni bir terminal açın ve root kullanıcısına geçiş yapın
$ su - root
# sh /u01/app/oracle/product/19.0.0/dbhome_1/root.sh


DBCA ile veri tabanı yaratma
veri tabanı yapılandırma yardımcısını (dbca) başlatın
$ dbca
eğer aşağıdaki hatayı alırsanız "bin" klasörüne geçiş yapın ve dbca aracını yeniden başlatın ($ORACLE_HOME/bin)
$ cd bin







Fast Recovery Area ve Fast Recovery Area Disk Grubu Hakkında
Oracle Database, tüm RMAN yedeklerini, arşiv loglarını, kontrol dosyalarının otomatik yedeklerini ve veritabanı kopyalarını hızlı kurtarma alanına (fast recovery area) yazar. Hızlı kurtarma alanının boyutunu 29 GB olarak ayarladık çünkü FRA disk grubunun oluşturulduğu disk 30 GB boyuta sahip. Bu boyut, isteğinize göre değişkenlik gösterebilir.




İşlem sayısı belirlediğiniz sistem kaynaklarına göre değişkenlik göstermektedir. Bu sayıyı azaltmanız mümkün olsa da artırmanız önerilmez.

Karakter setini ayarlayarak Türkçe karakterlerin veri tabanımızda desteklenmesini sağlayabiliriz.









$ cd ~
$ . .grid_env
$ crsctl stat res -t

$ . .db19c_env
veri tabanına bağlanmayı deneyelim
$ sqlplus / as sysdba
SQL> select 1 from dual;
SQL> select open_mode from v$database;
SQL> exit

$ . .grid_env
run ASM Command-Line Utility
$ asmcmd
check the file directories
$ . .grid_env
ASM komut satırı aracını (Command-Line Utility) çalıştırın
$ asmcmd
dosya dizinlerini kontrol edin

Daha fazla bilgi edinmek için resmi Oracle dokümanlarından faydalanabilirsiniz.
Yorumlar