7 Kasım 2012 Çarşamba

                                             
                                             Oracle Managed Files
 
Oracle managed files database yönetimini kolaylaştırır.Bu yöntemle oracle database ile OS dosyalarını kolayca yönetebiliriz.Oracle tablespace,online redo log ve control file silerken yada create ederken standart bir file system kullanır.İnitializaiton parameter dosyasını kullanarak bu dosyaların default olarak nerede saklanacağını belirtiriz.Bu özellik trace files, alert files gibi dosyalarda kullanılamaz.


Oracle Managed Files Kullanmanın Avantajları:
 
1)Database yönetimini daha kolay şekilde gerçekleştirir.File name ve storage alanını belirtmeye gerek kalmaz.
2)Adminstrator tarafından meydana gelebilecek hataları minimize eder.Her oracle-managed-file ve file name unique dir.Farklı database için aynı dosya kullanıldığında  down time ve transaction kaybolmasına neden olur.Aynı dosyaya farklı isimlerlede ulaşmaları hataya neden olur.
3)Obsolete dosyalardan dolayı kötü disk kullanımını azaltır.Uzun süre kullanılmayan oracle-managed-file silinir.


Oracle Managed Files Enable:Varolan bir database istenildiği zaman oracle-managed files özelliği etkin hale getirilebilinir..Oracle-managed files ve unmanaged files bir arada bulunabilinir.

       1)DB_CREATE_FILE_DEST=Datafile ve temp files create aşamasında herhangi bir location bilgisi verilmediğinde Oracle otomatik olarak bu parametrenin gösterdiği location kullanır.DB_CREATE_ONLINE_LOG_DEST_n belirtilmezse control file ve online redo log da burada saklanır.Bu alanda datafiles, tempfiles, online redo log, controlfiles oluşturulabilinir.
       SQL>alter system set db_create_file_dest='/u01/app/test'


      2)DB_CREATE_ONLINE_LOG_DEST_n: Online redo log ve controlfile creation aşamasında herhangi bir location belirtilmezse otomatik olarak bu parametrenin gösterdiği location da oluşturulur.Bu parametre DB_CREATE_FILE_DEST paramtresini overwrite eder. Yani file_dest parametersi belirtilmezse bu parametre belirtilirse online redo log ve control file bu location koyulur.
 

Oracle-Managed Files Oluşturulması:Oracle-managed files creation sırasında herhangi bir hatadan dolayı creation işlemi gerçekleşmezse otomatik olarak create edilen file ve ilişkili dosyalar silinir.Ancak bu hatalar file system ve storage kaynaklanıyorsa bu dosyaları manualy olarak silmeliyiz.Oracle-managed file create edildiği zaman ismi alert log dosyasına yazılır. Bu bilgiler manualy olarak silme işlemi yapıldığında kullanılır.
 

Oracle-Managed Files Nasıl İsimlendirilir: Oracle-managed files  özelliği enable edildiğinde iki  dosyaya birden aynı ad verilmez.Oracle-managed files isimlendirilirken 3 kaynak kullanılır.
-->Default file location
-->Oluşturulan file type
-->Oracle tarafından oluşturulan unique string

Datafile     o1_mf_%t_%u_.dbf       /u01/oradata/payroll/o1_mf_tbs1_2ixfh90q_.dbf

Tempfile    o1_mf_%t_%u_.tmp     /u01/oradata/payroll/o1_mf_temp1_6dygh80r_.tmp

Redo log file  o1_mf_%g_%u_.log   /u01/oradata/payroll/o1_mf_1_wo94n2xi_.log

Control file   o1_mf_%u_.ctl    /u01/oradata/payroll/o1_mf_cmr7t30p_.ctl
%t-->tablespace name
%u-->unique eight character
%g-->redo log group number

NOT:Oracle-managed file adları değiştirilmemelidir.Çünkü oracle files adlarına göre manage eder.Eğer bu dosyaların ismi değiştirilirse Oracle-managed file bu dosyalara erişemez.

Create Datafiles for Tablespaces: Tablespace oluşturulduğunda datafile oluşturma işlemi opsiyoneldir.Aşağıdaki durumlarda datafile işleminin nasıl gerçekleştirileceğine karar verilir.
create tablespace
create undo tablespace
Bu şekilde tablespace oluşturulduğunda datafile ve location filename belirtilmediği durumlarda database db_create_file_dest parametresine göre aşağıdaki gibi davranır.
   db_create_file_dest parametresi belirtildiğinde datafile oracle-managed file tarafından belirtilen yerde  ve stanrt ismi ile oluşturulur. 
   db_create_file_dest parametresi belirtilmezse datafile create işlemi fail olur.

alter tablespace add datafile komutunda datafile ismi belirtilmezse default db_create_file_dest parametresine göre ya default isimle oluşturulur yada create işlemi fail olur.Oracle-managed datafile  default olarak 100Mb boyutunda , autoextensible ve unlimited.Ancak bunlar size, autoextend no ve maxsize paramtreleriyle override edilebilinir.


  Example1;
   SQL>alter system set db_create_file_dest='/u01/app/oracle/oradata';
   SQL>create tablespace tbs1;-->tbs1 adında bir tablespace ve belirtilen location da default değerler ile bir datafile oluşturulur.

  Example2:
    SQL>alter system set db_create_file_dest='/u01/app/oracle/oradata';
   SQL> CREATE TABLESPACE tbs_2 DATAFILE SIZE 400M AUTOEXTEND OFF; tbs2 adında bir tablespace ve belirtilen değerle ile bir datafile oluşturulur.
 
  Example3;
  SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata/sample4';
  SQL> CREATE TABLESPACE tbs_4 DATAFILE SIZE 200M, SIZE 200M;-->tbs_4 adında bir tablespace ve parametre ile belirtilen location da 2 tane datafile oluşturulur.

  Example4;
SQL> ALTER TABLESPACE tbs_1 ADD DATAFILE AUTOEXTEND ON MAXSIZE 800M;-->varolan bir tablespace datafile ekleriz.