Firebird vt backup almak nasıl bir yol?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Firebird vt backup almak nasıl bir yol?
programımda kullandıgım firebird veritabanının backup'ını belirli saatlerde almak icin nasıl bir yontem izlemeliyim?
fdb dosyasının direk kopyasaını almak saglıklı bir cozum mu?
yoksa ibx bilesenlerinden ibbackupservice ile mi yapacagım?
fdb dosyasının direk kopyasaını almak saglıklı bir cozum mu?
yoksa ibx bilesenlerinden ibbackupservice ile mi yapacagım?
ÜŞENME,ERTELEME,VAZGEÇME
merhaba gökmen bey
şair amcanın öğrettiği bir yöntem var.
interbase de
create shadow 1 auto 'c:\Yedek\yedek.gdb'
ile aynı dike online yedek alıyordu. Yani heran veritanaından iki kopya oluyor.
farklı bir diske almak için ise
create shadow 1 auto '\\192.168.0.3\C\Yedek\yedek.gdb'
şeklinde yada makina ismi verilebilir. Kolay gelsin
şair amcanın öğrettiği bir yöntem var.
interbase de
create shadow 1 auto 'c:\Yedek\yedek.gdb'
ile aynı dike online yedek alıyordu. Yani heran veritanaından iki kopya oluyor.
farklı bir diske almak için ise
create shadow 1 auto '\\192.168.0.3\C\Yedek\yedek.gdb'
şeklinde yada makina ismi verilebilir. Kolay gelsin
Boş Başak Dik Durur...
Santranç bitince şah da piyon da aynı torbaya girermiş...
Santranç bitince şah da piyon da aynı torbaya girermiş...
bu islem surekli insert yapacagım icin isletimi yavaslatır diye dusunuyorum.
o yuzden ayarlanabilien bir zamanda otomatik backup alsın
arama yapınca nasıl backup alınacagına dair bilgiler buldum
lakin backup aldıgım dosya boyutu database yanında cok kucuk (20-30 kb)
simdi databasede bir bozulma oldugunda en son yedekten donmek icin ne yapmak lazım?
aklıma sıfır bir db olusturup backup dosyasını bunun uzerine restore etmek geliyor
acaba bu sekildemi yapılıyor.
ayrıca arama sonucu
viewtopic.php?t=2220&highlight=ibbackupservice
viewtopic.php?t=1928&highlight=ibbackupservice
viewtopic.php?t=302&highlight=ibbackupservice
her zaman arama derken atladık sazan gibi
o yuzden ayarlanabilien bir zamanda otomatik backup alsın
arama yapınca nasıl backup alınacagına dair bilgiler buldum

lakin backup aldıgım dosya boyutu database yanında cok kucuk (20-30 kb)
simdi databasede bir bozulma oldugunda en son yedekten donmek icin ne yapmak lazım?
aklıma sıfır bir db olusturup backup dosyasını bunun uzerine restore etmek geliyor
acaba bu sekildemi yapılıyor.
ayrıca arama sonucu
viewtopic.php?t=2220&highlight=ibbackupservice
viewtopic.php?t=1928&highlight=ibbackupservice
viewtopic.php?t=302&highlight=ibbackupservice
her zaman arama derken atladık sazan gibi

ÜŞENME,ERTELEME,VAZGEÇME
hocam bir de bu linkte bazı programlar var
Backup Watcher for Interbase v2.0.1 baya iyi gibi görünüyor ama denemedim.
viewtopic.php?t=1844
Backup Watcher for Interbase v2.0.1 baya iyi gibi görünüyor ama denemedim.
viewtopic.php?t=1844

ben bunu kullanıyorum program çıkışında yedek almaya zorluyorum..
sizde bir timerla isterseniz alabilirsiniz sanırım.
sSecondFileName eğer ikinci dosyayı uzak bir pc seçerseniz ikinci yedeği sağlama alıyorum...
sizde bir timerla isterseniz alabilirsiniz sanırım.
sSecondFileName eğer ikinci dosyayı uzak bir pc seçerseniz ikinci yedeği sağlama alıyorum...
Kod: Tümünü seç
procedure TSistPrmForm.BtnYedekleClick(Sender: TObject);
var
gun, ay, yil : Word;
sSecondFileName : string;
begin
if ..... OR (iOtoManMode <> MANUAL) then
begin
MessageDlg('Lütfen Yedekleme işlemini Manuel Durumda İken Yapınız...', mtWarning , [mbOk], 0);
Exit;
end;
DecodeDate(Date, yil, ay, gun);
sSecondFileName := 'data_'+IntToStr(gun) + '_' + IntToStr(ay) + '_' + IntToStr(yil)+'.gbk';
Memo1.Lines.Clear;
DBYedekle(sDBBackupFileName);
if CBSecondBackup.Checked then
DBYedekle(sSecondFileName);
end;
Kod: Tümünü seç
Procedure TSistPrmForm.DBYedekle(BackupFileName:string);
begin
with IBBackupService do
begin
LoginPrompt := False;
Params.Clear;
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active := True;
try
DatabaseName := sDBFileName;
BackupFile.Clear;
BackupFile.Add(sDBBackupFilesDir + BackupFileName);
Memo1.Lines.Add('Yedekleme işlemi başlıyor.');
Memo1.Lines.Add('Dosya: '+ sDBBackupFilesDir + BackupFileName);
ServiceStart;
While not Eof do
Memo1.Lines.Add(GetNextLine);
finally
Active := False;
end;
end;
end;
databasae check olayını yaptıktan sonra eğer hata varsa database recovery yapsınmı diye sooruyor evet ise kullanıcı kurtar derse kurtarıyor ve tekrar check olmadı eyvallah kapat 
sleep i koymayınca bende problem yarattı..
bende kasmadım zaten 2 saniyeden ne olacak dimi 

Kod: Tümünü seç
{BURADA CHECK ALL ...}
if NOT CheckAll then
begin
iAnswer:= MessageDlg('Program Veri tabanında hata tespit etti!'+#13+
'Verilerin yedeklerden geri alınmasını istermisiniz?',mtError,[mbYes, mbNo], 0);
if iAnswer = mrYES then
begin
DatabaseRecover;
if NOT CheckAll then
begin
iAnswer:= MessageDlg('Veritabanı geri kurtarma işlemi başarısız oldu.'+#13+
'Programı veritabanı desteği olmadan Başlatmak istermisiniz',mtError,[mbYes, mbNo], 0);
if iAnswer = mrYES then
Exit
else
Halt;
end;{if NOT Check}
end
else
Exit; {if iAns..}
end;{if NOTCheck}
Kod: Tümünü seç
Procedure TfmDataBase.DataBaseRecover;
begin
with IBRestoreService do
begin
LoginPrompt := False;
Params.Clear;
Params.Add('user_name=sysdba');
Params.Add('password=masterkey');
Active := True;
try {finally}
try {except}
DatabaseName.Clear;
BackupFile.Clear;
DatabaseName.Add(sDBFileName);
BackupFile.Add(sDBBackupFilesDir + sDBBackupFileName);
ServiceStart;
//While not Eof do Memo2.Lines.Add(GetNextLine);
except
{Do Nothing}
end;
finally
Active := False;
Sleep(2000);
end;
end;
end


backup islemini yaparken
ekledigimde bir muddet calısıyor sonra ekrana
"error reading data from the connection" diye bir mesaj veriyor
ama backup dosyası olusuyor
ibexpert ile tekrar bu backuptan restore yapıp yeni bir db olusturabiliyorum
bir problem yok gibi gorunuyor ama su hata mesajına gıcık oldum
Kod: Tümünü seç
While not Eof do
Memo1.Lines.Add(GetNextLine);
"error reading data from the connection" diye bir mesaj veriyor
ama backup dosyası olusuyor
ibexpert ile tekrar bu backuptan restore yapıp yeni bir db olusturabiliyorum
bir problem yok gibi gorunuyor ama su hata mesajına gıcık oldum
ÜŞENME,ERTELEME,VAZGEÇME
log yazma satırlarını kaldırınca problem yok
ama bunu ekleyince
sapıtıyor.
neyse pekte onemli degil
boyle de is gorur
ama bunu ekleyince
Kod: Tümünü seç
While not Eof do
Memo1.Lines.Add(GetNextLine);
neyse pekte onemli degil
boyle de is gorur
ÜŞENME,ERTELEME,VAZGEÇME