Listener Service’ inin Default Portunu – Adını Değiştirme

Listener service’ inin default portu 1521 dir. Default 1521 port kullanımı güvenlik açığı olarak değerlendirildiğinden dolayı değiştirmek isteyebilirsiniz. Farklı bir port atama işlemi son derece kolaydır. Bunu iki şekilde yapabilirsiniz. Birincisi $ORACLE_HOME/network/admin altında bulunan listener.ora dosyasını editleyip buradaki port bilgisini manuel değiştirebilirsiniz.

Listener.ora dosyası içeriği ;
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
Continue reading

Lob Segmentler Nasıl Shrink Edilir ?

Bir önceki yazımda database’ deki tablolar üzerindeki fragmantasyonu nasıl tespit edebileceğimizden ve oluşan bu fragmantasyonaları nasıl elimine edebilceğimizden bahsetmiştim.
(http://www.kamilturkyilmaz.com/2012/01/15/oracle%E2%80%99-da-shrink-operasyonu-nasil-yapilir/)
Aslında aynı konu içerisinde değerlendirilmesi gereken ama yapısı itibari ile bir takım farklılıklar gösteren “lob segment” lerin üzerinde bu tarz işlemleri nasıl yapabiliriz, ondan bahsedeceğim ;

Öncelikle örnek lob data oluşturmak için; http://www.idevelopment.info/data/Oracle/DBA_tips/LOBs/LOBS_85.shtml linkindeki scriptlerden faydalandığımı belirtmek istiyorum. Buradaki scriptleri bizim testimizde kullanabileceğimiz şekliyle editleyip kullanıyor olacağım.

Lob segementler üzerinde shrink işlemine geçmeden önce üzerinde çalışacağımız test data datasını oluşturalım ;
Continue reading

Oracle’ da Shrink Operasyonu Nedir / Nasıl Yapılır …

Veritanımızdaki objeler zaman içerisinde tablo üzerinde sürekli olarak delete – insert – … işlemlerinin yapılmasından dolayı fragmantasyona uğrayıp aslında olması gereken size’ larından çok daha fazla yer işgal eder duruma gelebilirler. Bu tarz operasyonlarda bilinen en büyük yanlışlık tablodaki eski verileri belirli kritere göre silmeme rağmen neden bu tablo sürekli olarak büyüyor ? şeklindeki itirazlardır. Özellikle dba’ lerin zaman zaman tablolarda oluşan fragmantasyonları yazılımcılara bildirdiklerinde ve bunun için çözüm üretmeye çalıştıklarında sıklıkla aldıkları cevap ; biz tabloda zaten X günlük veri tutuyoruz neden büyüyor şeklinde oluyor şeklindeki dönüşlerdir. Delete işlemi tabloya yer kazandırmaz, oracle daki segment büyüme mantığı kullanılan blogun delete ile silinse dahi tekrar kullanılmadan bir sonraki blok üzerinden devam etme mantığına dayanır. (delete blok üzerindeki high water mark’ ı geri çekmez) Bu durumu bir örnekle açıklayıp tabloya orijinal size’ ını nasıl kazandırabileceğimizden bahsedelim.
Continue reading

Table–Schema–Database İstatistiklerinin Farklı Bir Database Üzerine Taşınması …

Kritik işlemler öncesinde tablo istatistiklerinin alınıp backuplanması çoğu zaman ciddi performans kayıplarının önüne bir anda geçmemizi sağlamaktadır. Bu duruma şöyle bir örnekde verebiliriz, örneğin bir report ortamını var ise bu ortamı her gece production dan yüklü miktarda veri aktararak besliyorsunuz. Hal böyle olunca reporter ortamındaki tablo istatistiklerini sürekli olarak güncellemeniz gerekecektir. Bu işlemde tablolarınızın size’ ına üzerlerindeki index yapılarına ve adetlerine bağlı olarak hem ciddi zaman almakta hemde ciddi kaynak kullanımına yol açmaktadır. Dolayısıyla bu tarz bir durumla karşılaştığınızda istatistikleri bir şekilde orjinal kaynaktan taşıyabilmeniz ciddi yarar sağlayacaktır.
Continue reading

Eski Bir Backupı Nasıl Restore Edebiliriz

Eğer database’ inizden sadece rman backup alıyorsanız, günün birinde şöyle bir sorunla karşılaşabilirsiniz; Sadece tablonun birinde bir problem oluştuğunu ve olması gereken dataların artık olmadığını farkettiğinizde ne yapacaksınız. Maalesefki şu anda RMAN ile tablo bazında bir restore / recover işlemi yapılamıyor. Bundan sonraki oracle versiyonlarında bunun içinde bir çözüm bulunmasını bekliyorum Şu aşama da yapılabileceklerimiz aslında sınırlı, problemin yaşandığı günden önceki bir güne ait backupımızın durduğunu varsayarak tablespace bazında veya full restore/recover opsiyonlarından birini seçmemiz gerekecektir.
Continue reading