老大,这个标题太广了!!
你需要逻辑备份/恢复,还是物理备份/恢复?逻辑可以用 exp 进行备份,imp 进行恢复,如果你可以容忍一定数量的数据丢失。程序里可以调用\ORACLE_HOME\bin\exp.exe,具体的查看 oracle 文档中的“utility ==> export”。建议还是自己看 oracle 文档。
你需要逻辑备份/恢复,还是物理备份/恢复?逻辑可以用 exp 进行备份,imp 进行恢复,如果你可以容忍一定数量的数据丢失。程序里可以调用\ORACLE_HOME\bin\exp.exe,具体的查看 oracle 文档中的“utility ==> export”。建议还是自己看 oracle 文档。
说白了还是调用exp和imp
procedure TDBBackUpForm.BtBStartClick(Sender: TObject);
var
Cmd: String;
begin
Cmd := 'exp '+ EditUser.Text +'/'+ EditPass.Text +'@'+ EditServer.Text;
Cmd := Cmd + ' FILE=' + EditPath.Text;
Cmd := Cmd + ' LOG=' + EditPath.Text+'EXP_LOG_'+DateToStr(now);
if Trim(EditOwner.Text)<>'' then
Cmd := Cmd + ' OWNER=' + EditOwner.Text; try
try
WinExec(PChar(Cmd), SW_NORMAL);
except
Application.MessageBox(Pchar('数据库备份失败,请与系统管理员联系!'),'错误提示',MB_ICONSTOP);
Exit;
end;
finally
Application.MessageBox(Pchar('数据库备份成功!'),'系统提示',MB_OK);
end;