老大,这个标题太广了!!
你需要逻辑备份/恢复,还是物理备份/恢复?逻辑可以用 exp 进行备份,imp 进行恢复,如果你可以容忍一定数量的数据丢失。程序里可以调用\ORACLE_HOME\bin\exp.exe,具体的查看 oracle 文档中的“utility ==> export”。建议还是自己看 oracle 文档。

解决方案 »

  1.   

    delphi中
    说白了还是调用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;