第四章(backup and recovery 笔记)

第四章   启动和与rman客户端的交互

启动的几种方式:
% rman TARGET / # operating system authentication
% rman TARGET SYS@prod NOCATALOG # RMAN prompts for SYS password
% rman TARGET / CATALOG rco@catdb # RMAN prompts for rco password


将返回结果放入文件:% rman LOG /tmp/rman.log
回显的同时放入文件:% rman | tee rman.log


如果在unmount状态下启动了rman,会自动为其设置默认字符集us7ascii,如果mount数据库后,字符集不兼容,就会报

错。
可以提前设置nls_lang\nls_data_formate来避免。

 

执行rman命令可以直接执行或者通过脚本来实现
脚本实现有两种类型:
% rman TARGET / @cmdfile1  登录、执行脚本用同一条命令实现

RMAN> @cmdfile1  登录后再执行命令
执行完成后提示:
RMAN> **end-of-file**


脚本执行时,可以通过形式参数占位,调用时再赋值的方式执行。


rman语句的语法检查:
如果只想检查语法,而不实际执行,可以执行checksyntax命令。
如果语法不正确,会返回rman-00558错误。

[oracle@localhost trace]$ rman checksyntax  这样根本没有连接数据库,不可能实际执行的

Recovery Manager: Release 11.2.0.1.0 - Production on Sun Jan 27 10:12:00 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

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 CHECKSYNTAX @filename
如果文件中包含参数需要确定,rman还会提示输入参数。


使用rman可以连接目标数据库(target关键字)、恢复目录数据库(catalog关键字)、auxiliary instance or

database(auxiliary关键字,即物理备库或备份数据库、报告数据库、基于时间点的表空间恢复等)。


rman的登录认证:
rman连接数据库的认证方式与sql*plus相似,不同点在于rman连接目标数据库或辅助数据库需要sysdba权限,连接时隐

式说明。
而连接恢复目录时不需要sysdba权限,但需要recovery_catalog_owner角色。

如果要使用操作系统认证方式,可以首先声明:
export oracle_sid=xxxxxx;


登录方式举例:
% rman TARGET / NOCATALOG  操作系统认证方式登录,nocatalog指定在会话中不适用恢复目录

% rman TARGET SYS@prod NOCATALOG  使用oracle net认证,需要按提示输入密码(prod换成实例名)

% rman TARGET SYS@prod CATALOG rco@catdb  使用catalog关键字指定用oracle net认证方式连接到目标数据库和恢

复目录。都需要密码(prod换成实例名、catdb换成恢复目录实例名、rco是恢复目录用户名)

不指定catalog、nocatalog时,默认是nocatolog模式。

连接辅助数据库:
RMAN> CONNECT AUXILIARY SYS@aux  只是将target换为auxiliary就可以了


使用命令文件连接rman数据库:
文件内容为:
cat > listbkup.rman << EOF
CONNECT TARGET /
LIST BACKUP;
EOF
执行命令% rman @listbkup.rman
结果为:
RMAN> CONNECT TARGET *
2> LIST BACKUP;
3>
connected to target database: RDBMS (DBID=771530996)
using target database control file instead of recovery catalog
List of Backup Sets
===================
…………


当连接发生问题时,可以借助sql*plus命令验证一下。


rman还提供了管道命令,用于使用dbms_pipe包获得和发送命令。
rman pipe abc target /
rman将会在目标数据库开启ORA$RMAN_ABC_IN、ORA$RMAN_ABC_OUT两个管道,用于接收和发送命令,类型都是varchar2.
如果管道未初始化,rman将其作为私有管道。如果想将命令放到管道中执行,需要首先调用dbms_pipe.create_pipe。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-754990/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-754990/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值