C#备份oracle数据库

来源:互联网 发布:淘宝多隆 编辑:程序博客网 时间:2024/05/29 16:22

数据库备份:
string strexp = “exp 数据库用户名/密码@数据库TNS full=y log= ‘日志文件路径’ file=’备份文件路径’”
数据库还原:
string strexp = “imp 数据库用户名/密码@数据库TNS full=y file=’还原文件路径’”

数据库备份
exp system/123456 owner=scott file=d:\scott.dmp;
删除用户及其数据
drop user scott cascade;
数据库恢复
imp system/123456 file=d:\scott.dmp fromuser=scott touser=scott;

public static bool DBBackup(string dmpFileName, string logFileName) 

 // 返回值  
 bool result = false; 
 // 备份命令,从xml文件中获取 “/c EXP 用户名/密码@数据库服务名 FULL=Y INCTYPE=COMPLETE “  
 string backupCmd = MsgXml.GetConfig(XMLKey.BackupCommand.ToString()); 
 // cmd中输入的参数内容  
 string arg = backupCmd + ” FILE= ” + dmpFileName + ” LOG= ” + logFileName; 
 try 
 { 
  // 如果dmp文件不存在,创建文件并释放  
  if (!File.Exists(dmpFileName)) 
  { 
   File.Create(dmpFileName).Dispose(); 
  } 
  // 如果log文件不存在,创建文件并释放  
  if (!File.Exists(logFileName)) 
  { 
   File.Create(logFileName).Dispose(); 
  } 
  // 开启新进程  
  Process process = new Process(); 
  // 打开运行cmd  
  process.StartInfo.FileName = “cmd.exe”; 
  // 要运行的命令  
  process.StartInfo.Arguments = arg; 
  // 关闭shell的使用  
  process.StartInfo.UseShellExecute = false; 
  // 重定向标准输入  
  process.StartInfo.RedirectStandardInput = true; 
  process.StartInfo.RedirectStandardError = true; 
  // 设置不显示cmd运行界面  
  process.StartInfo.CreateNoWindow = true; 
  // 启动进程  
  process.Start(); 
  // TODO 进程条 正在备份,请稍候…  
  process.WaitForExit(); 
  process.Dispose(); 
  result = true; 
  // 日志文件  
  LogHelper.info(arg); 
 } 
 catch (Exception ex) 
 {  
  // 错误日志  
  LogHelper.error(ex.Message); 
 } 
 return result; 
}

原创粉丝点击