Bu yazımızda sql server 2005 ile hayatımıza giren Instant File Initialization özelliğini anlatmaya çalışacağız. Kurulum esnasında bize öneri olarak sunulan bu özelliğin performans anlamında katkılarını örneklerle göreceğiz. Öncelikle bir veritabanı oluşturulduğunda, genişletildiğinde (auto growth) veya geri yüklendiğinde (restore) diskten alan talebinde bulunulur ve ilgili alan işletim sistemi tarafından kullanılmayan disk alanı ile doldurulur. Bu, disk üzerinde 0’larla doldurulması gereken bir işlem olup zaman alabilmektedir. IFI özelliği aktif olsaydı eğer sistemin belirli işlemler için alan ayırması gerektiğinde, data dosyaları için 0 ile doldurma işlemi yapılmadan istenilen alan tanımlanmış olacaktı. Böylece uzun zaman alacak işlemler kısa sürede tamamlanabilir. Ayrıca acil durumlarda kesinti süresi azaltılarak SQL Server performansında iyileştirme yapılır. Kurulum esnasında bu özelliği nasıl aktif edeceğimizi ve sonuçlarını görelim. Sql Server 2016’dan sonra kurulum aşamasında IFI aktif edilebilir. Bu noktada varsayılan olarak NT Service\MSSQLSERVER seçilebildiği gibi domain kullanıcısı da Account Name bölümüne girilebilmektedir. Burada dikkat edilmesi gereken nokta egitim\administrator kullanıcısının […]
Akadaşlar merhaba bu makalemizde Python tkinter kütüphanesinde RadioButton ve CheckButton widgetlarını anlatıyor olacağım. RadioButton Kullanımı, CheckButton Kullanımı ve Bunlarla İlgili İşlemleri anlatıyor olacağım. Ayrıca yukarıya bu konuyu anlattığım videoyu bırakıyorum şimdiden iyi seyirler ve iyi okumlar dilerim. 😉 RadioButton kulllanımı Python GUI uygulamalarında Radiobutton widgeti, kullanıcının belirli bir seçenek grubundan yalnızca bir seçeneği seçmesine olanak tanır. Radiobuttonlar birbirleriyle ilişkili gruplar halinde kullanılır ve kullanıcının sadece bir seçeneği işaretlemesini sağlar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import tkinter as tk pencere=tk.Tk() pencere.title("radio button örneği") pencere.geometry("300x300+500+500") def radioTikla(): cinsiyet_degeri=seciliCinsiyet.get() print("seçilen cinsiyet : "+cinsiyet_degeri) seciliCinsiyet=tk.StringVar() radioErkek=tk.Radiobutton(text="Erkek",value="Erkek",variable=seciliCinsiyet) radioErkek.pack() radioKadin=tk.Radiobutton(text="Kadın",value="Kadın",variable=seciliCinsiyet) radioKadin.pack() button=tk.Button(text="seçimi Gönder",command=radioTikla) button.pack() pencere.mainloop() |
Bu örnekte, Tkinter kütüphanesini içe aktardık ve radioTikla() adında bir fonksiyon tanımladık. Bu fonksiyon, radyo düğmelerinden herhangi birine tıklandığında çağrılacak olan işlevdir. Seçilen cinsiyetin değerini alır ve ” seçilen cinsiyet:” mesajıyla birlikte konsola yazdırır. Daha sonra bir pencere oluşturduk ve başlık olarak “radio button örneği”ni belirledik. StringVar() sınıfından bir nesne olan seciliCinsiyet tanımladık. Bu değişken, seçilen cinsiyetin değerini tutmak için kullanılacaktır. Sonra Radiobutton sınıfından iki adet radyo düğmesi oluşturduk. Her bir radyo düğmesi, farklı bir cinsiyet seçeneğini temsil […]
Bu yazımızdaki failover cluster manager içerisinde yer file share witness dosyasının başka bir konuma taşınması işlemini anlatacağız. File Share Witness ne işe yarar kısaca bahsedecek olursak; Cluster oylamasında çoğunluk sağlamaktır. Örneğin; 2 sunucu var diyelim 1’i düştü cluster çökedebilir çökmeyedebilir. Kararsız kalabilme ihtimali vardır. Witness, primary ve secondary olmak üzere toplam üç oy olur. Primary çökerse witness ve secondary kalır. Witness’ın oyu %50’den fazla olduğu için vereceği oy ile cluster çökmekten korunmuş olur. 1. ADIM: Önce file share witness kaldırma işlemini yapacağız. Always on cluster’da bulunan herhangi bir sunucu üzerinde Failover Cluster Manager’ı açıyoruz.(GÖRSEL-1) GÖRSEL-1 Cluster name üzerinde sağ tık-> More Actions -> Configure Cluster Quorum Settings’e tıklıyoruz. (GÖRSEL-2) GÖRSEL-2 Gelen ilk ekranda next seçeneğini tıkladıktan sonra GÖRSEL-3’te gelen ekranda, ilk defa file share witness kurar gibi “Select the quorum witness”ı seçip next diyoruz. GÖRSEL-3 Sonra gelen GÖRSEL-4’teki ekranda ise “Do not configure a quorum witness” seçeneği tıklayıp next […]
Bu yazıda Oracle Restart bileşeni olan srvctl (Server Control Utility) komutunu inceleyeceğiz. srvctl komutu Oracle GRID yazılımının kurulu ortamlarda bulunur ve özellikle RAC (Real Application Cluster) olmak üzere veritabanı, GRID bileşenlerini yönetmek için kullanılır. Srvctl komutu oracle kullanıcısı ile çalıştırılmalıdır. Sunucu tarafındaki komut olduğu için, komutu çalıştırabilmek adına öncelikle veritabanı sunucularına SSH bağlantısı yapılması gereklidir. İlk öğrenmemiz gereken komut, nasıl yardım alacağımız olmalıdır. -h parametresi ile srvctl’li çalıştırdığımızda yönetebileceğimiz tüm bileşenler ve onlara ait parametreler açıklamaları ile birlikte ekrana yazılır. Çıktısı uzun olduğu için bir kısmından sonrasını eklemeyelim.
1 2 3 4 5 6 7 8 9 10 11 |
srvctl -h Usage: srvctl {-version | -version -fullversion | -fullversion} Usage: srvctl config all Usage: srvctl add database -db <db_unique_name> -oraclehome <oracle_home> [-dbtype {RACONENODE | RAC | SINGLE} [-server "<server_list>"] [-instance <inst_name>] [-timeout <timeout>]] [-domain <domain_name>] [-spfile <spfile>] [-pwfile <password_file_path>] [-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY | FAR_SYNC}] [-startoption <start_options>] [-stopoption <stop_options>] [-startconcurrency <start_concurrency>] [-stopconcurrency <stop_concurrency>] [-dbname <db_name>] [-policy {AUTOMATIC | MANUAL | NORESTART | USERONLY}] [-serverpool "<serverpool_list>" [-pqpool <pq_server_pools>]] [-node <node_list>] [-diskgroup "<diskgroup_list>"] [-acfspath "<acfs_path_list>"] [-eval] [-fixed] [-css_critical {YES | NO}] [-cpucount <cpu_count>] [-memorytarget <memory_target>] [-maxmemory <max_memory>] [-defaultnetnum <network_number>] [-verbose] Usage: srvctl config database [-db <db_unique_name> [-all] | -serverpool <serverpool_name> | -home] [-verbose] Usage: srvctl start database -db <db_unique_name> [-startoption <start_options>] [-startconcurrency <start_concurrency>] [-node <node> | -serverpool "<serverpool_list>"] [-eval] [-verbose] Usage: srvctl stop database -db <db_unique_name> [-stopoption <stop_options>] [-stopconcurrency <stop_concurrency>] [-serverpool "<serverpool_list>"] [-drain_timeout <timeout>] [-force] [-eval] [-verbose] Usage: srvctl status database {-db <db_unique_name> {[-serverpool <serverpool_name>] | [-sid] [-home]} | -serverpool <serverpool_name> | -thisversion | -thishome} [-force] [-detail] [-verbose] . . . . . . . . . . . . . . . |
Yardımdan sonraki ilk komutumuz veritabanı durumunu kontrol etmek. Ancak buna ait yardım almak için öncelikle yardım komutunu çalıştıralım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
srvctl status database -h Displays the current state of the database. Usage: srvctl status database {-db <db_unique_name> {[-serverpool <serverpool_name>] | [-sid] [-home]} | -serverpool <serverpool_name> | -thisversion | -thishome} [-force] [-detail] [-verbose] -db <db_unique_name> Unique name for the database -serverpool <pool_name> Display information on nodes within server pool -sid Displays the SID of the Oracle instance running on this node -home Displays Oracle home of specified database -thisversion Display status of databases that are of the same Oracle product version as 'srvctl.' -thishome Display status of databases that are configured in this Oracle Home. -force Include disabled applications -detail Print detailed status information -verbose Verbose output -help Print usage |
Yardımdan görüleceği gibi db_uniqune_name (v$database view’inden) değeri VTPROD olan veritabanını aşağıdaki gibi kontrol edebiliriz. RAC ortamı için birden fazla instance olması durumunda tüm instance’lara ait durumları görebiliriz. Her bir node üzerine bağlanıp tek tek bakmaya gerek kalmaz.
1 2 3 |
srvctl status database -db VTPROD Instance VTPROD1 is running on node vtprod1 Instance VTPROD2 is running on node vtprod2 |
Tüm veritabanını değil, sadece […]