1
#region /*备份还原操作*/
/// <summary>
/// 备份
/// </summary>
/// <param name="username">用户名</param>
/// <param name="pwd">密码</param>
/// <param name="dbServer">数据库</param>
/// <param name="pathName">路径</param>
/// <param name="databaseFileName">备份的文件名</param>
/// <param name="appendCommand">备用参数</param>
/// <param name="logName">日志文件名</param>
/// <returns></returns>
public bool BackupORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = pathName+"\\"+sqlTextConfig;
#region /*XMLSQL角本生成*/
if (File.Exists(SQLTextFileName))
{
File.Delete(SQLTextFileName);
}
//备份库信息
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
WriteXMLUserSpaceConfig(dbentity);
#endregion
//exp userid=system/zhice@jc full=y INDEXES=n grants=y rows=y compress=N file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "EXP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
/// <summary>
/// 还原
/// </summary>
/// <param name="username">用户名</param>
/// <param name="pwd">密码</param>
/// <param name="dbServer">数据库</param>
/// <param name="pathName">路径</param>
/// <param name="databaseFileName">备份的文件名</param>
/// <param name="appendCommand">备用参数</param>
/// <param name="logName">日志文件名</param>
/// <returns></returns>
public bool ImpORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = sqlTextConfig;
#region /*XMLSQL角本执行*/
//备份库信息
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
if (File.Exists(SQLTextFileName) && SQLTextFileName!=string.Empty)
{
ExeUserSpaceSQL(dbentity);
}
#endregion
//imp userid=system/zhice@jc ignore=y rows=y indexes=n full=y file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "IMP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
#endregion
/// <summary>
/// 备份
/// </summary>
/// <param name="username">用户名</param>
/// <param name="pwd">密码</param>
/// <param name="dbServer">数据库</param>
/// <param name="pathName">路径</param>
/// <param name="databaseFileName">备份的文件名</param>
/// <param name="appendCommand">备用参数</param>
/// <param name="logName">日志文件名</param>
/// <returns></returns>
public bool BackupORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = pathName+"\\"+sqlTextConfig;
#region /*XMLSQL角本生成*/
if (File.Exists(SQLTextFileName))
{
File.Delete(SQLTextFileName);
}
//备份库信息
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
WriteXMLUserSpaceConfig(dbentity);
#endregion
//exp userid=system/zhice@jc full=y INDEXES=n grants=y rows=y compress=N file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "EXP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
/// <summary>
/// 还原
/// </summary>
/// <param name="username">用户名</param>
/// <param name="pwd">密码</param>
/// <param name="dbServer">数据库</param>
/// <param name="pathName">路径</param>
/// <param name="databaseFileName">备份的文件名</param>
/// <param name="appendCommand">备用参数</param>
/// <param name="logName">日志文件名</param>
/// <returns></returns>
public bool ImpORACLEDatabase(string username, string pwd, string dbServer, string pathName, string databaseFileName, string appendCommand, string logName, string sqlTextConfig)
{
this.SQLTextFileName = sqlTextConfig;
#region /*XMLSQL角本执行*/
//备份库信息
DBEntity dbentity = new DBEntity();
dbentity.DBServer = dbServer;
dbentity.UserName = username;
dbentity.Pwd = pwd;
if (File.Exists(SQLTextFileName) && SQLTextFileName!=string.Empty)
{
ExeUserSpaceSQL(dbentity);
}
#endregion
//imp userid=system/zhice@jc ignore=y rows=y indexes=n full=y file=d:\demo.dmp log=d:\demo.log
string loginString = string.Format("userid={0}/{1}@{2}", username, pwd, dbServer);
string fileName = "IMP";
string arguments = string.Format("{0} full=y file={1} log={2} ", loginString, pathName + "\\" + databaseFileName, pathName + "\\" + logName);
string backupCommand = string.Format("{0} {1}", fileName, arguments);
try
{
System.Diagnostics.Process bakupProcess = new System.Diagnostics.Process();
bakupProcess.StartInfo.FileName = fileName;
bakupProcess.StartInfo.Arguments = arguments;
bakupProcess.Start();
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
return false;
}
}
#endregion