Post History

Bağlantılar

29 Eylül 2013 Pazar

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ı engellerveriyi 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 kidb 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;

0 yorum:

Yorum Gönder