Read Only Table Partitions

5 Eki by Ahmet Duruöz

Read Only Table Partitions

Oracle 12.2 versiyonundan itibaren , bir tablonun partition ya da sub-partition’ları read-only (salt okunur) olarak işaretlenebilir. Tablo oluşturma aşamasında da belirtilebilir.

“READ ONLY”  ifadesi ile belirtilebilir. Varsayılan davranışı “READ WRITE” şeklindedir.

Partitioned yapıdaki bir tablodaki mevcut ve gelecekte oluşturulacak bölümlerin salt okunur olması için :

SQL>ALTER TABLE my_table READ ONLY;

Partitioned yapıdaki bir tablodaki sadece part01 isimli bölümün salt okunur olması için : 

SQL>ALTER TABLE my_table MODIFY PARTITION part01 READ ONLY;

komutları kullanılabilir.

Yapılan değişikliği geri almak için “READ ONLY” ifadesi yerine “READ WRITE” ifadesi yazılabilir.

Tablo oluştururken create table ifadesinde salt okunur partition olmasını istediğimiz partition da “READ ONLY” ifadesi kullanılabilir.

Aşağıdaki gibi read only sub partition’lar oluşturmak mümkündür.

create table my_table
partition by list(x)
subpartition by list(y)
(  partition p1 values (0) READ ONLY
           (       subpartition p1_sp1 values (0) READ ONLY ,
                   subpartition p1_sp2 values (1) ) ,
    partition p2 values (1) READ WRITE
           (   subpartition p2_sp1 values (0) READ ONLY ,
                   subpartition p2_sp2 values (1) ) ,
   partition p3 values (2)
           (       subpartition p3_sp1 values (0) READ ONLY ,
                   subpartition p3_sp2 values (1) )
   )

 

Aşağıdaki sorgu ile bir tablodaki sub partition’ların read only ya da read write olup olmadığını öğrenebiliriz.

 

select table_name,partition_name,subpartition_name,read_only
from dba_tab_subpartitions
where table_name ='MY_TABLE'
order by partition_name,subpartition_name;

 

Aşağıdaki sorgu ile bir tablodaki partition’ların read only ya da read write olup olmadığını öğrenebiliriz. 

 

select table_name,partition_name,read_only
from dba_tab_partitions
where table_name ='MY_TABLE'
order by table_name,partition_name

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir