启动 RMAN 客户端并与之交互

启动和退出 RMAN

RMAN 可执行文件与数据库一起自动安装,通常与其他数据库可执行文件位于同一目录中。例如,Linux 上的 RMAN 客户端位于$ORACLE_HOME/bin.

 

您有以下启动 RMAN 的基本选项:

  • 在操作系统命令行启动 RMAN 可执行文件,而不指定任何连接选项,如下例所示:

%rman
  • 在操作系统命令行启动 RMAN 可执行文件,如以下示例所示:
% rman TARGET /
% rman TARGET sbu@prod NOCATALOG

要退出RMAN并终止程序,请在RMAN提示符下输入EXIT或quit:

RMAN> EXIT

使用 RMAN 建立数据库连接

您可以从 RMAN 客户端或操作系统命令行创建数据库连接。这些数据库连接可以使用密码文件或操作系统身份验证进行身份验证。

关于 RMAN 数据库连接类型

要执行有用的工作,RMAN 客户端必须连接到数据库。

RMAN 数据库连接概述

数据库连接类型关键词描述

目标数据库

TARGET

由 RMAN 备份或恢复的数据库

恢复目录数据库

CATALOG

除了控制文件之外,还为 RMAN 存储库提供可选备份存储的数据库。

辅助实例或辅助数据库

AUXILIARY

物理备用数据库,或为执行特定任务(例如创建重复数据库、传输表空间或执行表空间时间点恢复 (TSPITR))而创建的数据库实例。

对于许多使用辅助数据库的任务,RMAN 会创建一个自动辅助实例以在任务期间使用,连接到它,执行任务,然后在任务完成时将其销毁。您没有给出任何显式命令来连接到自动辅助实例。

关于 RMAN 数据库连接的身份验证

使用 RMAN 连接到目标或辅助数据库的用户需要SYSDBASYSBACKUP系统权限。

连接到恢复目录时不需要这些权限。您必须将该RECOVERY_CATALOG_OWNER角色授予目录架构所有者。用户还可以使用恢复目录所有者创建的 VPC 凭证连接到恢复目录。

可用于 SQL*Plus 的相同身份验证选项可用于 RMAN。使用目标和辅助数据库进行身份验证的最常见方法是:

  • 操作系统认证

    使用操作系统身份验证进行连接的先决条件在“使用操作系统身份验证”中进行了描述

  • 密码文件认证

    “使用密码文件进行身份验证”中描述了使用密码文件身份验证进行连接的先决条件

这些方法都不需要打开数据库。操作系统身份验证仅用于本地连接。密码文件认证可用于本地或远程连接。

Password File Authentication as SYSDBA - Explicit

In this example, the sdba user has been granted the SYSDBA privilege:

% rman target '"sdba@prod1 as sysdba"' 

target database Password: password
connected to target database: PROD1 (DBID=39525561)

Password File Authentication as SYSBACKUP - Explicit

In this example, the sbu user is granted the SYSBACKUP privilege in the target database:

% rman target '"sbu@prod1 as sysbackup"' 

target database Password: password
connected to target database: PROD1 (DBID=39525561)

Password File Authentication as SYSDBA - Implicit

% rman target sbu@prod1

target database Password: password
connected to target database: PROD1 (DBID=39525561)

从 RMAN 提示建立与非 CDB 的数据库连接

如果在操作系统命令行上启动RMAN时没有连接字符串,则必须在RMAN提示符下发出connect TARGET命令以连接到目标数据库。

To make a database connection from the RMAN prompt:

  1. 在操作系统命令行上,启动 RMAN 客户端而不建立数据库连接。
%rman 
RMAN>

2、在 RMAN 提示符下,输入一个或多个CONNECT命令。

Connecting With OS Authentication - Implicit

RMAN> connect target /

由于未指定系统权限,因此假定为ASSYSDBA。

Connecting with OS Authentication - Explicit

RMAN> connect target "/ as sysdba"

当包含系统特权时,需要使用括起来的引号(单引号或双引号)。

Connecting to Target and a Recovery Catalog

在此示例中,目标连接使用操作系统身份验证,恢复目录数据库连接使用网络服务名称和密码文件身份验证。恢复目录所有者是用户rco。RMAN提示输入恢复目录用户的密码。

RMAN> connect target /
RMAN> connect catalog rco@catdb

recovery catalog database Password: password
connected to recovery catalog database

从操作系统命令行建立到非 CDB 的 RMAN 连接

要从操作系统命令行连接到目标数据库,请输入rman命令和连接信息。您可以在显示 RMAN 提示符后开始执行命令

使用CATALOG关键字连接到恢复目录。您也可以启动RMAN而不指定NOCATALOG或CATALOG。如果您没有在命令行上指定NOCATALOG,并且在RMAN启动后没有指定CONNECT CATALOG,那么当您第一次运行需要使用RMAN存储库的命令时,RMAN将默认为NOCATALOB模式。

注意:在NOCATALOG模式下执行使用RMAN存储库的命令后,必须退出并重新启动RMAN才能连接到恢复目录。

如果在操作系统命令行上连接到目标数据库,则可以在显示RMAN提示符后开始执行命令。

Connecting to a Target Database from the System Prompt

此示例演示了与使用操作系统身份验证的目标数据库的连接。NOCATALOG选项表示会话中未使用恢复目录。

% rman TARGET / NOCATALOG

connected to target database: PROD (DBID=39525561)
using target database control file instead of recovery catalog

如果连接字符串中既未AS SYSBACKUP指定也未AS SYSDBA指定,则使用的默认值为AS SYSDBA.

略。。。

建立与 CDB 和 PDB 的 RMAN 连接

略。。。

将 RMAN 连接到辅助数据库

某些任务需要连接到辅助数据库,例如数据库复制和表空间时间点恢复 (TSPITR)。

辅助连接的形式与目标数据库连接的形式相同,不同之处在于您使用AUXILIARY关键字而不是TARGET关键字。

Note:使用DUPLICATE…FROM ACTIVE DATABASE命令时,需要网络服务名称。

此示例说明了使用操作系统身份验证与目标数据库的连接,辅助数据库连接使用网络服务名称和密码文件身份验证。

% rman
RMAN> CONNECT TARGET /
RMAN> CONNECT AUXILIARY sbu@aux

auxiliary database Password: password
connected to auxiliary database: AUX (DBID=30472568)
诊断恢复目录连接问题

使用 SQL*Plus 诊断恢复目录连接问题。

当 RMAN 连接到恢复目录数据库时,它不使用SYSDBAorSYSBACKUP权限。当您使用 SQL*Plus 诊断与恢复目录数据库的连接问题时,您必须输入与输入 RMAN 完全相同的数据库连接字符串。不要指定AS SYSBACKUPAS SYSDBA

指定 RMAN 输出的位置

默认情况下,RMAN将命令输出写入标准输出。要将输出重定向到日志文件,请在启动RMAN时在命令行中输入log参数。

 以下示例将RMAN命令输出写入文件RMAN.log:

% rman LOG /tmp/rman.log

在这种情况下,RMAN显示命令输入,但不显示RMAN输出。将RMAN输出发送到日志文件和标准输出的最简单方法是使用Linux tee命令或等效命令。例如,以下技术使输入和输出在RMAN命令行界面中可见:

% rman | tee rman.log
RMAN>

为 RMAN 设置全球化支持环境变量

在调用RMAN之前,设置NLS_DATE_FORMAT和NLS_LANG环境变量可能很有用。这些变量决定了RMAN命令(如RESTORE、RECOVER和REPORT)中时间参数的格式。

以下示例显示了典型的语言和日期格式设置:

NLS_LANG=american
NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'

如果要使用RMAN连接到未装入的数据库,并在稍后RMAN仍处于连接状态时装入数据库,请设置NLS_LANG环境变量,使其同时指定数据库使用的字符集。

未装入的数据库采用默认字符集,即US7ASCII。如果您的字符集与默认字符集不同,则RMAN会在装入数据库后返回错误。例如,如果字符集是WE8DEC,那么为了避免错误,可以如下设置NLS_LANG变量:

NLS_LANG=american_america.we8dec

要应用环境变量NLS_DATE_FORMAT并覆盖服务器初始化文件中为服务器设置的默认值,还必须设置环境变量NLS-LANG。

输入 RMAN 命令

您可以直接从 RMAN 提示符输入 RMAN 命令,也可以从文本文件中读取它们。

本节介绍运行 RMAN 命令的方法。

在 RMAN 提示符处输入 RMAN 命令

当 RMAN 客户端准备好执行您的命令时,它会显示命令提示符。

以下是 RMAN 命令提示符的示例:

RMAN> 

输入 RMAN 执行的命令。例如:

RMAN> CONNECT TARGET
RMAN> BACKUP DATABASE;

大多数 RMAN 命令采用多个参数,并且必须以分号结尾。某些命令(例如STARTUPSHUTDOWN和 CONNECT)可以使用或不使用分号。

当您输入一行不是完整命令的文本时,RMAN 会提示您使用行号继续输入。例如:

RMAN> BACKUP DATABASE
2> INCLUDE CURRENT 
3> CONTROLFILE
4> ;

通过 RMAN 使用命令文件

对于重复性任务,您可以创建一个包含 RMAN 命令的文本文件,并使用@参数启动 RMAN 客户端,后跟文件名。

例如,cmdfile1在当前目录中创建一个包含一行文本的文本文件,如下所示:

BACKUP DATABASE PLUS ARCHIVELOG;

您可以从命令行运行此命令文件,如本例所示,并执行其中包含的命令:

% rman TARGET / @cmdfile1

命令完成后,RMAN 退出。

您还可以@在 RMAN 命令提示符处使用该命令在 RMAN 会话期间执行命令文件的内容。RMAN 读取文件并执行其中的命令。例如:

RMAN> @cmdfile1

执行命令文件内容后,RMAN 显示以下消息:

RMAN>  **end-of-file**

略。。。。

 

 

 

 

 

posted @ 2022-10-16 03:10  wongchaofan  阅读(230)  评论(0编辑  收藏  举报