2015-09-28 20 views
0

我想通过12c中的rman安装程序运行oracle联机备份。我有3个脚本,需要运行它们是:将Oracle RMAN脚本作为单个条目运行

  • rman target [email protected][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; }

我希望能够运行它们通过交流#Process一个条目目的。我想用命令行模拟而不是批处理文件。

因此,我已经看了几个问题/答案,并用&&来尝试并结合这些命令,但这并不奏效。它使用了前两条命令并将我连接到RMAN中心,但RUN命令未执行(很可能是因为脚本的该部分中有;)。

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

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

+0

您是否尝试将命令放入命令文件或使用存储的脚本? –

+0

我当时还没有。我永远无法将它作为一行在C#'Process'中运行。最后将第二个和第三个存储在一个'.rman'文件中,第一个存储在'.bat'文件中,该文件调用了'.rman'文件,并且这个文件起作用了,所以我就这么做了。 –

回答

0

创建了两个不同的文件。

所述第一文件是包含在一个批处理文件:

第二个是一个RMAN文件称为runRman.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文件,并在此之后为我工作。