C# 这个过程会影响数据库的可用性吗?

C# 这个过程会影响数据库的可用性吗?,c#,.net,database,oracle,backup,C#,.net,Database,Oracle,Backup,根据上述条款中的拟议规范,更具体地说: ProcessStartInfo psi = new ProcessStartInfo(); psi.FileName = "C:/oracle/product/10.2.0/db_1/BIN/exp.exe"; Process process = Process.Start(psi); process.WaitForExit(); process.Close(); 调用Process.Start(psi)并因此执行exp.exe后,从其他地方中断CRU

根据上述条款中的拟议规范,更具体地说:

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "C:/oracle/product/10.2.0/db_1/BIN/exp.exe";
Process process = Process.Start(psi);
process.WaitForExit();
process.Close();
调用Process.Start(psi)并因此执行exp.exe后,从其他地方中断CRUD操作如何影响数据库


使用Oracle的exp.exe进程—例如,是否会终止当前正在写入相关数据库的所有用户的会话?我想(或者至少希望)不会,但我还没有找到文档来证实这一点。

你真的在问(旧的)对数据库有什么影响。这是一个逻辑备份,因此您可以像对数据库运行多个
SELECT
查询一样考虑效果。也就是说,其他会话不会被终止,但正常的锁定机制可能会阻止它们访问数据,直到
exp
完成,这可能会导致超时。

是原始的导出实用程序。在最新版本(11g)中,它已停止使用且不受支持

您可以改为使用,尽管导出文件是在服务器上而不是在客户机上编写的

这两个实用程序都向数据库发出标准的
SELECT
命令,并且由于读卡器不会干扰Oracle中的并发性(writer不阻止读卡器,读卡器不阻止读卡器),因此不会阻止其他DB操作

但是,由于它会发出语句,因此可能会增加资源使用,特别是IO,这可能会影响并发活动的性能


无论您使用什么工具,您都应该花一些时间了解这些选项(另外,由于您可能希望将其用作逻辑副本,请确保测试相应的导入工具和工具)。还有一个警告:这些工具不是备份工具。您不应该依赖它们进行备份。

EXP和IMP不是合适的备份和恢复工具。它们用于在Oracle数据库之间交换数据和数据结构。数据泵(EXPDP和IMPDP)的更换也是如此

导出将卸载到文件,这样不会影响系统上的任何用户。但是,如果需要一组一致的数据,如果有任何其他用户连接到系统,则需要使用consistent=Y参数

有趣的是,数据泵并没有一个一致的参数。它将表(或表分区)作为单个事务卸载,但保证所有数据库对象一致性的唯一方法是使用FLASHBACK_SCN参数(或将所有用户从系统中踢出)


“这一切都是为了帮助博士。”

作为灾难恢复解决方案,这将起作用,但有以下限制条件

  • 用户将丢失自上次导出以来的所有数据(显而易见)
  • 您需要确保导出在所有对象之间是一致的
  • 进口需要时间。如果您有许多表或大量数据,则需要花费大量时间。加上索引等

  • 还记得导出统计数据和数据。

    没有附带评论的否决票对我来说是毫无用处的。我已经尽了最大努力使这个问题具体化,有主题性,并且我已经在寻找文件的形式中提到了我的“你尝试了什么”。亲密的选民认为这是NARQ或离题。当然,这不是一个编程问题。“这不是一个编程问题”——这当然是。你们可以看到那个里的代码,你们可以假设我正在编程,我在问这个编程会产生什么样的效果。完全与编程相关。不,您是在询问Oracle数据库实用程序对用户的影响。如何调用该实用程序无关紧要。我的反对票是因为您询问了与此相关的性能成本,但您没有发布任何关于您运行的指标的信息,以确定这是一个问题。太棒了。在阅读您的答案后,我已经发现了expdp,因为您将exp描述为旧版本,我对它的工作方式有了更好的了解。这比没有解释的投票更有帮助。非常感谢,非常感谢。根据我对阿尔基尼的评论,非常有帮助。非常感谢,伙计。你会推荐RMAN作为最合适的备份工具吗?我自然而然地找到了.net代码的解决方案,因为有人要求开发一个.net应用程序,该应用程序提供一个UI,允许用户在异地配置db结构及其内容的计划迁移。问题是,他们希望以后如何使用迁移的数据?IMNP或IMDP的工作方式是(可选地)清除表,然后从转储文件插入数据。它们不能处理主键冲突、表结构更改等。它们不能用于从某个时间点恢复数据或将数据恢复到某个时间点。RMAN在如何恢复数据方面具有更大的灵活性。该应用程序还将负责恢复,它将同时调用impdp到“非现场”位置。这一切都是为了帮助DR.BTW-我不会对此一无所知,如果RMAN是更好、更合适的解决方案,我将进一步研究它。我想要最好的解决方案,我只是提出我最初的思考过程。你真的非常乐于助人,非常感谢。适当地注意到这一问题也不是未来的规划问题。非常感谢。