Home / MAKALELER / Veri Tabanı / Oracle İnitial Parametreleri

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 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   1.000.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;

About Kamil Turkyilmaz

1979 Tokat/Zile doğumluyum. Yıldız Teknik Üniversitesi 1997 - 2001 mezunuyum ancak 1998 yılından itibaren IT sektöründe, 2000 yılından bu yanada Oracle üzerine çalışmaktayım. 2005 yılına kadar oracle database'i üzerine yazılmış olan kimi uygulamalara software support hizmeti, sonrasında ise oracle veritabanı yöneticiliği olmak üzere yaklaşık 12 yıldır sektör içerisindeyim. Oracle' ın hemen hemen tüm ürünlerinin kurulumu, konfigurasyonu, yönetimi konusundaki çalışmalarıma özel bir bankada oracle dba olarak devam etmekteyim. Aynı zamanda kimi bilişim sitelerinde yazarlık yapıyorum, bunun yanısıra bu alandaki deneyim ve tecrübelerimi daha fazla kullanıcıyla paylaşabilmek adına bir de oracle blog yazarıyım.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın