Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Firebird Uzak veritabanı yedekleme
#1
Geçenlerde firebird veritabanının yedeğini uzaktaki bir bilgisayardan almam gerekiyordu teamwiever ile bağlanıp alırım dedim ama bağlanamadım teamwiever hata vermiyordu ama ekranda gelmiyordu.
Veritabanına uzaktan bağlanabiliyordum ama yedeği kendi bilgisayarıma alamıyordum biraz araştırdıktan sonra uzaktaki makinede başka bir klasöre yedek alabileceğimi öğrendim uzaktaki bilgisayarda yandex disk kuruluydu
eğer veritabanı yedeğini E:\YANDEX\YEDEK\ klasörüne alabilirsem yandex dosyayı buluta kopyalayacak ve bende indirebilecektim.

başlat-çalıştır-cmd
gelen ekranda
"C:\Program Files (x86)\Firebird\Firebird_2_5\bin\gbak" -b -service 152.155.uzakipadresimdevami: service_mgr C:\PROGRAM\DATA\datam.fdb E:\YANDEX\YEDEK\BACKUP.FBK -user SYSDBA -pass masterkey

komutunu girdikten sonra veritabanı yedeğim istediğim gibi yandex senkronizasyon klasörüne kopyalanmış oldu bir müddet sonra bende disk hesabından yedeği indirebilmiştim.

“Do. Or do not. There is no try.”
Cevapla
#2
Bilgi için teşekkür ederiz, benim de eklemek istediklerim var müsaadenizle ;

Bu şekilde yedekleme Firebird'ün güzelliklerinden birisidir. SQL Server'da uzak bilgisayara yedek aldırmak için bin bir takla atmanız gerekir çünkü yedeği kendi yüklü olduğu bilgisayara alır. Firebird'de bu mümkün, fakat dışarıdan veritabanına erişip yedek alabilmek için modemden ve güvenlik duvarından 3050 portunun açık olması gerekir.

Aynı zamanda kullandığınız çoğu parametreye de gerek yok, şu şekilde basit bir kullanım da işinizi görebilir :

gbak -v -user SYSDBA -password masterkey UZAKIPADRESI:c:\data\data01.fdb e:\yedek\data_yedek.bak

-v parametresi yedek alınma sırasında alıştığımız şekilde ekrana adım adım işleyişi de yazar. İsterseniz onu da kullanmayabilirsiniz. Böylece ekrana herhangi bir şey yazmadan yedeği alır bitirir.
Sizin kullandığınız -b parametresi de zaten varsayılan bir parametredir, istenirse o da yazılmayabilir.

Geri yükleme için de aynı şeyleri söyleyebiliriz, yine komut satırında iken

gbak -r o -v -user SYSDBA -password masterkey e:\yedek\data_yedek.bak UZAKIPADRESI:c:\data\data01.fdb

yazdığımızda, aynı yere veritabanını restore edecektir. Buradaki parametreler ise şöyle :

-r : replace veya recreate anlamında kullanılıyor. "o" parametresi ile birlikte kullanılır. Overwrite anlamındadır. Veritabanını yeniden oluşturur ve varolan dosyanın üzerine yazar.
Eğer farklı bir veritabanı ismi ile restore edecekseniz komut satırında "o" yazmanıza gerek yoktur.

-v parametresi ise yine yukarıda değindiğimiz gibi restore işlemini adım adım ekranda gösterir. "Verbose" anlamındadır. İstenirse yazılmayabilir.

Faydalı olması dileğiyle.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#3
Bilgi için teşekkürler hocam sayenizde çok şey öğrendim firebirdle ilgili

“Do. Or do not. There is no try.”
Cevapla
#4
(03-03-2017, Saat: 15:22)masteryoda Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlBilgi için teşekkürler hocam sayenizde çok şey öğrendim firebirdle ilgili

Rica ederim, faydalı olabildiysem ne mutlu. Allah bize öğrenmeyi nasip ettiyse, bize de bilgimizin zekatını vermek düşer Smile

Şimdi aklıma geldi, bir ipucu eklemek istedim. Yedek alırken, yedek dosyasının adını belirtirken DOS komutlarından DATE'yi kullanırsanız, dosya adına o günün tarihini de ekleyecektir. Şöyle ki, yedek aldığınız yukarıdaki komutu bir MS-DOS .BAT dosyasının içine yazarsanız, komutu da aşağıda gibi değiştirirseniz :

gbak -v -t -user SYSDBA -password masterkey localhost:c:\data\data01.fdb e:\yedek\DATA01_%date%_YEDEK.bak

ve bu oluşturduğunuz bu .BAT dosyasını da Windows'un Görev zamanlayıcı'sı içinde belirli bir saatte çalışacak şekilde temel bir görev oluşturursanız güzel bir yedekleme sistemi bile yapabilirsiniz Smile

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#5
@echo off

: DurmadanDon

if "%TIME:~3,2%"=="01" gbak -v -t -user SYSDBA -password masterkey localhost:c:\data\data01.fdb e:\yedek\DATA01_%date%_YEDEK.bak


goto DurmadanDon



herhangi bir saati 01 geçe çalışacak bat dosyası tabi kapatılırsa çalışmayacak Smile

“Do. Or do not. There is no try.”
Cevapla
#6
Elinize sağlık @masteryoda, ama .bat dosyasını süreki açık tutmak ve sürekli çalıştırmak yerine, her saat başı çalışacak bir windows görev zamanlayıcısı hazırlasan sanki daha iyi olur gibi Smile

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#7
(04-03-2017, Saat: 08:28)ramazan_t Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlElinize sağlık @masteryoda, ama .bat dosyasını süreki açık tutmak ve sürekli çalıştırmak yerine, her saat başı çalışacak bir windows görev zamanlayıcısı hazırlasan sanki daha iyi olur gibi Smile

Çok hazırcıyım Big Grin  sayın yusuf akgül yazdığı programı kullanıyorum Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

“Do. Or do not. There is no try.”
Cevapla
#8
Smile

Ben de çoğu zaman FIBS kullanıyorum. Hatırlayanlar olacaktır, Talat Doğan'ın FIBS diye bir yazılımı vardı. Onun bende kaynak kodları var, istediğim özellikleri ekledim istemediğim özellikleri kaldırdım biraz da görselliğini kullanışlılığını artırdım. Çoğu yerde onu kullanıyorum.

Ama geçenlerde bir uzun yol seyahatinde mola verdiğimiz yerin müşterimiz olduğunu fark edince bir yanına uğrayım çayını içeyim dedim. Sohbet sırasında yedekleme ihtiyacından bahsetti. O anda yanımda USB belleklerim olmadığı için, yukarıdaki gibi bir BAT dosyası hazırlayıp Windows görev zamanlayıcısı içine her saat başında çalışacak şekilde ayarladım ve işimi görmüş oldum.

Yani bu tip yedek almayı da öğrenmek lazım hocam, bazen lazım oluyor Smile

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#9
O kadar anlattık, bari tamamına erdirelim. Önceki mesajlarımızda DOS ortamından GBAK ile yedek almayı anlatmıştık. Bugün yedeklerin sıkıştırılarak arşivlenmesini de anlatalım tam olsun. Şimdi malumunuz GBAK ile alınan yedekler .FBK veya .BAK gibi biz nasıl uzantı verirsek o uzantı ile yedek alınabiliyor, fakat yedek dosyasının boyutu yine de büyük şekilde olabiliyor. Eğer bilgisayarınızda WinRAR kurulu ise, ki çoğu kişide yüklü olduğunu sanıyorum, yedeklerimizi sıkıştırarak alabiliriz. Aşağıdaki resimdeki gibi WinRAR'ın klasörünü Windows'ta PATH'e ekledikten sonra DOS ortamından da WinRAR komutlarını kullanabiliyoruz.

vEiyYToJQb.jpg

WinRAR artık DOS penceresinden kullanılabilir olunca, yedekleme için aşağıdaki gibi bir BAT dosyası oluşturabilirsiniz :

@echo off
cls
gbak -v -t -user SYSDBA -password masterkey localhost:c:\data\data01.fdb e:\yedek\DATA01_%date%_22_00.bak
rar a -ep -ed -df e:\yedek\DATA01_%date%_22_00.rar e:\yedek\DATA01_%date%_22_00.bak
exit

Burada, RAR komutu ile, oluşan BAK dosyasını sıkıştırarak önceki dosya adı ile aynı isimde sıkıştırıp yine aynı yere kopyalamasını, ve sıkıştırma işlemi sorunsuz tamamlandıktan sonra eski BAK dosyasını silmesini söylüyoruz. Bu şekilde olduğu zaman dosya boyutlarından inanılmaz tasarruf edebilirsiniz. Deneyip görmenizi tavsiye ederim Smile

Faydalı olması dileğiyle.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#10
Firebird veritabanının yedeklenmesi ile ilgili ufak ama önemli bir bilgi paylaşayım,
Bazı kullanıcılar CD veya DVD ortamına yedek almaya devam ediyorlar. Eğer veritabanını .BAK uzantılı backup olarak değil de, normal kopyalama yöntemi ile .FDB uzantısı ile kopyalarak CD veya DVD'ye yazarsanız, sonradan o veritabanını kullanamayabilirsiniz. Çünkü veritabanı dosyası CD üzerine yazılırken dosya formatı değişiyor ve tekrar hard diske atıldığında format farklılıkları yüzünden veritabanına erişemiyorsunuz. Sanırım CDFS denilen, hard disklerdeki NTFS partition 'ın bir benzeri olan formata dönüşüyor.
O yüzden doğrudan kopyalayarak yedek alanlar hala varsa, USB bellek veya harici disk dışında kesinlikle başka ortamlara bu şekilde yedek almayın, başka alternatif yoksa, backup alarak .BAK uzantılı şekilde taşıyın.

VE : Çok sık başımıza gelen bir şey, veritabanına bağlı kullanıcılar varken kopyalama yapılırsa, ve o esnada kullanıcılar kayıt ekleme/güncelleme gibi işlemler yapıyorsa, veritabanınızın bozulma olasılığı %99.9

Firebird kullanan arkadaşların bilgisi olsun diye yazayım dedim, belki onlar da bunları tecrübe ederek öğrenmiş olabilirler ama bilmeyenlerin faydalanması için yazdım.
Dmitry Kouzmenko ve Dmitry Yemanov ile çalışmış , Eski IBSurgeon personeli, Kıdemli Firebird Kurtarma Uzmanı, Firebird Foundation bağışçısı...
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  firebird hakkında serhat 24 548 Dün, Saat: 16:11
Son Yorum: boreas
  Yeni Başlayanlar İçin Firebird Kurulumu ve Delphi FireDAC Ayarları DelphiCanR 11 1.325 22-02-2018, Saat: 12:40
Son Yorum: Ugur
  Firebird -arithmetic exception, numeric overflow masteryoda 11 1.275 26-01-2018, Saat: 17:39
Son Yorum: rmzgenius
  FireBird veri tabanını nereden indirebilirim? Coder 4 1.793 26-01-2018, Saat: 17:32
Son Yorum: rmzgenius
Question Firebird Kayıt Kilitleme masteryoda 4 270 20-12-2017, Saat: 09:59
Son Yorum: Abdullah ILGAZ



Konuyu Okuyanlar: 1 Ziyaretçi