CREATE EVENT MONITOR (etkinlikler) deyimi
CREATE EVENT MONITOR (etkinlikler) deyimi, veritabanını kullanırken ortaya çıkan etkinlik olaylarını kaydedecek bir izleme programını tanımlar. Etkinlik olayı izleyicisinin tanımlaması, veritabanının olayları kaydedebileceği yeri de belirtir.
Çağırma
Bu deyim bir uygulama programına gömülebilir ya da etkileşimli olarak yayınlanabilir. Yalnızca, paket için (SQLSTATE 42509) DYNAMICRULES çalıştırma davranışı yürürlükte olduğunda dinamik olarak hazırlanabilen yürütülebilir bir deyimdir.
Yetkilendirme
- DBADM yetkisi
- SQLADM yetkisi
Sözdizimi
Tanım
- olay-İzleme Programı-adı
- Olay izleyicisinin adı. Bu tek bölümle ilgili bir addır. Bu bir SQL tanıtıcısıdır (olağan ya da sınırlanmış). olay-izleyici-adı , katalogda zaten var olan bir olay izleyicisini tanımlamamalıdır (SQLSTATE 42710).
- -
- Kaydedilecek olay tipini tanıtır.
- Etkinlikler
- Olay izleyicisi, bir etkinlik yürütmeyi bitirdiğinde ya da olay WLM_CAPTURE_ACTIVITY_IN_PROGRESS yordamı tarafından tetiklenirse yürütmenin tamamlanmasından önce bir etkinlik olayı kaydeder. Etkinlik aşağıdakilerden biri olmalıdır:
- COLLECT ACTIVITY DATA ayarında bulunan bir hizmet sınıfına ya da iş yüküne ait
- İlişkili iş işlemi COLLECT ACTIVITY DATA olan bir iş sınıfına ait.
- COLLECT ACTIVITY DATA yantümcesinin belirtildiği bir eşiği ihlal eden etkinlik olarak tanımlanmalıdır
- Tamamlanmadan önce WLM_CAPTURE_ACTIVITY_IN_PROGRESS yordamında yapılan bir çağrıya sahip
- YAZMA
- Veriler için hedefi tanıtır.
- Çizelge
- Olay izleyicisi verilerine ilişkin hedefin bir veritabanı çizelgeleri kümesi olduğunu belirtir. Olay izleyicisi, veri akışını bir ya da daha çok mantıksal veri grubuna ayırır ve her grubu ayrı bir çizelgeye ekler. Hedef çizelgeye sahip olmayan gruplara ilişkin veriler atılırken, hedef çizelgeye sahip olmayan gruplara ilişkin veriler atılır. Bir grubun içindeki her izleme programı öğesi, aynı adı taşıyan bir çizelge kolonuyla eşlenir. Yalnızca ilgili tablo sütununa sahip öğeler çizelgeye eklenir. Diğer öğeler atılır.
- biçimlendirilmiş-olay-tablo-bilgi
- Bir olay izleyicisine ilişkin hedef çizelgeleri tanımlar. Kaydedilecek her gruplama için bu yantümce belirtilmeli. Ancak, hiçbir evm-group-info yantümcesi belirtilmediyse, olay izleyicisi tipi için tüm gruplar kaydedilir.
Mantıksal veri gruplarına ilişkin ek bilgi için Mantıksal veri grupları ve olay izleyicisi çıkış çizelgeleri başlıklı konuya bakın.
- evm-grubu
- Bir hedef çizelgenin tanımlanmakta olduğu mantıksal veri grubunu tanımlar. Değer, aşağıdaki tabloda gösterildiği gibi, olay izleyicisinin tipine bağlıdır:
Olay İzleme Programı Tipi evm-grup Değeri Etkinlikler - ETKİNLİK
- ACTIVITYMETRICS
- ACTIVITYSTMT
- ETKINLIK
- CONTROL
- hedef-çizelge-seçenekleri
- Gruba ilişkin hedef çizelgeyi tanımlar.
- TABLE çizelge-adı
- Hedef çizelgenin adını belirler. Hedef çizelge bölümlenmemiş bir çizelge olmalıdır. Ad nitelenmemişse, çizelge şeması varsayılan değer olarak CURRENT SCHEMA özel kayıt kasasındaki değeri alır. Hiçbir ad sağlanmazsa, nitelenmemiş ad evm-group ve olay-izleyici-adı içinden aşağıdaki gibi türetilir:
substring(evm-group CONCAT '_' CONCAT event-monitor-name,1,128) - IN çzlg-alanı-adı
- Çizelgenin yaratılacağı çizelge alanını tanımlar. Bir çizelge alanı adı sağlanmazsa, çizelge alanı, CREATE TABLE kullanılarak çizelge alanı adı olmadan bir çizelge yaratıldığında aynı işlem kullanılarak seçilir.
Sayfa büyüklüğü, kullanılan INLINE LOB uzunluklarını etkilediğinden, olay izleyicisinin INSERT performansını artırmak için mümkün olduğunca büyük bir sayfa büyüklüğü olan bir çizelge alanı belirtmeyi düşünün.
- PCTDEACTIVATE tamsayı
- Olay izleyicisi için bir çizelge otomatik saklama yeri (geçici olmayan) ya da DMS çizelge alanında yaratılıyorsa, olay izleme programı otomatik olarak devre dışı bırakılmadan önce, PCTDEACTIVATE parametresi çizelge alanının ne kadar dolu olması gerektiğini belirtir. Bir yüzdeyi temsil eden belirtilen değer, 0 ile 100 arasında olabilir; burada 100, olay izleyicinin çizelge alanı tamamen dolu olduğunda devre dışı bırakır. PCTDEACTIVATE değeri belirlenmezse, varsayılan değer 100 'dür. SMS çizelge alanları için bu seçenek dikkate alınmaz.Önemli: Hedef çizelge alanı otomatik olarak yeniden boyutlandırılmışsa, PCTDEVBOT değiştirgesini 100 değerine ayarlayın. Diğer bir seçenek olarak, bu tümcenin varsayılan değeri 100 'e sahip olmak üzere tümüyle atlayın. Tersi durumda, çizelge alanı otomatik olarak yeniden boyutlandırılmadan önce, çizelge alanı PCTDEACETTATE tarafından belirlenen eşiğe ulaşırsa, olay izleyicisi beklenmedik bir şekilde geçersiz kılınabilir.
target-table-options için bir değer belirtilmezse, CREATE EVENT MONITOR IşLEMESI şu şekilde devam eder:- Türetilmiş bir çizelge adı kullanılır.
- Varsayılan bir çizelge alanı seçilir.
- PCTDEACTIVATE değiştirgesi varsayılan değer olarak 100 değerini alır.
- Engellendi
- Bir olay oluşturan her bir aracının, aracının her iki olay arabelleği dolu olduğunu belirlerse, bir olay arabelleğinin diske yazılmasına neden olacağını belirler. Olay veri kaybının olmadığını garanti etmek için BLOCKED seçilmelidir. Bu varsayılan seçenektir.
- çubuk
- Olay izleyicisi verilerine ilişkin hedefin adlandırılan veri bağlantısı olduğunu belirtir. Olay izleyicisi, verileri, tek bir akışta veri bağlantısına yazar (yani, tek, sonsuz uzun bir dosyaymış gibi). Veri bağlantısına veri yazarken, bir olay izleyicisi engellenen yazma işlemlerini gerçekleştirmez. Veri bağlantısı arabelleğindeki bir oda yoksa, olay izleyicisi verileri atar. Veri kaybı sağlamak istememesi durumunda, verileri en kısa zamanda okumak için izleme uygulamasının sorumluluğundadır.
- düşey çubuk adı
- The name of the pipe (FIFO, AIX®) to which the event monitor will write the data.Veri bağlantılarına ilişkin adlandırma kuralları platforma özgü bir kuraldır.
İşletim sistemi Adlandırma kuralları AIX
HP-UX
SolarisVeri bağlantısı adları dosya adları gibi işlem görür. Sonuç olarak, göreli çubuk adlarına izin verilir ve göreli yol adları gibi işlem görür ( yol-adıiçin açıklamaya bakın). Linux® Veri bağlantısı adları dosya adları gibi işlem görür. Sonuç olarak, göreli çubuk adlarına izin verilir ve göreli yol adları gibi işlem görür ( yol-adıiçin açıklamaya bakın). Pencereler Veri bağlantısı adı için özel bir sözdizimi vardır ve sonuç olarak, mutlak veri bağlantısı adları gereklidir. Veri bağlantısının varlığı, olay izleyicisi yaratma sırasında denetlenmez. Olay izleyicisi etkinleştirildiği sırada okuma için veri bağlantısını oluşturdu/açan izleme uygulamasının sorumluluğundadır. Veri bağlantısı şu anda kullanılamıyorsa, olay izleyicisi kendiliğinden kapatılır ve hata günlüğe kaydedilecektir. (Bu, olay izleyicisi AUTOSTART seçeneğinin sonucu olarak veritabanı başlangıç saatinde etkinleştirilmişse, olay izleyicisi sistem hata günlüğünde bir hata günlüğe kaydedecektir.) Olay izleyicisi SET EVENT MONITOR STATE SQL deyimi aracılığıyla etkinleştirilirse, o deyim başarısız olur (SQLSTATE 58030).
- Dosya
- Olay izleyicisi verilerine ilişkin hedefin bir dosya (ya da dosya kümesi) olduğunu belirtir. Olay izleyicisi, veri akışını "evt" uzantılı bir dizi 8 karakterlik dosya olarak yazar. (örneğin, 00000000.evt, 00000001.evtve 00000002.evt). The data should be considered to be one logical file even though the data is broken up into smaller pieces (that is, the start of the data stream is the first byte in the file 00000000.evt; the end of the data stream is the last byte in the file nnnnnnnn.evt).
Her dosyanın büyüklük üst sınırı, dosya sayısı üst sınırı kadar tanımlanabilmektedir. Bir olay izleyicisi, tek bir olay kaydını hiçbir zaman iki dosya arasında bölemez. Ancak, bir olay izleyicisi, ilgili kayıtları iki farklı dosyada yazabilir. Olay dosyalarını işlerken bu tür ilgili bilgilerin kaydını tutmak için bu verileri kullanan uygulamanın sorumluluğundadır.
- yol adı
- Olay izleyicisinin olay dosyaları verilerini yazacağı dizinin adı. Bu yol sunucuda bilinmelidir; ancak, yolun kendisi başka bir veritabanı bölümünde bulunabilir (örneğin, NFS tarafından bağlanmış bir kütük). yol-adıbelirtilirken bir dizgi değişmezinin kullanılması gerekir.
Dizin CREATE EVENT MONITOR TIME ' da var olmak zorunda değil. Ancak, olay izleyicisi etkinleştirildiğinde hedef yolun var olması için bir denetim yapılır. O zaman, hedef yol yoksa bir hata (SQLSTATE 428A3) yükseltilir.
Mutlak bir yol belirtilirse, belirtilen yol kullanılır. Db2® pureScale ®dışındaki ortamlarda, göreli bir yol ("root" ile başlamayan bir yol) belirtilirse, veritabanı dizinindeki DB2EVENT dizinine göreli yol kullanılır. Bir Db2 pureScale ortamında, göreli bir yol belirtilirse, veritabanı dizininde veritabanı sahibi olan dizine göreli yol kullanılır.
Aynı hedef yola sahip iki ya da daha fazla olay izleme programı belirleyebilirsiniz. Ancak, olay izleyicilerinden biri ilk kez etkinleştirildikten sonra, hedef dizin boş olmadığı sürece, diğer olay izleyicilerinin herhangi birini etkinleştirmesi olanaksız olur.
- dosya-seçenekleri
- Dosya biçimine ilişkin seçenekleri belirler.
- MAXFILES YOK
- Olay izleyicisinin yaratacağı olay dosyası sayısı için bir sınır olmadığını belirtir. Bu varsayılandır.
- MAXFILES dosya sayısı
- Herhangi bir zamanda belirli bir olay izleyicisi için var olacak olay izleyicisi dosyaları sayısında bir sınır olduğunu belirtir. Bir olay izleyicisi başka bir dosya oluşturmak zorunda olduğunda, dizindeki .evt dosyalarının sayısının dosya sayısıdeğerinden küçük olduğundan emin olmak için bu dosya denetlenecek. Bu sınıra önceden ulaşıldıysa, olay izleyicisi kendini kapatacaktır.
Bir uygulama, yazıldıktan sonra olay dosyalarını dizinden kaldırırsa, bir olay izleyicisinin üretebileceği dosyaların toplam sayısı dosya sayısı' ı aşabilir. Bu seçenek, bir kullanıcının olay verilerinin belirli bir disk alanı miktarından fazla tüketileceğini garanti etmelerine olanak sağlamak için sağlanmıştır.
- MAXFILESIZE sayfalar
- Her olay izleyicisi dosyasının büyüklüğünün bir sınırı olduğunu belirtir. Whenever an event monitor writes a new event record to a file, it checks that the file will not grow to be greater than sayfalar (in units of 4K pages). Sonuçtaki dosya çok büyükse, olay izleyicisi bir sonraki dosyaya geçer. Bu seçenek için varsayılan değer şöyledir:
- Linux -1000 4K sayfa
- UNIX-1000 4K sayfa
- Windows-200 4K sayfa
Sayfa sayısı, sayfalar içinde olay arabelleğindeki en az boyuttan büyük olmalıdır. Bu gereksinim karşılanmazsa, bir hata (SQLSTATE 428A4) yükseltilir.
- MAXFILESIZE NONE
- Bir dosyanın büyüklüğü için herhangi bir küme sınırı olmadığını belirtir. MAXFILESIZE NONE değeri belirlendiyse, MAXFILES 1 de belirlenmelidir. Bu seçenek, bir dosyanın belirli bir olay izleyicisine ilişkin tüm olay verilerini içereceği anlamına gelir. Bu durumda, tek olay dosyası 00000000.evtolur.
- Engellendi
- Bir olay oluşturan her bir aracının, aracının her iki olay arabelleği dolu olduğunu belirlerse, bir olay arabelleğinin diske yazılmasına neden olacağını belirler. Olay veri kaybının olmadığını garanti etmek için BLOCKED seçilmelidir. Bu varsayılan seçenektir.
- Ekle
- Olay izleyicisi açıldığında olay veri dosyaları zaten varsa, olay izleyicisi yeni olay verilerini varolan veri dosyaları akısına ekler. Olay izleyicisi yeniden etkinleştirildiğinde, olay dosyalarına yazma işlemini daha önce hiç kapatmamış gibi devam ettirir. APPEND, varsayılan seçenektir.
Yeni yaratılan olay izleyicisinin olay verilerini yazacağı bir dizinde var olan olay verileri varsa, APPEND seçeneği CREATE EVENT MONITOR zaman değerine uygulanmaz.
- DEĞİŞTİR
- Olay izleyicisi açıldığında olay verileri dosyaları önceden varsa, olay izleyicisi tüm olay dosyalarını siler ve 00000000.evtkütüğüne veri yazmaya başlar.
- MANUALSTART
- Olay izleyicinin, SET EVENT MONITOR STATE deyimi kullanılarak el ile etkinleştirilmesi gerektiğini belirtir. MANUALSTART olay izleyicisi etkinleştirildikten sonra, yalnızca SET EVENT MONITOR STATE deyimi kullanılarak ya da yönetim ortamı durdurularak devre dışı bırakılabilir.
- OTOMATIK OLARAK
- Olay izleyicisi, olay izleyicinin çalıştığı veritabanı bölümü etkinleştirildiğinde otomatik olarak etkinleştirileceğini belirtir. Bu, etkinlikler olay izleyicisinin varsayılan davranışıdır.
- ÜYE üYE-SAYı
- Bir dosya ya da veri bağlantısı olay izleyicinin çalıştırılacağı üye öğesini belirtir. İzleme kapsamı LOCAL olarak tanımlandığında, veriler yalnızca belirtilen üyeyetoplanır. The I/O component will physically run on the specified üye, writing records to the specified file or pipe.
Db2 pureScale özelliği geçerli kılındığında, -1 varsayılan değer olarak varsayılan değer olur.
-1 değeri belirlenirse, G/Ç bileşeninin etkin herhangi bir üyedençalışmasına olanak tanır. Buna ek olarak, G/Ç bileşeninin belirli bir üyeüzerinde çalıştırılamaması durumunda, olay izleyicisi, kullanılabilir başka bir etkin üyeüzerinde çalışan G/Ç bileşeniyle yeniden başlatılacaktır.
Bu yantümce, çizelge olayı izleme programları için geçerli değildir. Bölümlenmiş veritabanı ortamında, çizelgeye yazma olayı izleyicileri, hedef çizelgelere ilişkin çizelge alanlarının tanımlandığı tüm veritabanı bölümlerinde çalıştırılacak ve bu olayları yazacaktır.
Bir Db2 pureScale ortamında, yazı-çizelge olay izleyicileri tüm etkin üyelereilişkin olayları kaydedecektir.
Bu yantümce ve Db2 pureScale etkinleştirilmedibelirtilmediyse, şu anda bağlı olan üye (uygulama için) kullanılır.
Bu yantümce belirtilmediyse ve Db2 pureScale etkinleştirilmişse, G/Ç bileşeni şu anda bağlı olan herhangi bir üyeüzerinde çalışabilir.
- LOCAL
- Olay izleyicisi, yalnızca çalışmakta olan üye ile ilgili raporları içerir. Bu, veritabanı etkinliğinin kısmi bir izlemesini verir. Bu varsayılandır.
Bu yantümce, kütük ya da veri bağlantısı izleme programları için geçerlidir. Çizelge olayı izleyicileri için geçerli değildir.
GENEL, bu olay izleyicisi tipi için geçerli bir kapsam değil.
Kurallar
- ACTIVITIES olay tipi, belirli bir olay izleyicisi tanımlamasındaki diğer olay tipleriyle birleştirilemez.
Notlar
- Olay izleyicisi tanımlamaları SYSCAT.EVENTMONITORS katalog görünümünde kaydedilir. Olaylar SYSCAT.EVENTS katalog görünümünde kaydedilir. Hedef çizelgelerin adları SYSCAT.EVENTTABLES katalog görünümünde kaydedilmektedir.
- Olay izleyicinin çalıştırılacağı üye etkin değilse, olay izleyicisi etkinleştirme işlemi üye yeniden etkinleştirildiğinde gerçekleşir.
- Bir olay izleyicisi etkinleştirildikten sonra, o olay izleyicisi belirtik olarak devre dışı bırakılıncaya ya da yönetim ortamı geri dönüştürülünceye kadar otomatik başlatma olayı izleme programı gibi davranır. Yani, bir üye devre dışı bırakıldığında bir olay izleyicisi etkinse ve bu üye daha sonra yeniden etkinleştirilirse, olay izleyicisi belirtik olarak yeniden etkinleştirilir.
- FLUSH EVENT MONITOR deyimi bu olay izleyicisi için geçerli değil ve bu izleme için çıkışı yapıldığında hiçbir etki göstermeyecek.
- Tablo olayı izleyicileri yazın: Genel notlar:
- Tüm hedef çizelgeler, CREATE EVENT MONITOR deyimi yürütüldüğünde yaratılır.
- Bir çizelge yaratma işlemi herhangi bir nedenle başarısız olursa, uygulama programına bir hata iletilir ve CREATE EVENT MONITOR deyimi başarısız olur.
- Hedef çizelge yalnızca bir olay izleyicisi tarafından kullanılabilir. CREATE EVENT MONITOR işlenirken, başka bir olay izleyicisi tarafından kullanılmak üzere önceden tanımlanmış bir hedef çizelge bulunursa, CREATE EVENT MONITOR deyimi başarısız olur ve uygulama programına bir hata iletilir. Çizelge adı SYSCAT.EVENTTABLES katalog görünümünde bulunan bir değerle eşleşiyorsa, başka bir olay izleyicisi tarafından kullanılmak üzere bir çizelge tanımlıdır.
- CREATE EVENT MONITOR işlenirken, bir çizelge zaten varsa, ancak başka bir olay izleyicisi tarafından kullanılmak üzere değil tanımlı bir çizelge yaratıldıysa, çizelge yaratılmadı ve işleme devam eder. Uygulama programına bir uyarı iletilir.
- CREATE EVENT MONITOR deyimi yürütülmeden önce, çizelge alanlarının var olması gerekir. CREATE EVENT MONITOR deyimi çizelge alanları yaratmıyor.
- Belirtilirse, LOCAL ve GLOBAL anahtar sözcükleri yoksayılır. WRITE TO TABLE olay izleyicileriyle, eşgörünümdeki her member üzerinde bir olay izleyicisi çıkış işlemi ya da iş parçacığı başlatılır ve bu işlemlerin her biri yalnızca çalışmakta olduğu üyeye ilişkin verileri rapor eder.
- Düz görüntü birimi günlük dosyası ya da düşey çubuk biçimindeki aşağıdaki olay tipleri, çizelge olayı izleyicisine yazma işlemi tarafından kaydedilmez:
- LOG_STREAM_HEADER
- LOG_ÜSTBILGISI
- DB_HEADER ( db_name ve db_path öğeleri kaydedilmez. conn_time öğesi CONTROL içinde kaydedilir.)
- Bölümlenmiş bir veritabanı ortamında, veriler yalnızca, çizelge alanlarının bulunduğu veritabanı bölümlerindeki hedef çizelgelere yazılır. Bir veritabanı bölümünde hedef çizelgeye ilişkin bir çizelge alanı yoksa, o hedef çizelgeye ilişkin veriler yok sayılır. Bu davranış, kullanıcıların yalnızca belirli veritabanı bölümlerinde var olan bir çizelge alanı yaratarak, izleme için veritabanı bölümlerinin bir alt kümesini seçmelerine olanak sağlar.
Bir Db2 pureScale ortamıiçinde, veriler her üyedende yazılır.
Bölümlenmiş veritabanı ortamında, bazı hedef çizelgeler bir veritabanı bölümünde bulunmuyorsa, ancak diğer hedef çizelgeler aynı veritabanı bölümünde bulunursa, yalnızca o veritabanı bölümünde bulunan hedef çizelgelere ilişkin veriler kaydedilir.
- Kullanıcıların tüm hedef çizelgeleri el ile budamaları gerekir.
- Bir çizelgedeki kolon adları, bir olay izleyicisi öğe tanıtıcısı ile eşleşir. Karşılık gelen bir hedef çizelge kolonu olmayan herhangi bir olay izleyicisi öğesi yoksayılır.
- Bir gruba ilişkin öğelerin tam listesini içeren bir CREATE EVENT MONITOR deyimi oluşturmak için db2evtbl komutunu kullanın.
- İzleme öğeleri için kullanılan kolon tipleri aşağıdaki eşlemelerle ilintilendiriliyor:
SQLM_TYPE_STRING CHAR[n], VARCHAR[n] or CLOB(n) (If the data in the event monitor record exceeds n bytes, it is truncated.) SQLM_TYPE_U8BIT and SQLM_TYPE_8BIT SMALLINT, INTEGER or BIGINT SQLM_TYPE_16BIT and SQLM_TYPE_U16BIT SMALLINT, INTEGER or BIGINT SQLM_TYPE_32BIT and SQLM_TYPE_U32BIT INTEGER or BIGINT SQLM_TYPE_U64BIT and SQLM_TYPE_64BIT BIGINT sqlm_timestamp TIMESTAMP sqlm_time(elapsed time) BIGINT sqlca: sqlerrmc VARCHAR[72] sqlstate CHAR[5] sqlwarn CHAR[11] other fields INTEGER or BIGINT - Kolonlar NOT NULL (boş değerli değil) olarak tanımlanır.
- Diğer hedef tablolardan farklı olarak, CONTROL tabloundaki sütunlar, izleyici öğesi tanıtıcılarıyla eşleşmiyor. Kolonlar aşağıdaki gibi tanımlanır:
Sütun Adı Veri tipi Boş Değer Verilebilir Tanım PARTITION_KEY INTEGER N Dağıtım anahtarı (yalnızca bölümlenmiş veritabanı) BöLüM_NO INTEGER N Veritabanı bölümü numarası (yalnızca bölümlenmiş veritabanı) EVMONADı VARCHAR (128) N Olay izleyicisinin adı İLETİ VARCHAR (128) N MESSAGE_TIME sütununun niteliyi açıklar. Daha fazla ayrıntı için bkz. message-Control Table Message Monitor öğesi
MESSAGE_TIME TIMESTAMP N Zaman damgası - Bölümlenmiş bir veritabanı ortamında, her çizelgenin ilk kolonu PARTITION_KEY, NOT NULL, ve INTEGER tipinde. Bu kolon, çizelge için dağıtım anahtarı olarak kullanılır. Bu sütunun değeri, her olay izleme işleminin işlemin çalıştığı üyeye veri eklemesi için seçilir; yani, ekleme işlemleri, olay izleyicisi işleminin çalıştırıldığı üye üzerinde yerel olarak gerçekleştirilir. Herhangi bir veritabanı bölümünde, PARTITION_KEY alanı aynı değeri içerir. Başka bir deyişle, bir veritabanı bölümü atılırsa ve veri yeniden dağıtımı gerçekleştirilirse, atılan veritabanı bölümündeki tüm veriler, eşit dağıtılması yerine, diğer bir veritabanı bölümüne geçecektir. Bu nedenle, bir veritabanı bölümünü kaldırmadan önce, o veritabanı bölümündeki tüm çizelge satırlarını silmeyi deneyin.
- Bölümlenmiş bir veritabanı ortamında, her çizelge için PARTITION_NUMBER adında bir kolon tanımlanabilir. Bu kolon NOT NULL (boş değerli değil) ve INTEGER tipinde. Bu, verilerin eklendiği veritabanı bölümünün numarasını içerir. PARTITION_KEY kolonunun tersine, PARTITION_NO kolonu zorunlu değildir. Bölümlenmemiş veritabanı ortamında PARTITION_NO kolonunun kullanılmasına izin verilmez.
- Varsayılan tablo öznitelikleri kullanılır. Dağıtım anahtarı dışında (yalnızca bölümlenmiş veritabanları), çizelge yaratılırken fazladan seçenek belirlenmez.
- Çizelgeye ilişkin dizinler yaratılabilir.
- Ek çizelge öznitelikleri (uçucu, RI, tetikleyiciler, koşullar, vb. gibi) eklenebilir, ancak olay izleyicisi işlemi (ya da iş parçacığı) bunları yoksayar.
- "logged initially" not bir çizelge özniteliği olarak eklenirse, ilk COMMIT (COMMIT) konumunda kapatılır ve yeniden açılmaz.
- Bir olay izleyicisi etkinleştirilirse, SYSCAT.EVENTTABLES katalog görünümünden tüm hedef çizelge adları alınır.
- Bölümlenmiş veritabanı ortamında, etkinleştirme işlemleri, yönetim ortamının her üyesinde oluşur. Belirli bir üyeyeilişkin etkinleştirme işlemleri, her hedef çizelgeye ilişkin çizelge alanlarını ve veritabanı bölümü gruplarını belirler. Olay izleyicisi, o veritabanı bölümünde en az bir hedef çizelge varsa, yalnızca veritabanı bölümünde etkinleştirilir. Ayrıca, bir veritabanı bölümünde bazı hedef çizelge bulunamazsa, bu hedef çizelge işaretlenir, böylece yürütme sırasında o çizelge için yazılmış veriler atılır.
- Olay izleyicisi etkinken (ya da bölümlenmiş veritabanı ortamında, çizelge alanı bir veritabanı bölümünde bulunmuyorsa), bir hedef çizelge yoksa, etkinleştirme devam eder ve başka bir şekilde bu çizelgeye eklenebilecek veriler yoksayılır.
- Etkinleştirme işleme, her hedef çizelgenin geçerliliğini denetler. Geçerlilik denetimi başarısızlıkla sonuçlanırsa, olay izleyicisinin etkinleştirilmesi başarısız olur ve iletiler denetim günlüğüne yazılır.
- Bölümlenmiş bir veritabanı ortamında etkinleştirme işlemi sırasında, FIRST_CONNECT ve EVMON_START için CONTROL çizelge satırları yalnızca katalog veritabanı bölümüne eklenir. Bu, denetim çizelgesine ilişkin çizelge alanının katalog veritabanı bölümünde var olmasını gerektirir. Katalog veritabanı bölümünde yoksa, bu eklemeler gerçekleştirilmez.
- Bölümlenmiş bir veritabanı ortamında, bir çizelge olayı izleme programı etkinleştirildiğinde bir member henüz etkin değilse, olay izleyicisi member sonraki etkinliğini etkinleştirdiğinde etkinleştirilir.
- Bir olay izleyicisi DATAACCESS yetkisiyle çalışır.
- Bir olay izleyicisi etkin olduğunda, hedef çizelgeye bir araya ekleme işlemi başarısız olur:
- Kesinleştirilmemiş değişiklikler geriye işlenir.
- Denetim günlüğüne bir ileti yazıldı.
- Olay izleyicisi devre dışı bırakıldı.
- Bir olay izleyicisi etkinse, bir olay izleyicisi arabelleğini işlemeyi bitirdiğinde yerel bir COMMIT işlemi gerçekleştirir.
- Bölümlenmiş veritabanı ya da Db2 pureScale ortamı dışındaki bir ortamda, son uygulama sona erdiğinde (ve veritabanı belirtik olarak etkinleştirilmemiş olduğunda) çizelge olayı izleyicisine yazma işlemi geçersiz kılınır.
Bir Db2 pureScale ortamında, member durduğunda ve member yeniden başlatıldığında, belirli bir üyeye ilişkin çizelge olayı izleyicisine yazma işlemi geçersiz kılınır ve bu izleme programı geçersiz kılınır.
Bölümlenmiş veritabanı ortamında, katalog bölümü devre dışı bırakıldığında, çizelge olayı izleyicisine yazma devre dışı bırakılır.
- DROP EVENT MONITOR deyimi hedef çizelgeleri bırakmıyor.
- Bir çizelgeye yazma olayı izleme programı etkinken, olay izleyicisi etkin durumdayken bunların değiştirilmemesi için her hedef çizelgede çizelge kilitleri edinilir. Olay izleyicisi etkinken çizelge kilitleri tüm çizelgelerde tutulur. Hedef çizelgelerde (örneğin, bir yardımcı program çalıştırılacaksa) herhangi biri için dışlayıcı erişim gerekiyorsa, bu tür erişimi denemeden önce, olay izleyicisinin çizelge kilitlerini serbest bırakmak için önce olay izleyicisini devre dışı bırakın.
- Sözdizimi alternatifleri: Aşağıdaki sözdizimi alternatifleri, önceki Db2 sürümleriyle ve diğer veritabanı ürünleriyle uyumluluk için desteklenir. Bu seçenekler standart dışıdır ve kullanılmamalıdır.
- DB2_ENFORCE_MEMBER_SYNTAX kayıt değişkeni ON olarak ayarlandığında, DBPARTITIONNUM ya da NODE, ÜYE yerinde belirtilebilir.
- Commas can be used to separate multiple options in the hedef-çizelge-seçenekleri clause
Örnek
CREATE EVENT MONITOR DBACTIVITIES
FOR ACTIVITIES
WRITE TO TABLE
ACTIVITY (TABLE ACTIVITY_DBACTIVITIES
IN USERSPACE1
PCTDEACTIVATE 100),
ACTIVITYMETRICS (TABLE ACTIVITYMETRICS_DBACTIVITIES
IN USERSPACE1
PCTDEACTIVATE 100),
ACTIVITYSTMT (TABLE ACTIVITYSTMT_DBACTIVITIES
IN USERSPACE1
PCTDEACTIVATE 100),
ACTIVITYVALS (TABLE ACTIVITYVALS_DBACTIVITIES
IN USERSPACE1
PCTDEACTIVATE 100),
CONTROL (TABLE CONTROL_DBACTIVITIES
IN USERSPACE1
PCTDEACTIVATE 100)
AUTOSTART;