官方文档 恢复备份指南四 Starting and Interacting with the RMAN Client


本章讲:
  • Starting and Exiting RMAN
  • Specifying the Location of RMAN Output 指定RMAN输出位置
  • Setting Globalization Support Environment Variables for RMAN 设置RMAN全局变量
  • Entering RMAN Commands 进入RMAN命令
  • Making Database Connections with RMAN 用RMAN连接数据库
  • Using the RMAN Pipe Interface 使用RMAN 管道接口

1.Starting and Exiting RMAN 打开RMAN RMAN随数据库一起安装,路径在$ORACLE_HOME/bin下.打开方式
% rman 进入后再输入用户名密码
% rman TARGET / # operating system authentication 操作系统验证,即在数据库服务器上使用RMAN
% rman TARGET SYS@prod NOCATALOG # RMAN prompts for SYS password 使用SYS用户登录RMAN
% rman TARGET / CATALOG rco@catdb # RMAN prompts for rco password 在数据库服务器上使用操作系统验证连接数据库并连接catalog
退出:RMAN> EXIT

2.Specifying the Location of RMAN Output 指定RMAN输出位置 默认下,RMAN将输出内容写到标准输出(命令台),可以将内容输出到日志文件:
% rman LOG /tmp/rman.log 上面的方式只会将RMAN的输出内容写到日志,如果想把输入内容也写到日志,可以使用linux的tee命令:
% rman | tee rman.log
RMAN>

3.Setting Globalization Support Environment Variables for RMAN 设置RMAN全局变量 在使用RMNA之前,可能需要设置NLS_DATE_FORMATNLS_LANG参数来设置RMAN使用的语言和时间格式
NLS_LANG=american 如果RMAN客户端可以数据库的语言不同,会报错
NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'


4.Entering RMAN Commands 输入RMAN命令
本节内容:
  • Entering RMAN Commands at the RMAN Prompt 使用RMAN提示输入命令
  • Using Command Files with RMAN 使用命令文件
  • Entering Comments in RMAN Command Files 编辑命令文件
  • Using Substitution Variables in Command Files 在命令文件使用变量
  • Checking RMAN Syntax 检查RMAN语法

1)Entering RMAN Commands at the RMAN Prompt
RMAN> BACKUP DATABASE
2> INCLUDE CURRENT
3> CONTROLFILE
4> ;


2)Using Command Files with RMAN 可以将命令保存在文件中,然后用@调用,如cmdfil1中: BACKUP DATABASE PLUS ARCHIVELOG; 调用:
% rman TARGET / @cmdfile1
命令执行完毕后,RMAN会自动退出也可以在RMAN提示符下使用文件:
RMAN> @cmdfile1


3)Entering Comments in RMAN Command Files
# Command file name: mybackup.rman #是注释符号
# The following command backs up the database
BACKUP DATABASE;
# The following command backs up the archived redo logs
BACKUP ARCHIVELOG ALL;


4)Using Substitution Variables in Command Files 可以设置变量,使RMAN变得更加灵活,如&1代表第一个变量,&2代表第二个变量.&1.3的意义:&1表示传入的第一个变量,如backup,.3表示接在变量后面的字符,&1.3表示backup3. <1>创建RMAN脚本,包含变量
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;

<2>创建shell脚本来调用 RMAN脚本
#!/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/whole_db.cmd' USING $media_family $format $restore_point

<3>执行shell
% runbackup.sh archival_backup bck0906 FY06Q3


5).Checking RMAN Syntax 在执行命令之前可以用CHECKSYNTAX来检查命令的正确性 启动RMAN时指定CHECKSYNTAX选项 % rman CHECKSYNTAX 输入脚本
RMAN> backup database;
此命令不存在任何语法错误
检查脚本语法 % rman CHECKSYNTAX @filename
5.Making Database Connections with RMAN
  • About RMAN Database Connections
  • Connecting RMAN to an Auxiliary Database
  • Making RMAN Database Connections Within Command Files
  • Diagnosing RMAN Connection Problems

1)About RMAN Database Connections 关于RMAN连接 RMAN连接选项
Type of Database ConnectionKeywordDescription

target database

TARGET

A database to be backed up or restored by RMAN

recovery catalog database

CATALOG

A database that provides an optional backup store for the RMAN repository in addition to the control file.

auxiliary instanceorauxiliary database

AUXILIARY

Aphysical standby database, or a database instance created for performing a specific task such as creating aduplicate database, transporting tablespaces, or performingtablespace point-in-time recovery (TSPITR).

For many tasks that use an auxiliary database, RMAN creates an automatic auxiliary instance for use during the task, connects to it, performs the task, and then destroys it when the task is completed. You do not give any explicit command to connect to automatic auxiliary instances.



2)连接数据库的验证方式 RMAN连接数据库的方式与SQLPLUS 一样,不过RMAN需要以SYSDB的身份连接. 为了使用操作系统身份验证,首先设置ORACLE_SID
% ORACLE_SID=prod; export ORACLE_SID 连接
% ORACLE_SID=prod; export ORACLE_SID
使用密码验证:
% rman TARGET SYS@prod

target database Password:
passwordconnected to target database: PROD1 (DBID=39525561)


3)连接数据库 连接语法
Value Used in ExampleMeaning

SYS

User withSYSDBAprivileges

prod

The net service name for the target database

rco

User that owns the recovery catalog schema. This is a user defined in the recovery catalog database that has been granted theRECOVERY_CATALOG_OWNERrole.

catdb

The net service name for the recovery catalog database

aux

The net service name for an auxiliary instance



连接target,操作系统验证
% rman TARGET / NOCATALOG

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

RMAN>
连接target,密码验证
% rman TARGET SYS@prod NOCATALOG

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

RMAN>
同时连接target和catalog
% rman TARGET SYS@prod CATALOG rco@catdb

target database Password:
password
connected to target database: PROD (DBID=39525561)
recovery catalog database Password:
password
connected to recovery catalog database

RMAN>

在命令提示符中连接:
RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG rco@catdb

RMAN> CONNECT TARGET SYS@prod

连接辅助数据库. 在duplicateo(复制)数据库和执行基于时间点的表空间恢复(TSPITR)时,必须使用auxiliary instance连接辅助数据库
% rman
RMAN> CONNECT TARGET /
RMAN> CONNECT AUXILIARY SYS@aux

auxiliary database Password:
passwordconnected to auxiliary database: PROD (DBID=30472568)

在脚本中连接数据库. 脚本内容如下
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
===================



6.Using the RMAN Pipe Interface 使用RMAN通道接口 RMAN管道接口就是通过DBMS_PIPE包来执行RMAN命令并输出结果,直接在SQLPLUS中执行.参考http://blog.itpub.net/4227/viewspace-68814/
DECLARE
2 V_INPUT VARCHAR2(32767) := 'BACKUP DATABASE;';
3 V_OUT NUMBER;
4 BEGIN
5 DBMS_PIPE.PACK_MESSAGE(V_INPUT);
6 V_OUT := DBMS_PIPE.SEND_MESSAGE('ORA$RMAN_P1_IN');
7 DBMS_OUTPUT.PUT_LINE(V_OUT);
8 COMMIT;
9 END;
10 /
0
启动 backup 于 02-4月 -06
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=16 devtype=DISK
通道 ORA_DISK_1: 正在启动 full 数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
备份集中包括当前控制文件
输入数据文件 fno=00001 name=F:ORACLEORADATATESTSYSTEM01.DBF
输入数据文件 fno=00002 name=F:ORACLEORADATATESTUNDOTBS01.DBF
输入数据文件 fno=00006 name=F:ORACLEORADATATESTYANGTK01.DBF
输入数据文件 fno=00003 name=F:ORACLEORADATATESTINDX01.DBF
输入数据文件 fno=00005 name=F:ORACLEORADATATESTUSERS01.DBF
输入数据文件 fno=00004 name=F:ORACLEORADATATESTTOOLS01.DBF
通道 ORA_DISK_1: 正在启动段 102-4月 -06
通道 ORA_DISK_1: 已完成段 102-4月 -06
段 handle=F:ORACLEORACLE920DATABASEIHFHTAE_1_1 comment=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:47
完成 backup 于 02-4月 -06
RMAN-00572: waiting for dbms_pipe input
PL/SQL 过程已成功完成。

感觉管道没啥用





来自为知笔记(Wiz)

优质内容筛选与推荐>>
1、[Knowledge-based AI] {ud409} Lesson 1: 01 - Intro to Knowledge-Based AI
2、深入了解Cookie和Session
3、Centos安装vsftp服务
4、程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理 - by Glede
5、根据进程名杀掉进程


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn