Kategoriler
ORACLE

Oracle 11g: DBA-1||Managing the Database Instance

4. Managing the Database Instance

Management Framework

Elimizde komponent olarak 3 tane kavram var:

  • Database instance
  • Listener
  • Management interface:

– Database Control
– Management agent (when using Grid Control)

Management Framework

 

Database instance = SGA + Background Proses bu süreç start olduğu anda instance ilk aşamaya gelmiş oluyor. ( nomount, mount, open)

Listener = uzaktan gelen bağlantının kontrolü listener servisi tarafından yapılır.

Management Interface =

database control = Tek database tek bir kontrol ile yönetiliyor. ( Enterprise Manager)
Biz orcl ismindeki db’nin tüm kontrolü buradan yapabiliriz.

management agent ( grid control) = Farzedelim ki orcl1 diye db var. Bunun interface’i var
ve buradan yönetimini sağlıyoruz. orcl2 diye başka bir db var ve bunun da interface’i
var. orcl3, orcl4 şeklinde devam ediyor. Ve hepside Enterprise Manager ile yönetiliyor.

orcl2 ya da orcl3 ile ilgili herhangi bir iş yapacağımız zaman orcl3’e bağlanıp konsolu açıyoruz ve yönetimi sağlıyoruz. Oracle bu noktada devreye girip bunun grid kontrolle yapılmasını tavsiye ediyor. Tek bir sayfa olsun ve giriş sayfasında db isimleri ya da makinelerinin adı ya da id’leri yazsın Bu durumun avantajı tek sayfa üzerinden sadece tıklama işlemi ile onun yönetim sayfasına bağlanıyoruz. Ayrı ayrı operasyon yönetmektense tek bir ortam üzerinden tüm süreci yönetiriz. ( Grid Control)

Starting and Stopping Database Control

Environment set etmek; Terminalden

. oraenv

ORACLE_SID = [orcl] ? orcl   // gitmek istediğimiz yer. environment set edildi.

The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1
is /u01/app/oracle

$ emctl start dbconsole

srvctl status database -d orcl     // db çalışıyor mu kontrolü

srvctl status listener -d listener    //listener çalışıyor mu kontrolü

srvctl status asm     // asm çalışıyor mu kontrolü

emctl status dbconsole // enterprise manager durum kontrolü

emctl start dbconsole // web tabanlı konsolu açar.

emctl stop dbconsole // web tabanlı konsolu kapat.

https://pcadi.oracle.com:1158/em      //enterprise manager url

Windows tarafında ise:

set ORACLE_SID=orcl ile envriromenti set ediyoruz.

diğer kısımları aynen kullanabiliriz.

Oracle Enterprise Manager

enterprise managerhttps://machine_name:port/em şeklindedir.

Enterprise Manager’ı sadece admin kullanıcıları bağlanır. Konsolu yani veritabanını buradan yönetiriz.

SYSDBA rolü ile bağlantı kurar ve veritabanında her türlü işlemi gerçekleştirir.

Database Home Page

Database Home Page

Other Oracle Tools

Birden fazla environment’ı olan sistemlerde home klasörünü olarak neresi olarak gördüğü önemlidir. Buna göre set edilmesi gerekir.

sqlplus / as sysdba  ile sqplus’a sysdba olarak direkt bağlanabiliriz.

sqlplus

Eğer hangi instance içinde olduğunu bilmiyorsak

select instance_name from v$instance

ile hangi instance içinde olduğumuzu görürüz.

cd /u01/app/oracle/product/11.2.0/dbhome_1/sqldeveloper/

sqldeveloper’ın bulunduğu dizin.

sqldeveloper.sh // unix
sqldeveloper.exe // windows

Calling SQL*Plus from a Shell Script

./batch_sqlplus.sh

sh.batch_sqlplus.sh

execute eder.

Account is lock hatası var ise: 

alter user hr indentified by hr account unlock

SQL DEVELOPER

SID ismine dikkat etmek gerekmektedir. Daha sonra şekildeki gibi Success mesajını görürsek başarıyla bağlantı kurabiliriz.

script

şeklinde istediğimiz işlemleri yapan bir script oluşturuyoruz. ( EOF — End of File. O dizinde durur)

./batch_sqlplus.sh

sqlplus çıktı

şeklinde bir çıktı verir. Windows’ta bu script çalışmaz. sh scripti windows’ta çalışmaz. Eğer bir script yazıyorsak ve içinde sql sorguları varsa .sql uzantılı script yazarsak bunlar her ortamda çalışır.

sekaistscript.sql adında bir script oluşturuyoruz.

unix ortamda 

vi sekaistscript.sql dedikten sonra açılan ekrandan yapılması gereken script işlemlerini yazabiliriz.

esc basınca bulunduğu insert moddan çıkar
:q kaydetmeden çık
:ws kaydet çık

gedit sekaistscript.sql  ile içeriği görebiliriz.

script

sqlplus hr/hr @sekaistscript.sql

--sqlplus'a bağlanmadan yaparız

bunun çalışması için ya doğru dizinde bulunmak lazım ya da full path vermek lazım.  Ama en kolayı onu bulunduğun ortamın hemen altında yaratmak olur. Çünkü direkt olarak çalıştırabiliriz.

sqlplus çıktı

Parameter File

spfileorcl.ora ve initorcl.ora şeklinde iki tanedir. ( orcl kısmı sid isminine göre değişiklik gösterir)

SPFile server ya da sistem parametre dosyası olarak geçer.Binary formatlıdır. İçeriğine girip değişiklik yapılamaz. Ancak bu dosyanın birebir aynısı PFile olan dosya (initorcl.ora) spfile’ın kopyasıdır. Bir veritabanında spfile dosyası dbhome/ dbs altında bulunur.

show parameter spfile

: +DATA/orcl/sp
--spfile dosyamızın bulunduğu dizin.

karşılığında value kısmı boş ise pfile ile açıldığını gösterir.
karşılığında value bir değer almış ise spfile ile açıldığını gösterir.

'home/oracle/initorcl.ora' 
--bizim pfile dosyamız

Bir database açılırken pfile’ın içindeki spfile’ın location bilgisini kontrol eder.
Açılan bir database 11g R2 eğer ASM kurulumu varsa açılıştı hem pfile hem spfile kullanır.

create pfile 'home/oracle/initorcl.ora' from spfile;
-- pfile dosyası yaratıyoruz. (Spfile'ı kullanarak)

Artık düzenlenebilir bir spfile dosyamız olmuş olacak.

Using SQL*Plus to View Parameters

Bir parametrenin syntax olarak tam nasıl yazıldığını bilmek zorunda değiliz.

show parameter para

dediğimizde içinde para geçen parametreleri bize listeler.

parameter

desc V$parameter
--tablonun yapısı. dinamik performans view'ıdır aslında.

desc V$parameter

Parametrelerin Değerlerinin Değiştirilmesi

Statik parametre özelliğe sahip parametre ise:

Bu parametreyi sadece parametre dosyasında değiştirirsin. (Şuandaki sistemi entegre etmem tekrar açıldığında entegre ederim)

Önemli parametrelerdir. Çalışan sistemde değişiklik database aksiyonunu bozar.

Dinamik Parametre

Bunlar sistem çalışırken değişebilir. Database’i çok etkileyen değişiklikler değildir.  Dinamik olanlar iki opsiyonla değişir.

  • Session level (açılan session’da değişiklik yapar)
  • system level ( sistemde değişiklik yapar)
alter system set open_cursors=500 scope=spfile;
--static olan parametreler için
--scope değiştirilen parametrenin hangi özellikle set edileceği
--şimdi değiştirme açılıştan sonra değiştirir

scope = memory;  — memory’de tutar. tekrar açılışta kaybolur
scope= both; — o anlık yansır ve tekrar başlatılınca aynı değerde kalır.

şeklinde değerlerde alabilir.

Parametre değiştirme örneği:

SELECT SYSDATE FROM dual;

— alter session dediğimiz için sadece o session için değişiklik yapar.
— alter system dersek sistemde değişiklik yapar. sistem içni default scope=botht dur.

Shutting Down an Oracle Database Instance

shu

  • Yeni bağlantı gerçekleştirilebilir mi?
  • Var olan bağlantılar
  • Transaction gerçekleştiren bağlantılar
  • Tutarlı Kapatıp kapatmadığı

gibi özelliklere göre yukarıda tablolandırılmıştır.

Normal ve Transactional pek kullanılmaz. Abort hiç bir kontrol yapmadan direkt kapatır. Zorunlu durumlarda tercih edilir. Biz çoğunlukla Immediate tercih edeceğiz.  Zaman olarak uzun sürdü ise başka bir session da shu abort yapıp hemen kapatabiliriz. Abort diğerlerini ezer.

(idle bekleyen sorgulamalar demektir.) intstance recovery sürecinde bize yardımcı olan veritabanın tutarlı hale gelmesini sağlayan prosestir.

shu optional

STARTUP FORCE >> Abort’la kapatıp startup ile açar.

Starting Up an Oracle Database Instance

Starting Up an Oracle Database Instance

idle olan instance açmak için:

Nomount = instance başlatılır.  Background prosesleri aktif olur

Mount= Control File’larının açık ve senkron şekilde çalışması lazım.

Open=  Database gerçek anlamıyla açık hale geliyor. Bütün control file ve instance’ler başlatılıyor. (redolog, datafile açılır. ve işlem yapar hale gelir) Sadece startup gönderirsek bütün basamakları yapmış olur.

Startup Options: Examples

 Alert Log

Bir veritabanında herhangi bir problem ya da görüntüleme adına bilgi istediğimizde
Alert Log kısmına bakarız. Database kurulduğu andan itibaren içerisi bilgilerle
doldurulan ve illa büyük problemi gösterecek diye bir kaide olmayan amacı sadece bilgi
veren bir görüntüleme alanıdır. Bu alanı Enterprise Manager konsoldan Database Home page > Related Links region >Alert Log Content kısmından ulaşabiliriz.

Alert Log

 

Dynamic Performance Views

Biz SQL tarafında Data Dictionary views’larını gördük. Şimdi bu başlık altında Dynamic Performance Views’larını göreceğiz. DBA’in işlerini kolaylaştırmak adına tasarlanmış view yapılarıdır. Dynamic Performance Views V$ ile başlayan view’lardır. Bunları ezberlemek münkün değildir.  Bu view’lar görüntüleme gerçekleştiren view’lardır.

select * from v$fixed_table
-- dinamik view'ları sorgularız

fixed_table

Bu view’lar tamamen bilgi amaçlı ve veritabanında neler olduğunu görmek istediğimizde bakarız.

select * from v$fixed_table
where name like '%BACKUP%'

 select * from v$fixed_table where name like '%BACKUP%'

Dynamic Performance Views: Usage Examples

1,2,3 de’ki gibi sorgulamalar ile gerekli görüntülemeler sağlanır.

select name from v$datafile;

select name from v$datafile

Anlık olarak değişikliğe adapte olan view’lardır.

select current_scn from v$database;

select current_scn from v$database

 

Data Dictionary Views

DBA_ ile başlayanlar — her kullanıcının göremediği sadece dba yetkisine sahip olanların

ALL_ ile başlayanlar — user’ın sahip olduğu + yetkisinin olduğu görüntüleyebildiği

USER_ ile başlayanlar — kiminle bağlandı isek onun sahip olduğu view’lar

select * from dictionary;

dictionary

 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir