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

本文关键字:单个条 运行 Oracle RMAN 脚本 | 更新日期: 2023-09-27 18:14:50

我想在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命令没有执行(很可能是因为脚本的那一部分中有;)。

EDIT* -实际上只运行了第一个命令。

我的问题:是否有一种方法,我可以将这3个脚本项目组合成1,通过c# Process.Start()方法运行?

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

创建两个不同的文件。

第一个文件是一个批处理文件,其中包含:

  • 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文件,此后一切都为我工作。