30 Mart 2011 Çarşamba

Oracle İnitial Parametreleri


Oracle da database’ ini startup ile açmaya kalktığımız da instance ilk iş olarak parametre dosyasını okumaya çalışacaktır. Dolayısıyla temel initial parametrelerinden bahsederken bizim için çok kritik file’ lerimizden biri olan spfileSID.ora dosyasından da kısaca bahsedeceğiz.
Parametre dosyaları Linux’ da;  $ORACLE_HOME/dbs,  Windos’da $ORACLE_HOME/database  altında bulunur. Database create edilmesiyle birlikte spfileSID.ora dosyamızda oluşur.  Bunun yanısıra parametre değişikliğini database içirisinden Alter system veya Alter database ile yapmak istemediğimiz veya yapamadığımız durumlarda ise kullandığımız birde pfileSID.ora dosyamız olacaktır. Bu dosya db create operasyonu sonrasında oluşmaz, bunu create etmek için sql satırında;

Create pfile from spfile;

Komutunu çalıştırmamız yeterli olacaktır. Hazır yeri gelmişken bu iki dosya arasındaki farklardan bahsedelim;

Pfile, bir metin dosyasıdır ve edit edilebilir. Spfile direk olarak düzenlenemez.

Pfile’ de yapılan değişikliklerin etkin hale gelmesi için database’ i restart etmek gerekir. Spfile üzerinde yapılan değişikliklerin birçoğu hemen etkin hale gelir.

Pfile’ den spfile, spfile’ den  pfile oluşturulabilir. Pfile create etmek için; create pfile from spfile, spfile create etmek içinse create spfile from pfile komutunu kullanabiliriz.

Bir farkda dosya isimlerinde var, pfile’ in ismi init(instane_name).ora, spfile’ in ismi ise spfile(instance_name).ora ‘ dır.

Çok kullanılan bazı başlangıç parametrelerinin ne olduğunu açıklamaya çalışalım. Aşağıdaki parametrelerin bazıları 11g ile yeni gelmiş olan parametrelerdir. Dolayısıyla 10g versiyonlarında göremiyor olabilirsiniz.

(Aşağıdaki notlarım uzun bir zaman aralığında oluşmuştur, bir çoğu oracle dökümantasyonlarından, kişisel tecrübelerden bir kısmı ise kimi net sayfalarından derlenmiştir.)

Cluster_database : Real Application Clusterı etkin belirten Real Application Clusters parametresidir. Default değeri false’ dir. True yada False olarak 2 değer alabilir. Modify edilemez.

Compatible : Size Oracle’ ın yeni sürümünü kullanmaya izin verir, aynı zamanda geriye doğru bir önceki sürümü ile uyumluluk sağlar. Eğer daha önceki sürümden geri dönmek gerekirse bu parametre gerekli ve yeterli olacaktır.

Control_files : Database’ in yapısını veritabanı adını, create edilme zamanını, redologların ve datafile’ lerin adını ve lokasyonunu tutan kontrol dosyaları vardır. Control file denetim dosyaları bir veya daha fazla olabilirler, virgülle birbirinden ayrılarak belirtilirler. Minumum 1 ile 8 tane arasında olabilirler. Control file’ lerin lokasyonunu belirtir.

Db_create_file_destination: Data file’ lerin varsayılan konumunu belirtir. Bu lokasyon DB_CREATE_ONLINE_LOG_DEST_n parametresi set edilmemişse control files ve redo log larında lokasyonunu belirtir.  Dizinin, Oracle kulanıcısının dosyalarını oluşturması için gerekli izinlere sahip olması gerekir. Oracle create edilirken file isimleri belirtilmez ise,  uniqe nameler ile dosyaları create eder.

Alter system set db_create_file_dest = ‘/u01/oradata’;

Create tablespace tbs_1;

Db_create_online_log_dest_n: DB_CREATE_ONLINE_LOG_DEST_n (burada = 1, 2, 3, ...
 5)varsayılan default konumu,  control files ve redo logların konumunu belirler.

Db_domain : Dağıtılmış bir veritabanı sisteminde, DB_DOMAIN ağ yapısı içinde
veritabanının mantıksal konumu belirtir.

Nls_language : NLS_LANGUAGE veritabanının varsayılan dilini belirtir. Bu dil mesajları,
gün ve ay adları, AD, BC, am, pm ve semboller için kullanılır. Bu parametre de
parametreleri NLS_DATE_LANGUAGE ve NLS_SORT varsayılan değerler belirler.

Open_cursors : (özel SQL alanlara) Bir defada sahip olabilecek açık imleçler sayısını
belirtir. Size, cursors sayısının fazla oturum açmasını engellemek için bu parametreyi
kullanabilmenize olanak sağlar.  OPEN_CURSORS değeri yüksek olması, uygulamaların out
of open cursor hatası almasını engeller.

Job_queue_processes : JOB_QUEUE_PROCESSES bu işlerin yürütülmesi için
oluşturulabilir süreçlerinin sayısını belirtir. Bu iş sıra sayısını belirtir örneği (her J000, J999 ...)
işler. Çoğaltma veri yeniler için iş kuyruklarını kullanır. Gelişmiş kuyruk mesaj yayılması için
iş kuyruklarını kullanır. DBMS_JOB paketi üzerinden kullanıcı jobları,oluşturulabilir. Bazı
iş kuyruğu kişi, otomatik olarak oluşturulur. materialized views için örnek yenileme
desteklemektedir. Eğer materialized views otomatik olarak güncellemek istersen, bir veya
daha yüksek bir değere JOB_QUEUE_PROCESSES ayarlamanız gerekir.

Processes : İşletim sistemi kullanıcı sayısını belirtir aynı anda oracle’a
bağlanabilecek sayıyı ifade eder.

Remote_listener : REMOTE_LISTENER ağ adı bir adres veya Oracle Net uzak dinleyici
adresini listesine çözümler belirtir. Adresi veya adres listesi sistem için yapılandırılmış olarak
TNSNAMES.ORA dosyasında belirtilir.

Rollback_segments: ROLLBACK_SEGMENTS adıyla bir veya daha fazla rollback
segmentini allocate eder. Eğer bu parametre set edilirse, instance rollback_segments adıyla
tüm segmentleri kazanır.  Dinamik olarak bu parametrenin değerini değiştirmek mümkün
değil, ancak değerini değiştirebilir ve sonra instance’ ı  yeniden başlatabilirsiniz.

Undo_management : Alan yönetimi konusunda hangi sistemi kullanmalıyımı belirtir.
Parametre Auto olarak set edildiğinde, instance start olduğunda undo management modu
atomatic olarak devreye girer. Mauel olarak set edildiğinde ise, rollback segment alanları
harici olarak tahsis edilir.

Undo_tablespace: Undo Tablespace’ i, instance start oldukdan sonra, kullanılmak üzere
ayırır. Bu parametre, instance’ da manuel undo management modda ise, sonrasında hata
oluşur ve startup işlemi başarısızlıkla sona erer.  Kullanılabilir bir Undo Tablespace’ I yoksa,
instance undo tablespace alanı olmadan start olur.  Bu gibi durumlarda, user
transactionları sistem rollback segmentini kullanarak çalışırlar. Normal şartlar altında bu
modda çalışmakdan kaçınmalısınız. Database  çalışırken undo tablespace’ ini başka bir
undo  tablespace ile replace edebilirsiniz.

Undo_guarantee : Undo tablespace içerisinde belli bir süre mutlaka dataların tutulmasını
sağlar.

Alter tablespace undo_guarantee  retention guarantee;

Alter system set undo_tablespace = undo_noguarantee ;

Alter system set undo_tablespace = undo_ guarantee ;
                                                           
ALTER SYSTEM SET UNDO_RETENTION = 3600

Db_block_size : Database create edilirken  set edilir. Sonradan değiştirilemez. Database’
deki blockların size’ ını ifade eder.

Db_create_online_redo_dest_n: Redologların create ederken default olarak nereye
oluşturulacağının bilgisi yer alır.

Control_file_record_keep_time : Control filede dosyaların saklanma süresini belirtir.Bu
parametre 7 ile 365 arasında bir değer alabilir. (default değeri 7’ dir)

remote_os_authent : Bu parametre FALSE ise uzaktan password file dosyası olmadan
sysdba ile bağlanamazsın demek.

Remote_login_password_file : Uzakdan bağlanmak için gereken parametre Default değeri EXCLUSIVE dir. Parametre dosyası kaybolduğunda bu değer NONE’ a çekilip dosya create edilip tekrar EXCLUSIVE’ e alınması gerekmektedir.

Alter system set remote_login_password_file=EXCLUSIVE scope=spfile;

Background_dump_dest : Alert logun pathini verir.         

alter system set background_dump_dest = 'D:\orcl rman backup\' scope=both
(alert logun adı = alert_(db_sid).log   şeklinde oluşur.)

07_dictionary_accessibility : Select any table yetkisi olan userın data dictionaryi
görmemesi için bu parametre = FALSE  olmaldır.

Log_archive_dest_1 (dest) : Archive logların nerede tutulacağının bilgisinin set edildiği
parametre.

log_archive_start : Otomatik arşivlemenin doğrudan yapılıp yapılmayacağını gösterir. Buna
true demezseniz zaman zaman svrmgrl’ye bağlanarak log archive start diyerek, arşiv
dosyalarını yazma işlemini elle kontrol etmeniz gerekir ki bu genelde önerilmez. Ama tape
gibi farklı bir yere zaman zaman arşivlemek için bu yöntemi kullanabilirsiniz. B u parametre
oracle 10g ile birlikte deprecated olmuştur.

log_archive_format : Üretilecek arşiv dosyalarının yazılma biçimini gösteriyor.%s ile logların
sıra numarasını .arc ile de uzantısı belirlenebilir. (%s.arc) 

·         %s: log sequence number
·         %S: log sequence number, zero filled
·         %t: thread number
·         %T: thread number, zero filled
·         %d: DBID

Log_archive_max_processes :  Archive process sayısı bu parametre ile set edilir.
           
ALTER SYSTEM SET log_archive_max_processes = 4 SCOPE=SPFILE

Db_flashback_retention_target : Veritabanını kaç dakika geriye alabileceğinizin set edildiği
parametre.

alter system set db_flashback_retention_target=60 scope=memory;

Db_recovery_file_dest_size : Yedek işlemleri için ayrılan alanının size’ nın set edildiği
parametre.

ALTER SYSTEM SET  Db_recovery_file_dest_size = 35G SCOPE=SPFILE

Db_recovery_file_dest : Flashback bilgisinin nerede tutulacağı bilgisinin set edildiği
parametre. Aynı zamanda default backup dizinidir.

alter system set db_recovery_fıle_dest ='d:/orcl_backup' scope=both;

select * from v$recovery_fıle_dest;

Db_block_checking : Db data blocklarında corruption oluşmasını önler.(değer true yapılırsa
%10’ lar civarında memory kaybı oluşur)

Db_block_checksum : Db corruption oluşmasını engeller, veriyi datafile’ e yazarken çift
kontrol yapar. (değer true yapılırsa I/O da %1-2 civarında artış olur.)

Db_keep_cache_size : Buffer cache’ in keep alanının size’ ı set edilir.                

alter system  set db_keep_cache_size = 50M scope=MEMORY;

Db_recycle_cache_size :    Buffer cache’ in recyclebin alanının size’ ı set edilir.          

alter system  set db_recycle_cache_size= 10M scope=MEMORY;

Db_cache_size : Buffer cache’ in default alanının size’ ı set edilir.           

Shared_pool_size : Shared pool’ un size’ ı set edilir.

Large_pool_size : Large pool’ un size’ ı set edilir.

Java_pool_size : Java pool’ un size’ ı set edilir.

Streams_pool_size : Streams pool’ un size’ ı set edilir.

Sga_max_size : Sga atanmış olan kullanılabilecek alanı ifade eder.

Sga_target : Sga’ nın kullanılabileceği alanı ifade edebilir. Bu değer sga_max_size değerinden büyük olamaz.

ALTER SYSTEM SET  sga_max_size = 16000M SCOPE=SPFILE;
ALTER SYSTEM SET  sga_target = 15000M SCOPE=SPFILE ;

Pga_aggregate_target : Pga alanına atanan memory alanını ifade eder.

Statistics_level : Sistem tarafından toplanan istatistiklerin nasıl toplanacağının set edildiği
parametredir. 3 değer alabilir. BASIC; Datanın istatistiğini almaz. Dolayısıyla bu değer set
edilmişken ADDM çalışmaz. TYPICAL; default değerdir.segment seviyesinde istatistikleri alır.
ALL; operating systeminde istatistiğini alır. Sisteme yük getirir.

ALTER SYSTEM SET statistics_level=all

Open_cursors : Bir sessionın aynı anda kaç tane select çalıştırabileceğini belirtir. (default değeri 300)

Alter system set open_cursors=350;

User_dump_dest : user trace dosyalarının pathi burda yer alır.

fast_start_mttr_target : Database’ e checkpoint attırma zamanı (değer saniye cinsinden)

ALTER SYSTEM SET fast_start_mttr_target = 900          

db_writer_processes : Databasede ki db writer procecessinin kaç adet olduğunu bilgisini bu parametreden alır.

*.db_writer_processes=1   

audit_sys_operations : Database’ in izlenmesi sürecinde Sys userının da denetlenip
denetlenmeyeceğini gösteren parametredir. Defaultu FALSE’ dir.

audit_file_dest : sysnin auditlenmesi durumunda sys audit kayıtlarının yerini belirtir.
Windows da windows application log’ larda, linuxda audit_file_dest parametresine bakar.

log_archieve_start : otomatik archive alma parametresidir. İnit.ora dosyasında değeri
log_archieve_start=true şeklinde set edilmelidir. Noarchivelog modunda çalışan bir db
için bu parametre init.ora dosyasında olmaması gerekmektedir.

open_links : OPEN_LINKS uzak veritabanlarına tek oturumda aynı anda açık bağlantı
sayısını belirtir. (deafult’ u 4. static bir parametre olduğundan değiştirildiğinde db restart
etmek gerekir.)

Statistic_level : AWR’ ın çalışmasını sağlayan parametredir. 3 değer alabilir. Defaultu Typical’ dır. All ve Basic’ de olaiblir. Basic olduğunda AWR devredışı kalır.

alter system set statistics_level = all;

Control_management_pack_acces : Addm’ in çalışması için gereken parametredir. Diadnostic+ tuning default değeridir.Diagnostic veya None olarak da set edilebilir.  None olması durumunda ADDM devredışı kalır.

remote_dependencies_mode ; İki değer alabilir. timestamp, Clientın istediği procedure ancak serverdaki kayıt tarihi  ile, localdeki şimdiki tarih ile uyuşursa çalıştırılır. signature,  oracle, bir procedure'nin imzalarının güvenli olarak göz önüne alınmış olması durumunda çalıştırılmasına müsade eder. Bu ayar, PLSQL uygulamalarının tekrar compile edilmeden çalıştırılmasını sağlar.  

Alter session SET REMOTE_DEPENDENCIES_MODE = ( SIGNATURE / TIMESTAMP )

Alter system SET REMOTE_DEPENDENCIES_MODE=( SIGNATURE / TIMESTAMP )

Ddl_lock_timeout : Ddl işlemlerinde oluşaacak lock’ lardaki bekleme süresini ifade eder. Defaultu “0”.  Bu parametre 0 ile   100.000 arasında değer alabilir. system ve session bazında değiştirilebilir.

Alter system set ddl_lock_timeout = 10 scope = SPFILE

max_dump_file_size : Oluşan trace dosyalarının maximum ne kadar boyutta olacağını belirtir. (bu maximum size sınırlaması alert logu kapsamaz.)

alter system set max_dump_file_size = ‘5m’;

aq_tm_processes : Parametre enable edildiğinde queue mesajlarının monitör edilmesini
sağlar. 0 – 10 arasında değer alır. 0 olduğunda disable olur. Eğer oracle stream
kullanılıyorsa bu parametrenin 0 olarak set edilmesi başka problemlere yol açılacaktır. Oracle
bu değerin 0’ dan bir değer olarak set edilmesini öneriyor.

alter system set aq_tm_processes=0

cursor_sharing : Shared pool içerisinde tutulan sqllerin benzerleri geldiğinde aynı plan ile
diğerlerininde çalışıp çalışmayacağının set edildiği parametredir. SIMILAR = Çalışan sql'
lerin birebir aynı olmasa da benzeyenler için (execution planlarına da bakar) cache den
çalıştırmaya yönlendirir.  EXACT = Çalışan sqlerin cache' den çalışması için sorguların
birebir aynısı olması gerekmektedir. FORCE =  Cache de Çalışan sql lerin benzeri varsa
mevcut execeution plan kullanılmasını zorlar

ALTER SYSTEM SET cursor_sharing = FORCE SCOPE=MEMORY

Utl_file_dir : Bu parametre bir veya daha fazla lokasyonun, oracle tarafından PL/SQL ile
kullanılmasını sağlar. Bu parametre ile tüm userlar bu lokasyonlardaki bütün file’ leri okuyup
azabilirler.

Alter system set url_file_dir=’/u01/file1/’, ‘/u02/file2/’, ‘/tmp’ scope =SPFILE

CREATE DIRECTORY log_dir AS '/appl/gl/log';
GRANT READ ON DIRECTORY log_dir TO DBA;

CREATE DIRECTORY out_dir AS '/appl/gl/user'';
GRANT READ ON DIRECTORY user_dir TO PUBLIC;


Hiç yorum yok: