将Oracle RMAN脚本作为单个条目运行

时间:2015-09-28 19:18:55

标签: c# oracle command-line rman

我想通过12c中的rman设置运行oracle在线备份。我有3个需要运行的脚本,它们是:

  • rman target sys@[db_name]/[db_password] nocatalog
  • configure channel device type disk clear;
  • RUN {   ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT 'C:\Users\Administrator\Documents\Backup\%U';   BACKUP DATABASE PLUS ARCHIVELOG; }

我希望能够通过c#Process对象将它们作为单个条目运行。我想使用命令行而不是批处理文件进行模拟。

所以,我看了几个问题/答案并使用&&尝试组合命令,但这并不是很有效。它花了前两个命令并将我连接到RMAN中心,但RUN命令没有执行(很可能是因为脚本的那部分内的;)。

编辑* - 实际上只运行了第一个命令。第二个没有执行。

我的问题:有没有办法可以将这3个脚本项合并为1来运行c#Process.Start()方法?

1 个答案:

答案 0 :(得分:0)

创建了两个不同的文件。

第一个文件是包含以下内容的批处理文件:

  • rman target sys@[db_name]/[db_password] runRman.rman

第二个是名为runRman.rman的RMAN文件,其中包含:

  • configure channel device type disk clear;
  • RUN { ALLOCATE CHANNEL c1 DEVICE TYPE DISK FORMAT 'C:\Users\Administrator\Documents\Backup\%U'; BACKUP DATABASE PLUS ARCHIVELOG; }

c#进程调用了批处理文件,后者又调用了rman文件,之后一切都为我工作。