Ana içeriğe geç

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 defteriscada_v15_registryProjelerin 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​

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 --registry ve scada-manager migrate <proje> aynı veritabanlarını yükseltir; bkz. scada-manager komutları. Bunları yalnız destek istediğinde kullanın.