RMAN之客户端交互(二)

本文档是学习19c的backup and recovery文档的笔记。具体的详细内容请参考官方文档。
https://docs.oracle.com/en/database

如何创建和使用调用包含替换变量的命令文件的动态shell脚本

  1. 创建使用替换变量的 RMAN 命令文件: quarterly_backup.cmd
# quarterly_backup.cmd
CONNECT TARGET /
RUN
{
  ALLOCATE CHANNEL c1
    DEVICE TYPE sbt
    PARMS 'ENV=(OB_MEDIA_FAMILY=&1)';
  BACKUP DATABASE 
    TAG &2 
    FORMAT '/disk2/bck/&1%U.bck'
    KEEP FOREVER 
    RESTORE POINT &3;
}
EXIT;
  1. 创建一个 shell 脚本,可用于运行上一步中创建的 RMAN 命令文件。
    以下示例创建一个名为 的 shell 脚本runbackup.sh。该示例为格式和还原点名称创建 shell 变量,并接受这些变量的值作为脚本的命令行参数。
#!/bin/tcsh
# name: runbackup.sh
# usage: use the tag name and number of copies as arguments
set media_family = $argv[1]
set format = $argv[2]
set restore_point = $argv[3]
rman @'/disk1/scripts/quarterly_backup.cmd' USING $media_family $format $restore_point

解析:
set 命令用于定义变量:
media_family:从脚本的第一个参数获取值。
format:从第二个参数获取值。
restore_point:从第三个参数获取值。
$argv 是一个特殊变量,用于存储传递给脚本的命令行参数。
RMAN命令:
@'/disk1/scripts/quarterly_backup.cmd':指定要执行的 RMAN 脚本文件路径。
USING:后面的参数将被传递给 quarterly_backup.cmd 脚本,通常在该脚本中会引用这些参数。

  1. 执行创建的 shell 脚本,并在命令行上指定所需的参数。
% runbackup.sh archival_backup bck0906 FY06Q3

检查 RMAN 语法

RMAN语法可参考:Oracle Database Backup and Recovery Reference:RMAN

  1. 检查命令行的语法
% rman CHECKSYNTAX
RMAN> run [ backup database; ]
 
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558: error encountered while parsing input commands
RMAN-01006: error signaled during parse 
RMAN-02001: unrecognized punctuation symbol "["

RMAN> run { backup database; }
The command has no syntax errors
RMAN>
  1. 检查命令文件的语法

创建语法正确一个文件/tmp/goodcmdfile:

# command file with legal syntax
RESTORE DATABASE; 
RECOVER DATABASE;

创建一个语法错误的文件/tmp/badcmdfile:

# command file with bad syntax commands
RESTORE DATABASE
RECOVER DATABASE

执行命令文件:
% rman CHECKSYNTAX @filename

使用 RMAN 管道接口

posted @ 2024-10-30 16:42  老牛的田  阅读(11)  评论(0编辑  收藏  举报