ANASAYFA MCSE ORACLE LINUX TEMEL PC SINEMA SPOR
Merak ettiğiniz veya öğrenmek istediğiniz konuları bize yazın.Makalelerini yayınlayalım.Mail adreslerimiz:
pektas.isil@gmail.com,acakmakli1983@gmail.com Bekliyoruz...

16 Kasım 2009 Pazartesi

LOCK&UNLOCK TABLE STATISTICS

Otomatik analiz çalışırken bazı tablolarınızın istatistiklerinin değişmesini veya analizleri daha sonra manuel olarak çalıştırmak isteyebilirsiniz.
Bu durumlarda,

begin
dbms_stats.unlock_table_stats('OWNERNAME','TABLENAME');
end;

komutu ile tablo istatistiklerini kapatabiliriz veya bir schema altındaki tüm objelerin istatistiklerini kapatmak istiyorsak,

begin
dbms_stats.unlock_schema_stats('OWNER');
end;

komutunu kullanabilirsiniz.

Şimdi bir örnek üzerinde test yapalım,

SQL> create table test as select * from dba_users;

Table created.

SQL> create index test_idx on test(username);

Index created.

SQL> begin
2 dbms_stats.lock_table_stats('deneme','test');
3 end;
4 /

PL/SQL procedure successfully completed.

Lock edilen tablonun istatistik tipi dba_tab_statistics view ınde 'ALL' görünür,

SQL> SELECT table_name FROM dba_tab_statistics WHERE stattype_locked='ALL' and owner='DENEME';

TABLE_NAME
------------------------------
TEST

Tablo lock edildikten sonra üzerinde bulunan indexler içinde analiz çalıştırılmaz,

SQL> begin
2 dbms_stats.gather_index_stats('deneme','test_idx');
3 end;
4 /
begin
*
ERROR at line 1:
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: konum "SYS.DBMS_STATS", satır 14037
ORA-06512: konum "SYS.DBMS_STATS", satır 14060
ORA-06512: konum satır 2

Aşağıdaki şekildede istatiskleri unlock yapabiliriz.

dbms_stats.unlock_table_stats('OWNERNAME','TABLENAME');

Not:
Analizleriniz çalışırken aşağıdaki şekilde hata alarak analiz sonlanırsa,

ORA-00054: kaynak meşgul ve NOWAIT ile elde etme belirlendi veya zaman aşımı süresi doldu
ORA-06512: konum "SYS.DBMS_STATS", satır 17964
ORA-06512: konum "SYS.DBMS_STATS", satır 18450
ORA-06512: konum "SYS.DBMS_STATS", satır 18531
ORA-06512: konum "SYS.DBMS_STATS", satır 18487
ORA-06512: konum satır 2

Lock oluştuğu için hata almışsınız demektir.
Eğer schema bazlı istatistik çalıştırıldıysa istatistikleri unlock yaparak düzgün bir şekilde analiz çalıştırılmasını sağlayabiliriz.

Teşekkürler

Hiç yorum yok:

Yorum Gönder