Oracle 19c, performansı, güvenilirliği ve yenilikçi özellikleriyle öne çıkan bir veritabanı çözümüdür.
Bu yazıda, Oracle 19c Single Instance Veritabanı kurulumu için gerekli adımları ayrıntılı bir şekilde inceleyeceğiz.
Oracle 19c Single Instance Veritabanı Kurulum Aşamaları
Oracle 19c kurulumu yapmadan önce, sanal makinenizin hazır olması gerekmektedir. Sanal makine kurulumu için VirtualBox veya VMware gibi popüler sanallaştırma yazılımlarını kullanabilirsiniz. Bu yazılımlar sayesinde, Oracle 19c’nin çalışacağı sanal ortamı kolayca oluşturabilirsiniz. Aşağıdaki bağlantılardan, VirtualBox veya VMware ile sanal makinenizi nasıl kuracağınızı öğrenebilirsiniz.
Oracle’ın resmi web sitesinden gerekli kurulum dosyalasını indirerek başlayalım.
1. Linux İşletim Sistemi Hazırlıkları
1.1 İştetim Sistemini Güncellemesi
Root kullanıcısına geçip sistemdeki yüklü paketleri güncelleyelim.
($ işareti genellikle normal kullanıcıları temsil ederken # işareti root kullanıcısını ifade eder)
su - root
yum update -y
yum: Paket yöneticisini çağırır.
update: Sistemde yüklü olan paketlerin güncellenmesini sağlar.
-y: Güncellemeler sırasında onay istemeden (“yes” seçeneği varsayılan olarak kabul edilir) işlemin tamamlanmasını sağlar.
1.2 /etc/hosts Dosyasını Düzenleme
Oracle Database kurulumu ve yapılandırması sırasında, hostname ile IP adresi arasında doğru bir ilişki kurulması gereklidir. Bu ilişki, özellikle veritabanı bağlantıları ve sunucu kimlik doğrulama işlemleri için kritik öneme sahiptir. Oracle Database’in düzgün çalışabilmesi için hostname ve IP adresinin doğru bir şekilde yapılandırılması, bağlantı sorunlarının önlenmesine yardımcı olur.
Sunucu IP ve Hostname bilgilerini /etc/hosts dosyasına ekleyelim.
ifconfig
hostname
vi /etc/hosts



/etc/hosts dosyasına sunucu bilgilerini <ip_address> <hostname> <alias> olarak ekledik.
1.3 Secure Linux(SELinux) Özelliğinin Devre Dışı Bırakılması
Oracle Database kurulumu sırasında, Secure Linux (SELinux)‘un devre dışı bırakılması önerilmektedir. SELinux, sistem güvenliğini artırmak için çeşitli güvenlik önlemleri ve politika kontrolleri sağlasa da, bu güvenlik kontrolleri Oracle Database’in doğru bir şekilde çalışmasını engelleyebilir. Oracle Database performansını ve işlevselliğini optimize etmek için, SELinux’un devre dışı bırakılması önemli bir adımdır.
# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
SELinux disable edilmesi için sunucunu kapatılıp açılması gerekir. Sunucuyu yeniden başlatmadan SELinux’u “Permissive” moda alınabilir. Ancak bu durum geçici olacaktır. Sunucu kapanıp açılır ise SELinux aktif olacaktır.
Permissive moda almak için:
setenforce 0
Kalıcı hale getirmek için:
vi /etc/selinux/config

1.4 Firewall Özelliğinin Devre Dışı Bırakılması
Oracle Database, birden fazla servis ve port üzerinden iletişim kurar. Bu servislerin sorunsuz çalışabilmesi için TCP/IP portlarının açık olması önemlidir. Eğer sistemde bir firewall aktifse, bu portlar engellenmiş olabilir. Engellenen portlar, Oracle kurulumunda veya veritabanı işlemlerinde bağlantı sorunlarına yol açabilir. Oracle Database’in düzgün çalışabilmesi için, gerekli TCP/IP portlarının firewall üzerinden açık olduğundan emin olunmalıdır.
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

2. Oracle Database Kurulum Hazırlıkları
oracle-database-preinstall-19c preinstall paketi, Oracle’ın düzgün çalışabilmesi için temel hazırlıkları yapar. Bu paket, Oracle için gereken User ve Group‘ları oluşturur, Oracle’ın önerdiği kernel parametrelerini ayarlar ve sistemdeki diğer gerekli paketleri kurar. Oracle 19c’nin sağlıklı bir şekilde çalışabilmesi için preinstall paketinin doğru bir şekilde kurulması önemlidir.
2.1.1 Otomatik Preinstall Kurulumu
Oracle 19c preinstall paketi, hem YUM komutu ile kolayca kurulabilir hem de RPM dosyasını indirerek kurulabilir
yum install oracle-database-preinstall-19c -y
veya
yum localinstall oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
2.1.2 Manuel Preinstall Kurulumu
Oracle veritabanı için belirli kernel parametrelerinin uygun şekilde ayarlanması gerekir. Bu parametreler, Oracle veritabanı için en iyi performansı sağlamak adına ayarlanmalıdır.
Oracle veritabanı için kullanıcı ve grup oluşturulması gerekir. Oracle kurulumunun doğru çalışması için oracle kullanıcısı ve dba grubunun oluşturulması önemlidir
groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -g oinstall -G dba,oper oracle
/etc/sysctl.conf veya /etc/sysctl.d/98-oracle.conf dosyasına ekleyin:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
yapılan değişiklikleri uygulamak için
sysctl -p
/etc/security/limits.conf dosyasına ekleyin:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
gerekli rpm’lerin kurulması:
bc
binutils
compat-libcap1
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
fontconfig-devel
glibc
glibc-devel
ksh
libaio
libaio-devel
libdtrace-ctf-devel
libXrender
libXrender-devel
libX11
libXau
libXi
libXtst
libgcc
libstdc++
libstdc++-devel
libxcb
make
smartmontools
sysstat
2.2 Oracle HugePage Ayarlama(Zorunlu Değildir)
Oracle Linux üzerinde Oracle Database kurmadan önce HugePages yapılandırması yapmak, bellek performansını artırmak açısından oldukça faydalıdır. Aşağıda HugePages’i aktif hale getirmek ve ayarlarını yapmak için adım adım bir rehber bulabilirsin:
2.3 Oracle Kullanıcısına Şifre Atama
passwd oracle komutu, oracle adlı kullanıcı için şifre değiştirme işlemini başlatır. Bu komut, root yetkisine sahip bir kullanıcı tarafından çalıştırılabilir ve Oracle kullanıcı hesabının şifresini değiştirmeye olanak sağlar.
passwd oracle
2.4 Oracle Home Dizinini Oluşturma ve Yetkilerini Ayarlama
mkdir -p /u01/app/oracle/product/19c/dbhome_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
2.5 Profile Dosyası Oluşturma
su - oracle
vi .profile_db
export ORACLE_HOSTNAME=oraclius.domain
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_UNQNAME=oraclius
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=oraclius
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
export TNS_ADMIN=$ORACLE_HOME/network/admin
export TMPDIR=/tmp
export TMP=/tmp
2.6 Database Dosyalarının Ayarlanması
İndirilen dosyaları Oracle Home dizinine açın:
chown oracle.oinstall LINUX.X64_193000_db_home.zip
chmod 777 LINUX.X64_193000_db_home.zip
su - oracle
unzip -q LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1
3. Oracle Database Kurulum
3.1 Oracle Database Binary Kurulumu
Oracle yazılımının kurulumu için gerekli olan kurulum sihirbazını başlatmak için ./runInstaller komutunu çalıştıralım.
su - oracle
cd /u01/app/oracle/product/19c/dbhome_1
./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
No X11 DISPLAY variable was set, but this program performed an operation which required it.
Eğer böyle bir hata alıyorsanız şunları yapabilirsiniz:
- Root ve oracle olamayan Kendi kullanıcınızdan root kullanıcısına oradan su – oracle ile oracle kullanıcısına geçtiğniz için bu hatayı veriyor olabilir(Ör: emre > root > oracle). Yeni bir terminal açıp runInsatller’ı tekrar çağırabilirsiniz. Açtığınız terminalden oracle kullanıcısına arada başka kullanıcıya geçmemek kaydı ile geçilip runInstaller çalıştırılabilir.
- Sanal makinenizin sağ üst bölümündeki güç düğmesi ile Log Out olabilir ve daha sonra oracle kullanıcısı ile bağlanabilir, Sanal Sunucuyu restart edebilir ve daha sonra oracle kullanıcısı ile bağlanabilir, veya Switch User ile oracle kullanıcısına geçiş yapabilirsiniz.
[INS-08101] Unexpected error while executing the action at state: ‘supportOSCheck’ Hatası alıyorsanız:
export CV_ASSUME_DISTID=OL7

Run Installer’ı çalıştırdığınızı varsayarsak sonraki adımlar şöyle olacaktır:
Set Up Software Only

Single Instance Database Installation

Enterprise Edition

Oracle base: /u01/app/oracle
Software location: /u01/app/oracle/product/19c/dbhome_1

Inventory Directory: /u01/app/oraInventory
oraInventory Group Name: oinstall

OSDBA: dba, gerisi: oinstall
Default Olarak Kalabilir

Bu adımda Automatically run configuration script‘i seçip root kullanıcımızın şifresi ile kurulum esnasında istenekcek Script/Scriptleri otomatik olarak çalıştırmamıza olanak sağlayacaktır.



3.2 Oracle Database Kurulumu
Oracle Veritabanı yazılımı başarıyla kurulmuş durumda. imdi, ihtiyaçlarınıza göre yeni bir veritabanı oluşturabilirsiniz. Bunun için terminal üzerinden DBCA (Database Configuration Assistant) aracını başlatmanız yeterlidir.
su - oracle
. .profile_db
dbca
Create a database

Advanced Configuration

Database Type: Oracle Single Instance Database
Template Name: General Purpose or Transaction Processing

Global database name: oraclius
SID: oraclius
(SID ve Global Name, 2.4 Profile Dosyası Oluşturma Başlığı altında oluşturulan profile dosyası ile uyumlu olmalı)

Use template file for database storage attributes

Backup Ve Recovery İle İlgili Ayar Yapılmayacak

Create a new listener diterek yeni bir listener oluşturalım.

Oracle Security Ürünlerini Geçiyoruz

Memory
Use Automatic Shared Memory Management‘i seçiyoruz
Sizing
Process Değeri Oracle’ın background + user process sayısının maksimum değerini belirtir
Character Sets
Choose from the list of character set: WE8ISO8859P9 – ISO 8859-9 West Europena & Turkish
Connection Mode
Dedicated server mode
Sample Schema
Add sample schema to the database seçilirse HR adına bir kullanıcı oluşturup örnek birkaç tablo ve data oluşturacaktır.





Enterprise Management İle DB’nizi Monitor Edebilirsiniz Ben Kullanmayacağım

Use the same administrative password for all accounts diyerek ADMIN(SYS,SYSTEM,…) kullanıcılarının şifresini belirliyoruz.

Create database

Finish

Finish

Kurulumumuz bitmiştir. Sql*Plus ile bağlanıp birkaç test yapalım.
# su - oracle
$ . .profile_db
$ sqlplus / as sysdba
SQL> SELECT OWNER, TABLE_NAME FROM DBA_TABLES WHERE OWNER = 'HR';
OWNER TABLE_NAME
------------------ ------------------
HR COUNTRIES
HR REGIONS
HR DEPARTMENTS
HR JOBS
HR EMPLOYEES
HR JOB_HISTORY
HR LOCATIONS
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
------------------
oraclius
SQL> SELECT OPEN_MODE FROM V$DATABASE;
OPEN_MODE
------------------
READ WRITE







%s için bir yanıt yazın