12 Mayis 2013
Oracle Kurulum Software Database Grid Infrastructure (Ayrı kurulum)
GRID : ASM : Automatic storage management grid üzerine kuruluyor. Sadece grid software kurarsak asm yüklemiyor.Yüksek sürdürülebilirlik sağlıyor.(High Availability)[Oracle restart komutları sayesinde veritabanı monitör edilmediği zamanlarda bile ayakta kalıyor.] ** Önceleri cluster yapıda birden fazla instance üzerine kuruluyordu. Artık 11g r2 ile tek instance üzerine kurulabiliyor. **Veritabanının devamlılığını sağlıyor. **Cluster kurarken zorunlu **ASM Ayrıca bir databasedir.
Installation : Disk group oluşturuyoruz(default olarak data isminde),hangi diskleri seçeçeğimizi belirtiyoruz. Örneğin 4 disk seçersek bir insert sorgusu bu 4 diskede gönderilir, dolayısıyla disklerin hepsi aynı anda dolar.(Stripe özelliği) Redundancy ile mirroring yapılır ; Normal seçilirse (2 way mirroring) : 4 diski 2 disk 2 tanede yedek şeklinde tutar.(disk bozulmalarına karşı önlem) High yaparsak (3 way mirroring) : 1 diskin 2 yedeği olur. External seçilirse yedekleme yapılmaz.(Ayrıca raid yapısı varsa seçilir, raid yapısı varken kullanılırsa performansı düşürür.) ASM kullanıcıları için şifre ve rol karşılıkları belirlenir. **ASM Yöneticileri farklı olsun -> belirliyoruz.
Dosya yolları belirlenir. Kurulumla ilgili her türlü bilgiyi yazacağı inventory dosyasını oluşturur.Yükleme sırasında hata olursa burdan bakılır. **Özellikle kendi urmadığımız bir databasein nasıl kurulduğunu burdan öğrenebiliriz.
Kurulum öncesi denetleme yapılıyor. Library versiyon paketleri güncel olmadığı için uyarı verebilir.(fix&check again seçeneği ile değişecek parametreleri raporlar) Kurulum tamamlandıktan sonra ekrana çalıştırılmak üzere sql komutları verilir. Bu komutları kopyala yapıştır ile çalıştırıp kurulumu tamamlarız.
[ Linux Terminal ] : . oraenv ile enviromental variables set edilir. ORACLE_SID=[oracle] ? +ASM **asm database için SID set eder.
sqlplus / as sysdba **ASM Databaseine bağlanılır.
**!! Asmcmd komutu ile asm komut satırına geçilir.
------------------------------------------------------------------------------------------------------------Oracle Software Kurulumu cd /stage/11.2.0/database/ ./runInstaller **Kurulumun olduğu dizine geçilip runinstaller çalıştırılarak kuruluma başlanır. Oracle şifresi varsa girilir. create and configure dersek software ve database bir arada kurulur. Bu örneğimizde ayrı ayrı kurulum yapacağız. Önce software kurulumu yapılır. Single installation , cluster installation seçimi yapılır.
Kurulum çeşidi olarak Enterprise edition kuruyoruz. Gereksinimler check ediliyor. Kurulum sonrası çıkan script terminal root kullanıcısı içinde çalıştırılırak kurulum tamamlanır.
Oracle Database Kurulumu Database configuration asistant(dbca) ile database kurulumuna geçilir. Terminalde dbca yazıyoruz ama tanımıyor.(Env variables database kurulmadığı için set edilecek datada yok) **Pathi belirtiyoruz : cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
./dbca yazıp configuration asistant açıyoruz. create database diyoruz. (template yaratıp manage tameplate ile kullanabiliriz.) database tipi seçiyoruz. Genel amaçlı Transactional Data Warehouse Custom Database (backupdan dönmek için başka vt yaratma seçeneği) **show details ile default db detayları görüntülenir.
Global Database adı seçilir: orcl.oracle.com (şirket domaini vs olabilir.) SID : orcl (8 karakteri geçemiyor.)
Enterprise manager kurulumu ve otomatik mail atsın mı gibi ayarlar yapılır. Automatic Maintenance Tasks : Açık olması önemli , gün içinde kötü çalışan işleri bulup raporluyor.
Kullanıcılar ile ilgili bölüm SYS (en yetkili sistem kullanıcısıdır) SYSTEM
(en yetkili sistem kullanıcısıdır)
DBSNMP (enterprise manager kullanıcısıdır) SYSMAN (enterprise manager kullanıcısıdır.Bu kullanıcılar expire olursa şifresi değişirse enterprise manager sıkıntılar olur)
Database tutulacağı yer ayarlanır : File System ASM (yarattığımız disk grubunu görür +DATA şeklinde görür) **asm'de herşey farklı görünsün diye başında + olur
Recovery options ile backup alabileceğimiz başka bir alan seçiyoruz. Flash recovery area için yeni bir disk grubu oluşturuyoruz
terminal açıyoruz. . oraenv (enviromental variables belirtmek için) SID = +ASM diyoruz asmca yazıp asm configuration asistant açıyoruz. gelen ekranda create diyip FRA disk grubumuzu oluşturuyoruz. (external seçiyoruz.)
Flash recovery area , browse diyince FRA Data grubunu görüyoruz. Backup burada tutulacak. Arşiv modu açıp FRA diskine log dosyalarının yedeklenmesini sağlayabiliriz.(şuan açmıyoruz ilerde açılışını göreceğiz.)
(ÖNEMLİ) : Mermory - sizing -character set - connection mode Memory : SGA ve PGA değerleri typical seçiyoruz(500mb) Sizing : Process sayısı (150 (background processler dahil)) resource management açısından iyi yönetilmesi gerekiyor.
Character set : Database character set : Database içinde tutulan character ne olmalı (west european turkish) UTF8 idealdir. : multiple language destekler. National Character set : database tipleri örneğin varchar2 kullanılırken nvarchar2 oluşturabilir. nvarchar2 tipindeki kolon national character seti kullanır. **turkçe character sette kolona burak yazarsak 5 karakter yer tutar, utf8'de 5-10 arası yer tutar,utf 16-32 de çok daha büyük yer tutabilir.
Default language : dil ayarları Default terriotory : tarih formatı etkilenir. Connection Mode : Dedicated server mode : Connection tamamen clienta ait oluyor.Databaselerin çoğu dedicated çalışır. Shared server mode : kaynak kısıtlıysa kullanılabilir. Sürekli sıraya alınır.
En son Gelen menüden Control file - data file - log file ile ilgili bilgilere ulaşabiliriz.
Database creation options Create new diyebiliriz. Template oluşturabiliriz Database oluşturma scripti oluşturabiliriz. Kurulum tamamlandıktan sonra managementtan locklu gelen kullanıcıları açabiliriz. [Linux Terminal ] : . oraenv diyip sid tanımını yapıyoruz. sqlplus / as sysdba ile bağlanıyoruz.
INSTANCE MANAGEMENT [Linux Terminal ] : . oraenv ile enviromental variables set edilir.
Listener service : lsnrctl start listener lsnrctl stop listener lsnrctl status listener (uptime bakarsak ne kadardır ayakta görebiliriz.) ** listener kapalıysa alınan hatalar : no listener,tns protocol error vs.
Listener grid service : (Grid kuruluysa kullanılır.) srvctl start listener -l listener srvctl stop listener -l listener srvctl status listener -l listener
Enterprise manager service : emctl start dbconsole emctl stop dbconsole emctl status dbconsole **console çalışıyorsa browser üzerinden adres ile bağlanılır. **sys her zaman sysdba rolü ile bağlanmak zorunda
**!! Enterprise manager her database için tektir.Toplu yönetim için grid control , 12c'de cloud control kullanılır. **sqlplus / as sysdba (database şifresiz bağlanma yolu , sadece makinanın üzerindeyken olur)
Database açık mı kontrolü yapılır : select status from V$instance; veya select open_mode from v$database (read-write mode açık)
SHUTDOWN KOMUTLARI
**!! Shutdown Komutlarının hiçbiri yeni connection kabul etmez.
Normal : Bütün transaction ve sessionların bitmesini bekler.Çok uzun sürebileceği için kullanılmaz.(defaultta normal).Yanlışlıkla normal olarak çalıştırılmışsa başka bir session açıp diğer komutlarla ezilir. Immediate : Varolan herşeyi rollback yapar, sessionları atar. Daha tutarlı kapatır. **3 saatlik bir update sorgusunu rollback yapmak mantıksız olur, karar verilirken düşünülür.
Transactional : Transactionlar bitince commitler konduktan sonra sessionları kendi düşürür. Abort : Herşeyi kesip database kapatır.Tutarsız kapanır.Startup yapılınca uzun sürer smon tutarlığı sağlamaya çalışır.
STARTUP KOMUTLARI nomount mount open(normal) force (shutdown abort ve startup bir arada kullanılır)
[ SQL DEVELOPER ] select * from v$parameter **Database parametreleri check edilir.
Database parametreleri değiştirmek istersek özellikle ismodified özelliğine bakmak gerekir. Eğer false ise işlem maintenance gerektirir.Immediate olursa hemen değiştirilebilir anlamı taşır. alter system set processes=100 ** Process hemen değiştirilemez
alter system set processes=100 SCOPE=BOTH ** Defaultta both çalışır. Hem memoryde hemen değiştirilebilir, hemde kapanıp açılırsa kalıcı olarak değiştirilir.
alter system set processes=100 SCOPE=MEMORY ** Sadece memoryde değişiklik yapılır, kapanıp açılınca eskiye döner.
alter system set processes=100 SCOPE=SPFILE ** Restarttan sonra devreye alınır,kalıcı olur.
select * from v$parameter where name like '%spfile%' ** terminal sqlplus'ta show parameter spfile dersek aynı bilgiye erişiriz.
**spfile dosya yolunu öğrenmek için parametreden value kolonundaki dizin yoluna bakılır **terminal üzerinden asmcmdye geçilir. pathe gidilir.SPFILE Binary olduğu için okunamaz.
crete pfile='/home/oracle/pfile' from spfile **Okunabilir pfile oluşturuyoruz.
crete spfile from pfile='/home/oracle/pfile' **SPFILE'dan PFILE Oluşturulur.
Database kapalı iken parametre değiştirmemizi sağlar.