启动 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 数据库连接概述
数据库连接类型 | 关键词 | 描述 |
---|---|---|
目标数据库 |
|
由 RMAN 备份或恢复的数据库 |
恢复目录数据库 |
|
除了控制文件之外,还为 RMAN 存储库提供可选备份存储的数据库。 |
辅助实例或辅助数据库 |
|
物理备用数据库,或为执行特定任务(例如创建重复数据库、传输表空间或执行表空间时间点恢复 (TSPITR))而创建的数据库实例。 对于许多使用辅助数据库的任务,RMAN 会创建一个自动辅助实例以在任务期间使用,连接到它,执行任务,然后在任务完成时将其销毁。您没有给出任何显式命令来连接到自动辅助实例。 |
关于 RMAN 数据库连接的身份验证
使用 RMAN 连接到目标或辅助数据库的用户需要SYSDBA
或SYSBACKUP
系统权限。
连接到恢复目录时不需要这些权限。您必须将该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:
- 在操作系统命令行上,启动 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 连接到恢复目录数据库时,它不使用SYSDBA
orSYSBACKUP
权限。当您使用 SQL*Plus 诊断与恢复目录数据库的连接问题时,您必须输入与输入 RMAN 完全相同的数据库连接字符串。不要指定AS SYSBACKUP
或AS 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 命令采用多个参数,并且必须以分号结尾。某些命令(例如STARTUP
、SHUTDOWN
和 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**
略。。。。
启动 RMAN 客户端并与之交互的更多相关文章
- Android客户端与服务端交互之登陆示例
Android客户端与服务端交互之登陆示例 今天了解了一下android客户端与服务端是怎样交互的,发现其实跟web有点类似吧,然后网上找了大神的登陆示例,是基于IntentService的 1.后台 ...
- java客户端与服务端交互通用处理 框架解析
一.综述 java 客户端与服务端交互过程中,采用NIO通讯是异步的,客户端基本采用同一处理范式,来进行同异步的调用处理. 处理模型有以下几个要素: 1. NIO发送消息后返回的Future 2. 每 ...
- C#/.NET基于Topshelf创建Windows服务的守护程序作为服务启动的客户端桌面程序不显示UI界面的问题分析和解决方案
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...
- Android客户端和服务器端数据交互
网上有很多例子来演示Android客户端和服务器端数据如何实现交互不过这些例子大多比较繁杂,对于初学者来说这是不利的,现在介绍几种代码简单.逻辑清晰的交互例子,本篇博客介绍第四种: 一.服务器端: 代 ...
- windows phone 7 客户端和web的交互(WebBrowser的使用)
原文:windows phone 7 客户端和web的交互(WebBrowser的使用) 前几天看到淘宝的Android客户端,有种促销的功能,当点击促销的时候连接的淘宝促销wap页面,然后点击商品后 ...
- 【转】使用URL SCHEME启动天猫客户端并跳转到某个商品页面的方法
在项目中遇到了这样一个需求:让用户在手机应用中,点击一个天猫的商品链接(知道商品在PC浏览器里的地址),直接启动天猫的客户端并显示这个商品.以前曾经实现过类似的功能,不过那次是淘宝的商品,天猫和淘宝的 ...
- html5手机浏览器启动微信客户端支付实例
html5手机浏览器启动微信客户端支付实例,外部浏览器html5微信支付技术,如何在手机浏览器微信支付,在微信客户端外的移动端网页使用微信支付 首先在微信支付官网https://pay.weixin. ...
- c++ 网络编程(一)TCP/UDP windows/linux 下入门级socket通信 客户端与服务端交互代码
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9601511.html c++ 网络编程(一)TCP/UDP 入门级客户端与服务端交互代码 网 ...
- ajax+客户端与服务器端的交互
一. AJAX 原生JS var xhr=new XMLHttpRequest(); xhr.open("GET","[请求地址]",false); xhr.o ...
- 通过GWT RPC实现客户端与服务器端的交互
GWT有两种与服务端进行交互的技术:GWT RPC和基于普通AJAX的远程交互技术.这里只介绍GWT RPC技术. 一个完整的RPC服务至少包含三个Java文件: 1.客户端远程接口类,需要继承Rem ...
随机推荐
- win10:你需要来自XXXX的权限才能对此文件夹进行更改
转载请注明来源:https://www.cnblogs.com/Sherlock-L/p/16769720.html 起因 软件运行失败,看报错信息是删除某个文件夹失败了,行吧,我自己来删.找到目标文 ...
- net Core做一个webApi的简单实例
用NetCore 和Dapper 和mySql做一个简单的实例, 一准备工作 1:VS2017+windos系统,也可以用其他的操作系统和工具 2:一台Cenetos的虚拟机或者虚拟机 二:开始 1: ...
- Linux 配置共享目录方法
配置共享目录有三种方法: 第一种:使用Vmware自带的文件共享的功能,进入Vmware,点击虚拟机选项,然后点击"设置",再点击标签"选项"这一项,找到&qu ...
- OS-lab4
OS-lab4 系统调用 系统调用的流程 按照上述的流程逐个分析. user/syscall_lib.c 这个文件位于user文件夹下,也就是用户程序可以调用的函数,相当于操作系统提供给用户程序的一些 ...
- iis url重写实现http 重定向到 https
原文链接 http://www.360doc.com/content/21/0915/21/67180130_995651104.shtml 1.在iis上安装 url重写组件 2. 修改web.co ...
- Go组件库总结之协程睡眠唤醒
本篇文章我们用Go封装一个利用gopark和goready实现协程睡眠唤醒的库.文章参考自:https://github.com/brewlin/net-protocol 1.gopark和gorea ...
- yarn 更新依赖包
yarn upgrade --latest 其他的以后再记录.
- Day22:数据库导入&分工&准备科研训练
今日完成的任务: 1.与组员共同排查jar包中的问题,发现是由于未导入数据库. 网上查询后在MySQL workbench中完成了导入导出(图中user数据库). 2.完成实验报告分工,我负责结论部分 ...
- Symfony2在Nginx下的配置方法图文教程
来源: https://www.xp.cn/b.php/79706.html Symfony2在Nginx下的配置方法图文教程 本文详细讲述了Symfony2在Nginx下的配置方法.分享给大家供大家 ...
- 实验1task4
<实验结论> #include <stdio.h> #include <stdlib.h> int main() { int x, t, m; x = 123; p ...