使用RMAN实现异机备份恢复(WIN平台)

简介: --=================================-- 使用RMAN实现异机备份恢复(WIN平台)--=================================    在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作。
--=================================
-- 使用RMAN实现异机备份恢复(WIN平台)
--=================================


    在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作。基于Windows平台
所需完成的配置相对简单,仅仅是添加账户与使用新增的帐户来启动数据库服务以及设置共享路径。
    下面给出具体描述。
    
一、配置数据库服务器与备份目的主机
    1. 帐户配置(假定有主机A,B 且A为数据库服务器,B为备份目的主机,且能互相ping通)    
            如果主机A与主机B使用的Administrator密码相同,且A上的OracleServiceDBNAME服务和OracleOraHome92TNSListener服务都以"本
        地系统账户登陆"
            如果主机A与主机B使用不同的Administrator密码,处于安全考虑不宜设为相同,则则可以分别在主机A与主机B上新建一用户,假
        定在主机A上建立DBA_oracle,密码为ORA_PWD,则在主机B上也建立该用户(用户名可以不同,密码必须相同),密码同样设置为ORA_PWD
        。将刚建好的用户在各自主机将其加入到Aministrators组
    2. 设定OracleServiceDBNAME服务和OracleOraHome92TNSListener服务的启动帐户。在运行处输入services.msc。在主机A上设定使用此帐
        户登陆,即使用刚刚建立的DBA_oracle,输入密码启动,该设置需要重启后有效
    3. 在主机B上设定共享文件夹,如RMAN_Shared,设置其权限为完全控制(在A上使用\\IP\RMAN_Shared测试是否可写入文件)
        
二、查看RMAN的配置与数据库情况       
RMAN> show CONTROLFILE AUTOBACKUP;                                                                               
                                                                                                                 
RMAN 配置参数为:                                                                                                 
CONFIGURE CONTROLFILE AUTOBACKUP ON;    -->控制文件自动备份,建议开启                                            
                                                                                                                 
RMAN> show CONTROLFILE AUTOBACKUP FORMAT;                                                                        
                                                                                                                 
RMAN 配置参数为:                                                                                                 
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '\\192.168.1.151\RMAN_Shared\CONTROL             
_%F';                                   -->控制文件备份位置                                                      
                                                                                                                 
RMAN> show SNAPSHOT CONTROLFILE NAME;                                                                            
                                                                                                                 
RMAN 配置参数为:                                                                                                 
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\ORACLE\ORA92\DATABASE\SNCFTESTHH.ORA'; # default   -->快照控制文件位置
                                                                                                                 
SQL> select * from v$version;    -->数据库的版本,当前演示环境为Oracle 9i                                        
                                                                                                                 
BANNER                                                                                                           
----------------------------------------------------------------                                                 
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production                                                       
PL/SQL Release 9.2.0.1.0 - Production                                                                            
CORE    9.2.0.1.0       Production                                                                               
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production                                                           
NLSRTL Version 9.2.0.1.0 - Production                                                                            
                                                                                                                 
SQL> show parameter db_name                                                                                      
                                                                                                                 
NAME                                 TYPE        VALUE                                                           
------------------------------------ ----------- ---------------                                                 
db_name                              string      testHH                                                          
三、备份数据库并关闭数据库,删除system01.dbf文件
    使用备份脚本对数据库进行备份,备份脚本在最后给出   
D:\>rman target robinson/robin@testhh cmdfile=D:\oracle\oradata\testHH\backup.rman log=D:\oracle\ora  
data\testHH\backup.log                                                                                
四、从异机进行还原与恢复
    1.关闭数据库        
SQL> shutdown immediate;  
数据库已经关闭。          
已经卸载数据库。          
ORACLE 例程已经关闭。     
    2.删除system01.dbf数据文件以便测试恢复       
SQL> ho del D:\oracle\oradata\testHH\SYSTEM01.DBF
    3.重启实例,收到错误提示     
SQL> startup                                                  
ORACLE 例程已经启动。                                         
                                                              
Total System Global Area  126950220 bytes                     
Fixed Size                   453452 bytes                     
Variable Size             109051904 bytes                     
Database Buffers           16777216 bytes                     
Redo Buffers                 667648 bytes                     
数据库装载完毕。                                              
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件     
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF'
    4.使用RMAN进行还原与恢复       
D:\>rman target /      -->连接到缺省的目标数据库                                          
                                                                                          
恢复管理器: 版本9.2.0.8.0 - Production                                                    
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.                       
连接到目标数据库: TESTHH (DBID=3955637780)                                                
                                                                                          
RMAN> restore database;   -->还原数据库                                                   
                                                                                          
启动 restore 于 25-7月 -11                                                                
正在使用目标数据库控制文件替代恢复目录                                                    
分配的通道: ORA_DISK_1                                                                    
通道 ORA_DISK_1: sid=14 devtype=DISK                                                      
通道 ORA_DISK_1: 正在开始恢复数据文件备份集                                               
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件                                           
正将数据文件00002恢复到D:\ORACLE\ORADATA\TESTHH\UNDOTBS01.DBF                             
正将数据文件00003恢复到D:\ORACLE\ORADATA\TESTHH\CWMLITE01.DBF                             
正将数据文件00005恢复到D:\ORACLE\ORADATA\TESTHH\EXAMPLE01.DBF                             
正将数据文件00006恢复到D:\ORACLE\ORADATA\TESTHH\INDX01.DBF                                
正将数据文件00010恢复到D:\ORACLE\ORADATA\TESTHH\XDB01.DBF                                 
通道 ORA_DISK_1: 已恢复备份段 1                                                           
段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_15MIBDKA_1_1 tag=FULL_BAK params=NULL   
通道 ORA_DISK_1: 恢复完成                                                                 
通道 ORA_DISK_1: 正在开始恢复数据文件备份集                                               
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件                                           
正将数据文件00001恢复到D:\ORACLE\ORADATA\TESTHH\SYSTEM01.DBF                              
正将数据文件00004恢复到D:\ORACLE\ORADATA\TESTHH\DRSYS01.DBF                               
正将数据文件00007恢复到D:\ORACLE\ORADATA\TESTHH\ODM01.DBF                                 
正将数据文件00008恢复到D:\ORACLE\ORADATA\TESTHH\TOOLS01.DBF                               
正将数据文件00009恢复到D:\ORACLE\ORADATA\TESTHH\USERS01.DBF                               
通道 ORA_DISK_1: 已恢复备份段 1                                                           
段 handle=\\192.168.1.151\RMAN_SHARED\FULL_TESTHH_16MIBDMB_1_1 tag=FULL_BAK params=NULL   
通道 ORA_DISK_1: 恢复完成                                                                 
完成 restore 于 25-7月 -11                                                                
                                                                                          
RMAN> recover database;    -->恢复数据库                                                  
                                                                                          
启动 recover 于 25-7月 -11                                                                
使用通道 ORA_DISK_1                                                                       
正在开始介质的恢复                                                                        
完成介质的恢复                                                                            
完成 recover 于 25-7月 -11                                                                
                                                                                          
SQL> alter database open;                                                                 
                                                                                          
SQL> select name,open_mode from v$database;                                               
                                                                                          
NAME      OPEN_MODE                                                                       
--------- ----------                                                                      
TESTHH    READ WRITE                                                                      
    5.结论
            从上面的备份与恢复来看,使用异机备份与恢复与使用本地服务器备份与恢复操作方式并无太多差异,但数据库的性能则受到一定
        的影响。即备份到异机其备份与恢复速度低于备份恢复在本地服务器。在大型生产环境中且实时性要求特高的情形,尽可能的避免异机
        备份与恢复。尽管如此,备份到异机与从异机恢复仍然不失为一种可选方案。

五、RMAN 备份脚本   
run{                                                                                                                    
allocate channel ch1 device type disk;                                                                                  
allocate channel ch2 device type disk;                                                                                  
backup database format='\\192.168.1.151\RMAN_Shared\full_%d_%U'  -->注意格式的写法\\IP\Shared_folder\                   
tag='full_bak';                                                                                                         
sql "alter system archive log current";                                                                                 
crosscheck archivelog all;                                                                                              
delete noprompt expired archivelog all;                                                                                 
backup archivelog all format='\\192.168.1.151\RMAN_Shared\log_%d_%U' delete input  -->注意格式的写法\\IP\Shared_folder\ 
tag='log_bak';                                                                                                          
release channel ch1;                                                                                                    
release channel ch2;}                                                                                                   

六、快捷参考

有关性能优化请参考

    Oracle硬解析与软解析

    共享池的调整与优化(Sharedpool Tuning)

    Buffercache 的调整与优化(一)

    Oracle表缓存(cachingtable)的使用

 

有关ORACLE体系结构请参考

    Oracle表空间与数据文件

    Oracle密码文件

    Oracle参数文件

    Oracle联机重做日志文件(ONLINE LOG FILE)

    Oracle控制文件(CONTROLFILE)

    Oracle归档日志

    Oracle回滚(ROLLBACK)和撤销(UNDO)

    Oracle数据库实例启动关闭过程

    Oracle10g SGA 的自动化管理

    Oracle实例和Oracle数据库(Oracle体系结构)

 

有关闪回特性请参考

    Oracle闪回特性(FLASHBACK DATABASE)

    Oracle闪回特性(FLASHBACK DROP & RECYCLEBIN)

    Oracle闪回特性(Flashback Query、FlashbackTable)

    Oracle闪回特性(Flashback Version、Flashback Transaction)

 

有关基于用户管理的备份和备份恢复的概念请参考

    Oracle冷备份

    Oracle热备份

    Oracle备份恢复概念

    Oracle实例恢复

    Oracle基于用户管理恢复的处理(详细描述了介质恢复及其处理)

    SYSTEM表空间管理及备份恢复

    SYSAUX表空间管理及恢复

 

有关RMAN的备份恢复与管理请参考

    RMAN 概述及其体系结构

    RMAN 配置、监控与管理

    RMAN 备份详解

    RMAN 还原与恢复

    RMAN catalog 的创建和使用

    基于catalog 创建RMAN存储脚本

基于catalog 的RMAN 备份与恢复

使用RMAN迁移文件系统数据库到ASM

    RMAN 备份路径困惑(使用plus archivelog时)

 

有关ORACLE故障请参考

    ORA-32004的错误处理

    ORA-01658错误

    CRS-0215错误处理

    ORA-00119,ORA-00132 错误处理

    又一例SPFILE设置错误导致数据库无法启动

    对参数FAST_START_MTTR_TARGET= 0 的误解及设定

    SPFILE错误导致数据库无法启动(ORA-01565)

 

有关ASM请参考

    创建ASM实例及ASM数据库

    ASM 磁盘、目录的管理

    使用 ASMCMD 工具管理ASM目录及文件

 

有关SQL/PLSQL请参考

    SQLPlus常用命令

    替代变量与SQL*Plus环境设置

    使用Uniread实现SQLplus翻页功能

    SQL 基础-->SELECT 查询

    SQL 基础--> NEW_VALUE的使用

    SQL 基础--> 集合运算(UNION与UNION ALL)

    SQL 基础--> 常用函数

    SQL 基础--> 视图(CREATEVIEW)

    SQL 基础--> 创建和管理表

    SQL 基础--> 多表查询

    SQL 基础--> 过滤和排序

    SQL 基础--> 子查询

    SQL 基础--> 分组与分组函数

    SQL 基础--> 层次化查询(STARTBY ... CONNECT BY PRIOR)

    SQL 基础--> ROLLUP与CUBE运算符实现数据汇总

    PL/SQL--> 游标

    PL/SQL--> 异常处理(Exception)

    PL/SQL--> 语言基础

    PL/SQL--> 流程控制

    PL/SQL--> PL/SQL记录

    PL/SQL--> 包的创建与管理

    PL/SQL--> 隐式游标(SQL%FOUND)

    PL/SQL--> 包重载、初始化

    PL/SQL--> DBMS_DDL包的使用

    PL/SQL--> DML 触发器

    PL/SQL--> INSTEAD OF 触发器

    PL/SQL--> 存储过程

    PL/SQL--> 函数

    PL/SQL--> 动态SQL

    PL/SQL--> 动态SQL的常见错误

 

有关ORACLE其它特性

    Oracle常用目录结构(10g)

    使用OEM,SQL*Plus,iSQL*Plus 管理Oracle实例

    日志记录模式(LOGGING、FORCE LOGGING 、NOLOGGING)

    表段、索引段上的LOGGING与NOLOGGING

    OralceOMF 功能详解

    Oracle用户、对象权限、系统权限  

    Oracle角色、配置文件

    Oracle分区表

    Oracle外部表

    使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

    簇表及簇表管理(Index clustered tables)

    数据泵 EXPDP 导出工具的使用

    数据泵 IMPDP 导入工具的使用

    导入导出 Oracle 分区表数据

    SQL*Loader使用方法

    启用用户进程跟踪

    配置非默认端口的动态服务注册

    配置ORACLE 客户端连接到数据库

    systemsys,sysoper sysdba 的区别

    ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

    Oracle补丁全集 (Oracle 9i 10g 11g Path)

    Oracle10.2.0.1 升级到10.2.0.4

    Oracle彻底 kill session

 










目录
相关文章
|
数据库
rman 异机恢复
rman 异机恢复
102 0
|
SQL Oracle 关系型数据库
Linux平台下RMAN异机恢复总结
下面总结、整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理、总结一下。如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分。当然,准备工作里面,有些步骤不是必须的,可以跳过或忽略的。
972 0
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库 数据库