Veritabanları ve şema yükseltme
YTCC verilerini birkaç PostgreSQL veritabanında tutar. Yeni bir YTCC sürümü kurduğunuzda veritabanlarının programların sürümüne getirilmesi gerekir. YTCC bunu bir program bir veritabanına bağlanırken hiçbir zaman yapmaz; bunu kurulum programı ve ana sayfa, her biri önce yedek alarak yapar.
Veritabanları
| Veritabanı | v15 çizgisindeki adı | Tuttukları |
|---|---|---|
| Kayıt defteri | scada_v15_registry | Projelerin ve veritabanlarının listesi |
| Proje veritabanı | scada_v15_proj_<proje> | Bir projenin sürücüleri, cihazları, sinyalleri, alarmları, alanları ve bölgeleri |
| Tarihçe veritabanı | scada_v15_hist_<proje> | Bir projenin arşivlenmiş değerleri ve alarm kayıtları |
Her sürüm çizgisinin kendi öneki vardır, örneğin 1.6 çizgisi için scada_v16_. 63 karakterden uzun adlar sonlarına
kısa bir kod eklenerek kısaltılır. Sürüm çizgileri öncesinden erken bir kurulum öneksiz adları kullanır, örneğin
scada_registry ve scada_proj_<proje>.
Başlamadan önce
- Projeleri ana sayfada yedekleyin; bkz. Yedekleme ve geri yükleme. Şema yükseltmesi geri alınamaz.
Adımlar
1. Kurulum programıyla yükseltin
Daha yeni bir sürümün kurulum programı YTCC'yi yükseltirken, YTCC dururken kayıt defterini ve her projeyi yükseltir. Her
proje önce kurulum klasöründe data\backups\yukseltme-<zaman>\ altına yedeklenir; veritabanı yalnız yedek alındıysa
yükseltilir. Bkz. Kurulum programıyla yükseltme.
2. Bir projeyi ana sayfada yükseltin
Kurulum programının yükseltmediği bir proje ya da eski bir yedekten içe aktarılmış bir proje, ana sayfanın proje listesinde Upgrade needed (Türkçe arayüzde: Yükseltme gerekiyor) gösterir. Çalışıyorsa durdurun, sağ tıklayıp Upgrade…'ı (Yükselt…) seçin ve Back up and upgrade (Yedekle ve yükselt) ile onaylayın. YTCC önce tam yedek alır ve veritabanını yalnız yedek alındıysa yükseltir; sonuç eski ve yeni şemayı ve yedeği söyler. Bkz. Ana sayfadan proje yükseltme.
Sonuç
Kayıt defteri ve proje veritabanları kurulu programların şemasına sahiptir; proje listesi hiçbir Upgrade needed göstermez.
Tarihçe veritabanları
Yükseltme tarihçe veritabanlarını değiştirmez. Değişiklik uyumluysa tarihçe yazıcısı tarihçe veritabanını kendisi yükseltir. Tarihçe veritabanı farklı bir ana sürüme aitse tarihçe yazıcısı durur ve yeniden başlatılmaz; o tarihçeyi yazan YTCC sürümünü kullanın.
Bir veritabanı programlara uymadığında
Farklı şema sürümlü bir veritabanına bağlanan program onunla çalışmayı reddeder:
- Veritabanı daha eskiyse ana sayfadaki Upgrade… ile yükseltin.
- Veritabanı programdan yeniyse daha yeni bir YTCC sürümü onu zaten yükseltmiştir. YTCC'yi o sürüme ya da daha yenisine güncelleyin.
Proje listesi eski bir proje veritabanı için Upgrade needed, daha yenisi için Newer version (Daha yeni sürüm) gösterir. Konfigürasyon editöründe bu Project database is incompatible with this version (Türkçe arayüzde: Proje veritabanı bu sürümle uyumsuz) olarak görünür. Eski veritabanlı bir projeyi ana sayfada başlattığınızda sürücüleri başlamaz ve Upgrade …? penceresi doğrudan açılır; daha yeni bir veritabanı için ana sayfa, projeyi kaydeden YTCC sürümünü ya da daha yenisini kurmanızı isteyen bir bildirim gösterir.
PostgreSQL bağlantıları
Her YTCC süreci veritabanı başına küçük tek bir bağlantı havuzu tutar ve bağlantıyı yalnız gerektiğinde açar. Bir sürücü havuz başına en çok 2 bağlantı kullanır ve 5 saniye kullanılmayan bağlantıyı kapatır; süreç yöneticisi, canlı veri sunucusu, proje köprüsü ve alarm servisi gibi servisler en çok 6 bağlantı kullanır ve 60 saniye sonra kapatır. Bir bağlantı için 10 saniyeden uzun bekleyen süreç gerçek nedeni günlüğüne yazar, örneğin PostgreSQL'de boş bağlantı kalmadığını.
Processes sekmesindeki PostgreSQL connections kartı kullanılan bağlantıları sunucunun sınırına karşı ve en çok
bağlantı tutan uygulamaları gösterir; YTCC süreçleri ytcc:<program>, sürücüler ayrıca sürücü anahtarıyla, örneğin
ytcc:driver-iec101:iec101_01, görünür. Bkz. Günlükler ve tanılama.
Bir proje başlarken süreç yöneticisi süreçlerinin en çok kaç bağlantı kullanabileceğini hesaplar ve sunucunun boş
bağlantılarıyla karşılaştırır. Sınıra ulaşılabilecekse bir uyarı yazar; proje yine başlar. Bağlantı sınırı PostgreSQL
sunucusunun postgresql.conf dosyasındaki max_connections değeridir, varsayılanı 100. Onu orada artırın ya da YTCC
süreçlerinin havuz boyutunu küçültün; ikisi de kurulumun desteğine ait ayarlardır (bkz.
scada-manager komutları).
Bilmekte fayda var
- Komut satırında
scada-manager migrate --registryvescada-manager migrate <proje>aynı veritabanlarını yükseltir; bkz. scada-manager komutları. Bunları yalnız destek istediğinde kullanın.