ORACLE 11G HA NBU异机恢复过程
- 格式:docx
- 大小:17.28 KB
- 文档页数:7
NBU异机恢复Oracle操作步骤NBU 异机恢复Oracle操作步骤Hehuyi_In 于 2020-05-15 22:36:22 发布 1507 收藏 5分类专栏: Oracle 备份还原版权Oracle同时被 2 个专栏收录206 篇⽂章4 订阅订阅专栏备份还原31 篇⽂章0 订阅订阅专栏⼀、准备⼯作1. DBA恢复服务器安装与原库相同版本的数据库软件、NBU客户端双向开通到NBU备份服务器的1556、13724、13720、13782、13790端⼝的防⽕墙策略(应该只要1556和13724,但为避免还原时出现其他异常,建议都开)/etc/hosts⽂件添加NBU备份服务器主机名及原库主机名,ping 主机名测试能否解析成功确保恢复服务器磁盘空间⾜够2. NBU管理员/etc/hosts⽂件添加待恢复服务器主机名,ping 主机名测试能否解析成功,若不成功可使⽤bpclntcmd -clear_host_cache清除nbu端dns缓存配置恢复授权,确保备份机器和还原机器都在列表中,且允许还原Host Properties->Mater server->Client Attributes若是异机恢复,需在NBU给备份机器和恢复机器增加异机恢复的权限cd /usr/openv/netbackup/db/altnamestouch 主机名检查异机恢复参数NBUInstallPath/NetBackup/bin/admincmd/bpgetconfig | grep "DISALLOW_CLIENT"#输出DISALLOW_CLIENT_LIST_RESTORE = NODISALLOW_CLIENT_RESTORE = NO#若如上两个参数为YES,则表⽰禁⽌进⾏异机恢复,需要将两个参数改成NO,为保证参数⽣效,建议修改后重启主服务器上的NBU服务NBUInstallPath/NetBackup/bin/bp.kill_allNBUInstallPath/NetBackup/bin/bp.start_all⼆、数据恢复以下均在待恢复服务器操作1. 检查备份⽂件情况/usr/openv/netbackup/bin/bplist -C iZwz94g9fehswlnzd19jv2Z -t 4 -b -l -R /# -C后跟备份库主机名;-t后跟还原类型,4是oracle标志;-b指列出备份⽂件的⽇期和时间;-l指列出备份⽂件的详细信息;-R以递归的⽅式显⽰⼦⽬录。
本节演示如何通过RMAN创建的备份集,将数据库恢复到其他服务器。
本小节执行的操作较多,一定要有一个清醒的大脑,因此赶紧把脑袋里那堆乱七八糟的东西清除清除,要不你一定会看晕的。
设定环境如下:源库192.168.100.100,SID:jssbook。
目录库192.168.100.101,已安装与源库相同版本的数据库软件(一定要相同版本哟)。
准备工作如下:记录下源数据库的DBID,DBID的获取方式上节已讲过。
创建完整备份集(含控制文件、数据文件、归档文件),源库为非归档模式也可以,只要确保创建的备份是一致备份,然后将备份集复制到目标服务器的相同路径下。
为简单起见,源端与目标端目录结构保持一致。
如果你在测试或正式操作时由于实际原因无法保持源端与目标端结构一致,在恢复过程中注意修改相关路径。
操作步骤如下:注意,下列操作如非特别注明,均是在目标端服务器上进行的。
1.在源库端创建数据库的完整备份这个过程不用演示了,请没自信的同学自觉重温第8章。
备份集创建成功之后,将其复制到目录端的相同路径下,强调一点,必须是相同路径。
复制方式灵活多样,Windows环境可以直接通过共享复制,Linux/UNIX下可以通过FTP。
2.在目标服务器上创建OracleService如果是Linux/UNIX环境,不需要执行本步骤,只要在连接数据库时指定ORACLE_SID 环境变量即可。
如果是Windows服务器,需要通过ORADIM命令创建一个OracleService,创建的SID 要与源库相同,操作如下:1.C:\Documents and Settings\Administrator>ORADIM -NEW -SID JSSBOOK2.Instance created.上述命令创建了一个名为jssbook的OracleService。
关于ORADIM命令的参数说明,直接执行ORADIM命令,不加任何参数即可看到简要说明。
oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。
数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。
在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。
1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。
- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。
- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。
- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。
- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。
1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。
通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。
我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。
2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。
由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。
因此,在这些情况下,数据库还原变得非常重要。
Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。
2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。
- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。
NBUOracle时间点恢复测试步骤NBU ORACLE恢复测试步骤1、测试环境(1)服务器IBM AIX6.1(2)应用为用友财务系统、久其财务报表系统(3)环境情况:用友系统:CWNCLP1 IP:172.16.173.50CWNCLP2 IP:172.16.173.51数据库系统:Oracle rac软件:nbu 客户端和oracle代理久其系统:BBYWLP1 IP:172.16.173.10BBYWLP2 IP: 172.16.173.11数据库系统:Oracle rac软件:nbu 客户端和oracle代理备份服务器:Backupserver软件:nbu服务器端2、测试需求:用NBU软件备份和Oracle的archivelog方式来恢复数据到一个时间点的数据。
3、测试步骤:测试用友数据(1)在NUB备份服务器上用备份用友数据的策略来对用友数据做全备份。
(2)在备份任务完成后,用友工程师对数据进行更改(如向系统添加数据等)并记录下更改数据的时间。
(如2010-4-24 03:10:15)(3)更改数据完成后,停一段时间后再次对数据进行数据添加并记录下时间(如2010-4-24 03:15:40)(4)在数据更改完成后,停一段时间后。
开始数据恢复。
(5)数据恢复步骤:a)用SSH客户端工具分别登陆到CWNCLP1 CWNCLP2b)在CWNCLP1 CWNCLP2上用Oracle用户登陆,命令为su –oracle.c)登陆成功后,用conn / as sysdba;命令来连接数据库。
在CWNCLP1 CWNCLP2都要进行连接。
d)连接完成后,用shutdown immediate;命令分别在CWNCLP1 CWNCLP2上执行。
e)命令执行完成后,由于是Oracle rac ,所以需要查看一下备份时用的是那一台机器。
查看得到是在CWNCLP2做了数据库备份。
所以在CWNCLP2上执行startupmount;命令。
1、关闭开启的实例数据库(未关监听)shutdown immediate2、传NBU客户端3、安装NBU客户端/usr/openv/netbackup/bin ./oracle_link 建立连接新客户端必须启动这个命令,不然无法进行还原,需要在oracle用户下跑命令4、查询备份信息5、设置备份可强制恢复6、检查Oracle安装软件7、检查NBU客户端进程8、检查备份集cd /usr/openv/netbackup/bin./bplist -C cmccdb1_beifen -t 4-R -b -l /|more9、创建参数文件/u01/app/oracle/database/10R1/dbs oracle环境变量touch init bacdb.orachmod 777 initbacdb.orabacdb.__db_cache_size=1711276032bacdb.__java_pool_size=46976204bacdb.__large_pool_size=13421772bacdb.__oracle_base='/opt/oracle/app/oracle'#ORACLE_BASE set from environmentbacdb.__pga_aggregate_target=677799526bacdb.__sga_target=4019976806 ----服务器内存80%bacdb.__shared_io_pool_size=0bacdb.__shared_pool_size=228170137bacdb.__streams_pool_size=6710886*.audit_file_dest='/opt/oracle/app/oracle/admin/bacdb/adump'*.audit_trail='db'*.compatible='11.2.0.4.0'*.control_files='/opt/oracle/oradata/bacdb/controlfile/control01.ctl','/opt /oracle/oradata/bacdb/controlfile/control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='bacdb'*.diagnostic_dest='/opt/oracle/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=bacdbXDB)'bacdb.instance_number=1*.log_archive_dest_1='location=/opt/oracle/oradata/bacdb/arch'*.open_cursors=2000*.pga_aggregate_target=677799526*.processes=1000*.remote_login_passwordfile='exclusive'#*.sessions=4405*.sga_target=4019976806bacdb.thread=1bacdb.undo_tablespace='UNDOTBS1'10、创建文件目录mkdir -p /opt/oracle/app/oracle/admin/bacdb/adumpmkdir -p /opt/oracle/oradata/bacdb/controlfilemkdir -p /opt/oracle/oradata/bacdb/archmkdir -p /opt/oracle/oradata/bacdb/datafilemkdir -p /opt/oracle/oradata/bacdb/tempfilemkdir -p /opt/oracle/oradata/bacdb/onlinelog11、根据参数文件启动至nomountexport ORACLE_SID=bacdbsqlplus /as sysdbastartup nomount pfile='/opt/oracle/app/oracle/product/11.2.0/db_1/dbs/initbacdb.ora';12、根据参数文件创建spfile文件create spfile from pfile;13、重启至nomount状态startup force nomount;14、创建sys密码文件orapwd file=$ORACLE_HOME/dbs/orapwbacdb password=ERab3OC_4s entries=5 force=y15、恢复控制文件export ORACLE_SID=bacdbrman target /run{allocate channel ch0 type'sbt_tape';send 'NB_ORA_CLIENT= bac-db-01_beifen';send 'nb_ora_serv=NFJD-WHGLZY-NBU-1';restore controlfile from'/cntrl_7110_1_932480583'; release channel ch0;}16、启动至mount状态alter database mount;17、查询需要恢复的表空间select NAME,TS# from v$tablespace;因为我们这里只做部分表空间恢复,只需要恢复SYSTEM,SYSAUX,UNDOTBS1,TEMP,UNDOTBS2,USERS,DATA_SMSGW表空间,所以要分别找出这些表空间都包括那些数据文件:18、查询需要恢复的表空间对应的数据文件select file#,name from v$datafile where TS# in('0','1','2','3','4','5','6')19、恢复数据文件restore数据文件(执行脚本)$ nohup /opt/oracle/oradata/restore/restore.sh > restore.sh.out 2>&1 &rman target / nocatalog <<EOFrun {allocate channel ch00 type'SBT_TAPE';allocate channel ch01 type'SBT_TAPE';allocate channel ch02 type'SBT_TAPE';allocate channel ch03 type'SBT_TAPE';send 'NB_ORA_CLIENT=bac-db-01_beifen';send 'NB_ORA_SERV=NFJD-WHGLZY-NBU-1';set newname for datafile1to'/opt/oracle/oradata/bacdb/datafile/system.262.863641207';set newname for datafile2to'/opt/oracle/oradata/bacdb/datafile/sysaux.261.863641231';set newname for datafile3to'/opt/oracle/oradata/bacdb/datafile/undotbs1.260.863641255';set newname for datafile4to'/opt/oracle/oradata/bacdb/datafile/undotbs2.270.863641297';set newname for datafile5to'/opt/oracle/oradata/bacdb/datafile/users.269.863641331';set newname for datafile6to'/opt/oracle/oradata/bacdb/datafile/data_smsgw.276.863781045';set newname for datafile31to'/opt/oracle/oradata/bacdb/datafile/data_smsgw.301.884961611';set newname for datafile55to'/opt/oracle/oradata/bacdb/datafile/system.329.922185251';set newname for datafile60to'/opt/oracle/oradata/bacdb/datafile/undotbs1.334.925769101';set newname for datafile61to'/opt/oracle/oradata/bacdb/datafile/undotbs2.335.925769185';set newname for datafile62to'/opt/oracle/oradata/bacdb/datafile/system.336.926934061';restore database skip tablespaceTBS_ACS,TBS_UCMQ,TBS_BTS,WH_TS,TBS_MMCC,TBS_IAPMMWLAN,TBS_MMPG,TBS_SIMS20; switch datafile all;release channel ch00;release channel ch01;release channel ch02;release channel ch03;}EOF20、修改线日志文件路径select group#,member from v$logfile order by group#;alter database rename file'+DATA/bacdb/onlinelog/group_1.256.863641201'to'/opt/oracle/oradata/bacdb/onlinelog/group_1.256.863641201';alter database rename file'+DATA/bacdb/onlinelog/group_2.266.863641203'to'/opt/oracle/oradata/bacdb/onlinelog/group_2.266.863641203';alter database rename file'+DATA/bacdb/onlinelog/group_3.258.863643321'to'/opt/oracle/oradata/bacdb/onlinelog/group_3.258.863643321';alter database rename file'+DATA/bacdb/onlinelog/group_4.257.863643323'to'/opt/oracle/oradata/bacdb/onlinelog/group_4.257.863643323';alter database rename file'+DATA/bacdb/onlinelog/group_5.274.863641203'to'/opt/oracle/oradata/bacdb/onlinelog/group_5.274.863641203';alter database rename file'+DATA/bacdb/onlinelog/group_6.273.863641205'to'/opt/oracle/oradata/bacdb/onlinelog/group_6.273.863641205';alter database rename file'+DATA/bacdb/onlinelog/group_7.272.863641205'to'/opt/oracle/oradata/bacdb/onlinelog/group_7.272.863641205';alter database rename file'+DATA/bacdb/onlinelog/group_8.271.863641207'to'/opt/oracle/oradata/bacdb/onlinelog/group_8.271.863641207';alter database rename file'+DATA/bacdb/onlinelog/group_9.268.863643325'to'/opt/oracle/oradata/bacdb/onlinelog/group_9.268.863643325';alter database rename file'+DATA/bacdb/onlinelog/group_10.267.863643325'to'/opt/oracle/oradata/bacdb/onlinelog/group_10.267.863643325';alter database rename file'+DATA/bacdb/onlinelog/group_11.265.863643327'to'/opt/oracle/oradata/bacdb/onlinelog/group_11.265.863643327';alter database rename file'+DATA/bacdb/onlinelog/group_12.264.863643327'to '/opt/oracle/oradata/bacdb/onlinelog/group_12.264.863643327';21、recover数据库run {allocate channel ch00 type'SBT_TAPE';allocate channel ch01 type'SBT_TAPE';allocate channel ch02 type'SBT_TAPE';allocate channel ch03 type'SBT_TAPE';send 'NB_ORA_CLIENT=bac-db-01_beifen';send 'NB_ORA_SERV=NFJD-WHGLZY-NBU-1';recover database skip forever tablespaceTBS_ACS,TBS_UCMQ,TBS_BTS,WH_TS,TBS_MMCC,TBS_IAPMMWLAN,TBS_MMPG,TBS_SIMS20; release channel ch00;release channel ch01;release channel ch02;release channel ch03;}22、打开数据库alter database open resetlogs;select open_mode from v$database;23、创建临时表空间SQL> create temporary tablespace temp1 tempfile '/opt/products/oradata/temp1.dbf' size 500m;Tablespace created.SQL> select tablespace_name from dba_tablespaces where contents='TEMPORARY';TABLESPACE_NAME------------------------------TEMPUSSD2_TEMPTEMP1SQL> alter database default temporary tablespace temp1;Database altered.SQL> drop tablespace TEMP including contents and datafiles;Tablespace dropped.SQL> drop tablespace USSD2_TEMP including contents and datafiles;Tablespace dropped.注:Oracle的恢复需要注意。
异机恢复ORACLE数据库(NBU)ORACLE数据库异机恢复(NBU)一.恢复的前提条件.1.)日常备份都是成功的。
至少有一次全备份及全备份以来的增量备份和Archivelog.2.)原主机的OS及ORACLE版本与目标主机的OS及ORACLE版本保持一致.3.)需要原数据库的下列信息:1)IP Address, Hostname, Nbu media server/client2)Oracle DB version, SID,DBID,Datafile Path,Controlfile Path,Archivelog Path3)Catalog DB IP,SID/Service name ,user/password4.)在目标主机上安装与原数据库版本相同的oracle软件(Install type :Softwareonly)5.)在目标主机上安装Veritas 软件,安装类型与原主机一致(media server or client)二. 下面以aush49上的s1rel DB恢复到aush61为例对veritas 及oracle进行配置.1 )在目标主机上(aush61)配置veritas1) Edit $ORACLE_HOME/bp.conf file(aush61) s3pis> cd $ORACLE_HOME(aush61) s3pis> vi bp.confSERVER = aush06 /*master server host name*/CLIENT_NAME = aush49 /*source host name ,如果aush49是media server则写 SERVER = aush49*/CLINET_READ_TIMEOUT = 18002)Edit /usr/openv/netbackup/bp.conf ( aush61)aush61#vi bp.confSERVER = aush06 /*master servername*/CLIENT_NAME = aush49 /*source host name , 如果aush49是media server则写 SERVER = aush49*/CLIENT_NAME = aush61 /*target host name */VERBOSE = 5CLIENT_READ_TIMEOUT = 1800CLIENT_CONNECT_TIMEOUT = 18003) Touch a file on Master Server (aush06)aush06#cd /usr/openv/netbackup/db/altnamesaush06#touchaush61 /*target host name */2 ) 在master server (aush06)与目标主机(aush61)上配置/etc/hosts 文件aush61#vi /etc/hosts127.0.0.1 localhost10.5.15.61 aush6110.5.15.6 aush0610.5.15.49 aush4910.5.15.58 aush58aush06#vi /etc/hosts127.0.0.1 localhost10.5.15.61 aush6110.5.15.6 aush0610.5.15.49 aush4910.5.15.58 aush583) 在目标主机上(aush61)配置ORACLE.1 )创建于原数据库(aush49)相同的oracle user/group : s3pis/dba2 ) 配置s3pis环境变量(aush61) s3pis> more .profileORACLE_HOME=/u01/s3pis;export ORACLE_HOMEORACLE_SID=s3rel;export ORACLE_SIDPATH=$PATH:$ORACLE_HOME/bin;export PATHPS1="(`hostname`) `whoami`> "LD_LIBRARY_PATH=$ORACLE_HOME/lib;exportLD_LIBRARY_PATH3 ) 安装与原数据库相同版本的Oracle 软件,安装类型:SOFTWARE ONLY.4 ) 创建$ORACLE_HOME/network/admin/tnsnames.ora 文件连接catalog DB.(aush61) s3pis> more tnsnames.oracatalog =(description=(address_list=(address=(protocol=tcp)(host=10.5.13.178)(port=1521)))(connect_data=(service_name=catalog)))5 ) 创建pfile如果有原数据库(s1rel db)的pfile 或spfile ,可以直接使用;如果没有可以手动创建pfile !6 )创建与原数据库(s1rel db)相同的文件存放路径!1)根据对原数据库(s1rel )的日常维护信息,可以知道controlfile,datafile,archivelog file 的存取路径。
oracle 11g rac 恢复到单机环境介绍:10.204.101.45和46是11.2.0.4.0的rac环境,变成单机恢复到测试环境10.204.16.155(双方都是linux系统)101.45-racdb1101.46-racdb2补充:通过查看v$db_transportable_platform可以看到跨平台恢复是否支持:AIX 支持的平台恢复:linux 支持的平台恢复:一、16.155环境准备1、安装数据库软件2、安装nbu:二、恢复1、新建参数文件:到101.45上面把参数文件down下来修改下,修改后内容如下:cd $ORACLE_HOME/dbs/vi initracdb.oraracdb.__db_cache_size=369098752racdb.__java_pool_size=16777216racdb.__large_pool_size=33554432racdb.__oracle_base='/oracle/app/oracle'racdb.__pga_aggregate_target=553648128racdb.__sga_target=1056964608racdb.__shared_io_pool_size=0racdb.__shared_pool_size=620756992racdb.__streams_pool_size=0*.audit_file_dest='/oracle/app/admin/racdb/adump'*.audit_trail='FALSE'#*.cluster_database=true //单机去掉*.compatible='11.2.0.4.0'*.control_files='/oracle/app/oradata/racdb/ctl01.ctl'*.db_block_size=8192*.db_create_file_dest='/oracle/app'*.db_domain=''*.db_name='racdb'*.diagnostic_dest='/oracle/app'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'racdb.instance_number=1racdb.log_archive_dest_1='LOCATION=/oracle/arch'*.memory_target=1606418432*.open_cursors=300*.processes=500*.remote_login_passwordfile='exclusive'*.sessions=555racdb.thread=1racdb.undo_tablespace='UNDOTBS1'注意事项:1>把racdb2的删除掉,把racdb1替换成racdb2>把涉及到路径的替换成实际环境的,有些目录得手工创建。
oracle备份如何到异机还原作者:ocpyang情景描述:有朋友问,MSSQLSERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,oracle有控制文件、参数文件一堆东西,觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!为了简单快速,我才用RMAN备份和还原--说明:(1).RMAN备份到异机恢复的时候,db_name需要相同。
如果说要想改成其他的实例名,可以在恢复成功后,用nid命令修改。
实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。
(2).恢复的路径和源库不一致时,就需要在restore命令中使用set 命令指定新位置,并且使用switch datafile all将变更信息更新的到控制文件中。
测试环境:源数据库服务器A,安装在E,备份目录已在E盘;源数据库服务器B,安装在F盘.------------------------------------一、源数据库准备工作--------------------------------------1. 查询DBIDSQL> select name,dbid from v$database;NAME DBID--------- ----------ORCL 1320546556--2. 备份源数据DBrun {configure retention policy to recovery window of 14 days;configure controlfileautobackup on; --自动开启控制文件备份configure controlfileautobackup format for device type disk to'E:\backup\controlfile\bak_%F';allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--或run {configure retention policy to recovery window of 14 days;allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;--手动直接指明备份文件名和路径backup current controlfile tag='bak_ctrollfile'format='E:\backup\controlfile\bak_ctl_file_%U_%T';backup spfile tag='bak_spfile' format='E:\backup\controlfile\bak_spfile_%U_%T'; release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--3.手动备份spfilecreatepfile='E:\backup\inittest.ora' from spfile;------------------------------------二、目标库准备工作:---------------------------------------步骤1. 创建口令文件--如果有就不需要新建.orapwd file=F:\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora password=password--步骤2.恢复参数文件--方法1.源数据库spfile并拷贝到B数据库服务器\\192.168.2.25\e$\backup\inittest.ORA复制到E:\bk\inittest.ORA--步骤3.编辑参数文件中的文件路径如路径和原来一样,则不需修改eg:- *_DUMP_DEST- LOG_ARCHIVE_DEST*- CONTROL_FILES---实例:orcl.__db_cache_size=939524096orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='F:\app\Administrator'#修改路径orcl.__pga_aggregate_target=855638016orcl.__sga_target=2550136832orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1526726656orcl.__streams_pool_size=16777216*.audit_file_dest='F:\app\Administrator\admin\orcl\adump' #修改路径*.audit_trail='db'*.compatible='11.2.0.0.0'#修改路径*.control_files='F:\app\Administrator\oradata\orcl\control01.ctl','F:\app\Administrator\orada ta\orcl\control02.ctl','F:\app\Administrator\oradata\orcl\control03.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='F:\arch' #修改路径*.db_recovery_file_dest_size=6442450944*.diagnostic_dest='F:\app\Administrator' #修改路径*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='location=f:\arch' #修改路径*.nls_date_format='yyyy-mm-ddhh:mi:ss'*.open_cursors=300*.optimizer_capture_sql_plan_baselines=TRUE*.pga_aggregate_target=845152256*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=2536505344*.skip_unusable_indexes=TRUE*.undo_tablespace='UNDOTBS1'--步骤4.重启实例,使用已编辑好的参数文件将用pfile将B数据库服务器启动到nomout状态rman target /startupnomountpfile='e:\bk\inittest.ora'--步骤5.恢复控制文件,装载数据库rman target /setdbid 1320546556restorecontrolfile from 'e:\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';启动restore 于2013-04-11 13:58:58使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道ORA_DISK_1: SID=129 设备类型=DISK通道ORA_DISK_1: 正在还原控制文件通道ORA_DISK_1: 还原完成, 用时: 00:00:01输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL完成restore 于2013-04-11 13:59:00--步骤6.将DB启动到mout状态alter database mount;数据库已装载释放的通道: ORA_DISK_1--加载备份目录CATALOG START WITH 'E:\bk';搜索与样式E:\bk 匹配的所有文件数据库未知文件的列表====================================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM是否确实要将上述文件列入目录(输入YES 或NO)? yes正在编制文件目录...目录编制完毕已列入目录的文件的列表======================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM--步骤7.restore 数据库7.1 恢复目录不同的情况:到Target 库查询一下:SQL> select trim(file_id),trim(file_name) from dba_data_files ORDER BY FILE_ID ASC;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF2 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF3 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF4 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF6 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF7 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF8 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF9 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF11 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF12 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF13 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF14 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF15 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF16 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF17 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF18 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF19 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF20 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF21 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF22 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF23 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF24 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF25 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF26 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBFSQL>select trim(file_id),trim(file_name) from dba_temp_files;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBFselect 'SET NEWNAME FOR DATAFILE'|| ' '||file_id||' '||'TO'|| ' '||''''||trim(file_name)||'''' ||';' from dba_data_files ORDER BY FILE_ID ASC;---如下实例:RUN{# rename the datafilesSET NEWNAME FOR DATAFILE 1 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'; SET NEWNAME FOR DATAFILE 2 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF'; SET NEWNAME FOR DATAFILE 3 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF'; SET NEWNAME FOR DATAFILE 4 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'; SET NEWNAME FOR DATAFILE 6 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF'; SET NEWNAME FOR DATAFILE 7 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF'; SET NEWNAME FOR DATAFILE 8 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF'; SET NEWNAME FOR DATAFILE 9 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF'; SET NEWNAME FOR DATAFILE 11 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF'; SET NEWNAME FOR DATAFILE 12 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF'; SET NEWNAME FOR DATAFILE 13 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF'; SET NEWNAME FOR DATAFILE 14 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF'; SET NEWNAME FOR DATAFILE 15 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF'; SET NEWNAME FOR DATAFILE 16 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF'; SET NEWNAME FOR DATAFILE 17 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';SET NEWNAME FOR DATAFILE 18 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';SET NEWNAME FOR DATAFILE 19 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';SET NEWNAME FOR DATAFILE 20 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';SET NEWNAME FOR DATAFILE 21 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';SET NEWNAME FOR DATAFILE 22 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';SET NEWNAME FOR DATAFILE 23 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';SET NEWNAME FOR DATAFILE 24 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';SET NEWNAME FOR DATAFILE 25 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';SET NEWNAME FOR DATAFILE 26 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO01.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO01.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO02.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO02.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO03.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO03.LOG'' ";RESTORE DATABASE;SWITCH DATAFILE ALL;}对switch datafile all的说明:--对于nocatalog模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。
oracle 11g rac 恢复到单机环境介绍:10.204.101.45和46是11.2.0.4.0的rac环境,变成单机恢复到测试环境10.204.16.155(双方都是linux系统)101.45-racdb1101.46-racdb2补充:通过查看v$db_transportable_platform可以看到跨平台恢复是否支持:AIX 支持的平台恢复:linux 支持的平台恢复:一、16.155环境准备1、安装数据库软件2、安装nbu:二、恢复1、新建参数文件:到101.45上面把参数文件down下来修改下,修改后内容如下:cd $ORACLE_HOME/dbs/vi initracdb.oraracdb.__db_cache_size=369098752racdb.__java_pool_size=16777216racdb.__large_pool_size=33554432racdb.__oracle_base='/oracle/app/oracle'racdb.__pga_aggregate_target=553648128racdb.__sga_target=1056964608racdb.__shared_io_pool_size=0racdb.__shared_pool_size=620756992racdb.__streams_pool_size=0*.audit_file_dest='/oracle/app/admin/racdb/adump'*.audit_trail='FALSE'#*.cluster_database=true //单机去掉*.compatible='11.2.0.4.0'*.control_files='/oracle/app/oradata/racdb/ctl01.ctl'*.db_block_size=8192*.db_create_file_dest='/oracle/app'*.db_domain=''*.db_name='racdb'*.diagnostic_dest='/oracle/app'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'racdb.instance_number=1racdb.log_archive_dest_1='LOCATION=/oracle/arch'*.memory_target=1606418432*.open_cursors=300*.processes=500*.remote_login_passwordfile='exclusive'*.sessions=555racdb.thread=1racdb.undo_tablespace='UNDOTBS1'注意事项:1>把racdb2的删除掉,把racdb1替换成racdb2>把涉及到路径的替换成实际环境的,有些目录得手工创建。
目录Linux平台下的恢复测试 (2)1. Oracle数据库恢复测试环境 (2)2. 恢复spfile文件 (4)3. 恢复控制文件 (5)4. 恢复数据文件 (6)5. 还原数据库 (7)6. 检验数据库一致性 (8)Linux平台下的恢复测试1.Oracle数据库恢复测试环境Windows 7 上安装NBU Master Server端,两个虚拟机上分别为源端和测试端,oracle 版本为oracle10g,数据库实例名为test。
整个恢复测试分为数据库的全备,数据库的spfile文件恢复,控制文件controlfile的恢复,恢复数据库和还原数据库。
恢复前准备,做好远数据库端的数据库全备,查询清楚源端数据库的备份集信息,如下图,1.在备份服务器上使用bplist命令,查看ORACLE数据库备份文件。
bplist –C oa.localdomain –t 4 –R \2.在源端rman上查看list backupset;查询spfile文件和控制文件的备份集信息,在测试端安装好oracle 的数据库软件和监听,不需要建立实例;在测试端建立好几个文件路径:/u01/app/oracle/product/10.2.0/admin/test下建立adump、bdump、cdump、udump、dpdump和pfile文件夹;在/u01/oracle下建立oradata和其子目录test文件夹。
Rman noumount状态登陆,然后登录如下,退出重新登陆rman 登录后状态为DUMMY。
2.恢复spfile文件现在一起准备就绪,输入恢复脚本,在脚本中加入从备份集查询到的信息,如下:run{allocate channel ch01 type 'sbt_tape';allocate channel ch02 type 'sbt_tape'parms="ENV=(NB_ORA_CLIENT=win2003,NB_ORA_SID=test,NB_ORA_SERV=axelpc)";restore spfile to 'E:\oracle\product\10.2.0\db_1\dbs\spfiletest.ora' from 'bk_u0ap2bbh9_s10_p1_t841330217';release channel ch1;release channel ch2;}解析:1.NB_ORA_CLIENT=oratest,NB_ORA_SERV=axelpc分别是源端主机名,数据库实例名,备份服务器的主机名2./u01/app/oracle/product/10.2.0/db_1dbs/spfiletest.ora是spfile的文件路径3.bk_4_1_842413981是spfile备份集的句柄,也可在NBU服务端查询,查询指令为:bplist -C test -t 4 –R\ 输出结果如下图,恢复成功之后可以看到如下显示,3.恢复控制文件Sqlplus进入启动nomount状态:>startup nomount;然后进入rman下运行如下脚本:run{allocate channel ch01 type 'sbt_tape'parms="ENV=(NB_ORA_CLIENT=oratest,NB_ORA_SERV=axelpc)"; restore controlfile from ' cntrl_7_1_842414152';release channel ch01;}解析都一样,其中cntrl_7_1_842414152是控制文件的备份集句柄。
TSM Oracle 11gR2数据库异机完全恢复手册说明:该手册是公司TSM灾备恢复手册的一部分。
目前使用TSM备份的公司已经不多了,而且会使用TSM的人大部分都不会Oracle,会Oracle的人也不一定就会TSM。
而我是两者都不会的人,只是不断的参考别人的帮助,然后一步一步验证出来的,所以说还是很有参考价值。
另外,也可以作为Oracle RMAN恢复的参考,TSM在里面的作用就是开启一个恢复通道而已。
当然,里面也有考虑不全的地方,如果有疑问,可以发邮件到*********************一起讨论。
1.O racle数据库恢复1.1.准备注意事项:➢备份时一定要备份控制文件、数据库和归档日志;➢恢复前必须知道源数据库的详细版本号;➢恢复前必须知道源数据库的数据库名称、数据库ID号(即DBID);➢恢复前必须知道源数据库的控制文件、数据文件、归档日志文件保存的目录路径;➢恢复前必须知道源数据备份的控制文件的备份名称;➢恢复前备份源数据库的TSM配置:NODE名称,DSM.OPT配置文件,TDOP.OPT配置文件(请参考TSM备份架构文档)。
2.1.1.源服务器数据库查询1)登录源服务器数据库,使用查询语句查询源数据库的数据库版本。
查询语句如下:SQL>select * from v$version;得到的结果如下图所示:2)使用查询语句查询源数据库的数据库名称及DBID。
如下:SQL>select name,dbid from v$database;得到的结果如下图:3)使用查询语句查询源数据库的数据文件存放路径。
如下:SQL>select , from v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;得到的结果如下图:4)使用查询语句查询SPFILE和PFILE文件位置:SQL>SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';得到下图:5)使用查询语句查询控制文件路径,如下:SQL> select name from v$controlfile;得到下图:6)使用查询语句查询归档日志文件路径,如下:SQL>select destination from v$archive_dest where destination is not null;得到下图:7)使用查询语句查询fast_recover_area的目录路径,如下:SQL>show parameter revocery;或者:SQL>select name from v$recovery_file_dest;得到下图:2.1.2.源数据库备份TSM备份请参考TSM备份架构文档。
ORACLE 11G AIX HA ----NBU异机恢复过程恢复前提1.两台机器上NUB软件都已经安装好2.指定Master SERVER 上的/usr/openv/netbackup/bp.conf恢复源FORCE_RESTORE_MEDIA_SERVER = 生产库hostname 测试库hostname从生产库恢复到测试库。
操作目的节点POTLDB01 数据库恢复到POTLDB02即在节点POTLDB01上运行,并在节点POTLDB01上备份,恢复到POTLDB02上节点POTLDB01机器检查过程1.检查环境变量检查root@POTLDB01:/usr/openv/rmanscript#ps -ef |grep smonroot 385272 467274 0 10:40:22 pts/2 0:00 grep smonoracle 655484 1 0 Jul 25 - 0:06 ora_smon_portaldb机器名字root@POTLDB01:/usr/openv/rmanscript#hostnamePOTLDB01root@POTLDB01:/usr/openv/rmanscript#pwd ---rman脚本位置/usr/openv/rmanscriptroot@POTLDB01:/usr/openv/rmanscript#lshot_database_portaldb.sh hot_database_portaldb.sh.out hot_database_portaldb.sh_bak/etc/hosts文件172.16.3.115 POTLDB01_boot172.16.3.116 POTLDB02_boot172.16.3.116 POTLDB02172.16.3.115 POTLDB011.1.3.115 POTLDB01_stby1.1.3.116 POTLDB02_stby172.16.3.117 POTLDB_svc172.16.7.142 SHYQ-PS-MV-SV03-POTLDB01-nbu172.16.7.143 SHYQ-PS-MV-SV03-POTLDB02-nbu 网关IP10.11.233.124 nbumaster172.16.10.250 yqbf原备份脚本:$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOFRUN {ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';send 'NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu';BACKUP$BACKUP_TYPESKIP INACCESSIBLETAG hot_db_bk_level0FILESPERSET 5# recommended formatFORMAT 'bk_%s_%p_%t'DATABASE;sql 'alter system archive log current';RELEASE CHANNEL ch00;加入后的脚本如下:BACKUP# recommended formatFORMAT '/oradata/rman_bak/controlfile/ portal_bak _%s_%p_%t'CURRENT CONTROLFILE;在节点POTLDB01成功备份后发现控制文件如下:root@POTLDB02:/usr/openv/rmanscript#ls -l /oradata/rman_bak/controlfiletotal 131072-rw-r----- 1 oracle 1001 13402112 Jul 28 11:38 portal_bak_25_1_757683479-rw-r----- 1 oracle 1001 13434880 Jul 28 11:36 portal_control_c-603295704-20110728-03 -rw-r----- 1 oracle 1001 13434880 Jul 28 11:38 portal_control_c-603295704-20110728-04 -rw-r----- 1 oracle dba 13434880 Jul 28 13:46 portal_control_c-603295704-20110728-05 -rw-r----- 1 oracle 1001 13402112 Jul 28 11:36 portaldb_controlfile_bak_23_1_757683366 获取DBIDSQL> select dbid from v$database;DBID----------603295704查看备份记录root@POTLDB01:/usr/openv/netbackup/bin#./bplist -C SHYQ-PS-MV-SV03-POTLDB01-nbu -S nbumaster -t 4 -R //c-603295704-20110728-02/cntrl_21_1_757683165/c-603295704-20110728-01/al_bk_19_1_757682964/c-603295704-20110728-00/bk_17_1_757682762/bk_16_1_757682227/bk_603295704_11_1_757680386/cntrl_10_1_757680271/al_bk_603295704_8_1_757680166/bk_603295704_7_1_757680069/bk_603295704_6_1_757679974/cntrl_5_1_757679319/al_4_1_757679223/bk_3_1_757679124/bk_2_1_757678789模拟数据库文件被删掉root@POTLDB01:/oradata/datafiles/portaldb#pwd/oradata/datafiles/portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsarchives control02.ctl redo101.log redo201.log redo301.log redo401.log redo501.log sysaux01.dbf temp01.dbf users01.dbfcontrol01.ctl control03.ctl redo102.log redo202.log redo302.log redo402.log redo502.log system01.dbf undotbs01.dbfroot@POTLDB01:/oradata/datafiles/portaldb#cd ../root@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#mv portaldb portal_colroot@POTLDB01:/oradata/datafiles#mkdir portaldbroot@POTLDB01:/oradata/datafiles#cd portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsroot@POTLDB01:/oradata/datafiles/portaldb#mkdir archivesroot@POTLDB01:/oradata/datafiles/portaldb#chown –R oracle:dba /oradata/datafiles异机恢复到POTLDB02过程root@POTLDB02:/#lspvhdisk0 00c5c5666830b3fa rootvg active hdisk1 00c5c5666c01952b rootvg active hdisk2 00c5c5366a63d937 datavghdisk3 00c5c5366a65b992 hbvgroot@POTLDB02:/#varyonvg datavgroot@POTLDB02:/#mount /dev/data_lv /oradataroot@POTLDB02:/#su - oracleoracle@POTLDB02:/home/oracle$sqlplus /nologconnSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:28 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> /as sysdba;Connected to an idle instance.SQL>SQL>SQL>SQL> exitDisconnectedoracle@POTLDB02:/home/oracle$rman target /Recovery Manager: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:49 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database (not started)RMAN> startup nomount;Oracle instance startedTotal System Global Area 43025158144 bytesFixed Size 2156784 bytesVariable Size 20669531920 bytesDatabase Buffers 22280142848 bytesRedo Buffers 73326592 bytesRMAN> set dbid=603295704executing command: SET DBIDRMAN> restore controlfile from '/oradata/rman_bak/controlfile/portal_bak_25_1_757683479';Starting restore at 28-JUL-11using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=2188 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01output file name=/oradata/datafiles/portaldb/control01.ctloutput file name=/oradata/datafiles/portaldb/control02.ctloutput file name=/oradata/datafiles/portaldb/control03.ctlFinished restore at 28-JUL-11RMAN> alter database mount;database mountedRMAN>RMAN>RMAN> run2> {3> allocate channel t1 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';4> allocate channel t2 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';5> restore database;6> switch datafile all;7> recover database;8> sql 'alter database open resetlogs';9> release channel t1;10> release channel t2;11> }allocated channel: t1channel t1: SID=2187 device type=SBT_TAPEchannel t1: Veritas NetBackup for Oracle - Release 6.5 (2009050106)allocated channel: t2channel t2: SID=2188 device type=SBT_TAPEchannel t2: Veritas NetBackup for Oracle - Release 6.5 (2009050106)Starting restore at 28-JUL-11channel t1: starting datafile backup set restorechannel t1: specifying datafile(s) to restore from backup setchannel t1: restoring datafile 00001 to /oradata/datafiles/portaldb/system01.dbfchannel t1: restoring datafile 00002 to /oradata/datafiles/portaldb/sysaux01.dbfchannel t1: restoring datafile 00003 to /oradata/datafiles/portaldb/undotbs01.dbfchannel t1: restoring datafile 00004 to /oradata/datafiles/portaldb/users01.dbfchannel t1: reading from backup piece bk_16_1_757682227channel t1: piece handle=bk_16_1_757682227 tag=HOT_DB_BK_LEVEL0channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:03:55Finished restore at 28-JUL-11Starting recover at 28-JUL-11starting media recoverychannel t1: starting archived log restore to default destinationchannel t1: restoring archived logarchived log thread=1 sequence=11channel t1: restoring archived logarchived log thread=1 sequence=12channel t1: reading from backup piece al_bk_19_1_757682964channel t1: piece handle=al_bk_19_1_757682964 tag=TAG20110728T112924channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:01:25archived log file name=/oradata/datafiles/portaldb/archives/1_11_756554328.dbf thread=1 sequence=11 archived log file name=/oradata/datafiles/portaldb/archives/1_12_756554328.dbf thread=1 sequence=12 unable to find archived logarchived log thread=1 sequence=13released channel: t1released channel: t2RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 07/28/2011 13:44:17RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 13 and starting SCN of 436680RMAN> alter database open;RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of alter db command at 07/28/2011 13:45:00ORA-01589: must use RESETLOGS or NORESETLOGS option for database open RMAN> sql 'alter database open resetlogs';sql statement: alter database open resetlogs成功检查oracle@POTLDB02:/home/oracle$sqlplus /nologSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 14:04:12 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> conn /as sysdba;Connected.SQL>SQL>SQL> select status,instance_name from v$instance;STATUS INSTANCE_NAME------------ ----------------OPEN portaldbSQL>。
ORACLE 11G AIX HA ----NBU异机恢复过程恢复前提1.两台机器上NUB软件都已经安装好2.指定Master SERVER 上的/usr/openv/netbackup/bp.conf恢复源FORCE_RESTORE_MEDIA_SERVER = 生产库hostname 测试库hostname从生产库恢复到测试库。
操作目的节点POTLDB01 数据库恢复到POTLDB02即在节点POTLDB01上运行,并在节点POTLDB01上备份,恢复到POTLDB02上节点POTLDB01机器检查过程1.检查环境变量检查root@POTLDB01:/usr/openv/rmanscript#ps -ef |grep smonroot 385272 467274 0 10:40:22 pts/2 0:00 grep smonoracle 655484 1 0 Jul 25 - 0:06 ora_smon_portaldb机器名字root@POTLDB01:/usr/openv/rmanscript#hostnamePOTLDB01root@POTLDB01:/usr/openv/rmanscript#pwd ---rman脚本位置/usr/openv/rmanscriptroot@POTLDB01:/usr/openv/rmanscript#lshot_database_portaldb.sh hot_database_portaldb.sh.out hot_database_portaldb.sh_bak/etc/hosts文件172.16.3.115 POTLDB01_boot172.16.3.116 POTLDB02_boot172.16.3.116 POTLDB02172.16.3.115 POTLDB011.1.3.115 POTLDB01_stby1.1.3.116 POTLDB02_stby172.16.3.117 POTLDB_svc172.16.7.142 SHYQ-PS-MV-SV03-POTLDB01-nbu172.16.7.143 SHYQ-PS-MV-SV03-POTLDB02-nbu 网关IP10.11.233.124 nbumaster172.16.10.250 yqbf原备份脚本:$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOFRUN {ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';send 'NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu';BACKUP$BACKUP_TYPESKIP INACCESSIBLETAG hot_db_bk_level0FILESPERSET 5# recommended formatFORMAT 'bk_%s_%p_%t'DATABASE;sql 'alter system archive log current';RELEASE CHANNEL ch00;加入后的脚本如下:BACKUP# recommended formatFORMAT '/oradata/rman_bak/controlfile/ portal_bak _%s_%p_%t'CURRENT CONTROLFILE;在节点POTLDB01成功备份后发现控制文件如下:root@POTLDB02:/usr/openv/rmanscript#ls -l /oradata/rman_bak/controlfiletotal 131072-rw-r----- 1 oracle 1001 13402112 Jul 28 11:38 portal_bak_25_1_757683479-rw-r----- 1 oracle 1001 13434880 Jul 28 11:36 portal_control_c-603295704-20110728-03 -rw-r----- 1 oracle 1001 13434880 Jul 28 11:38 portal_control_c-603295704-20110728-04 -rw-r----- 1 oracle dba 13434880 Jul 28 13:46 portal_control_c-603295704-20110728-05 -rw-r----- 1 oracle 1001 13402112 Jul 28 11:36 portaldb_controlfile_bak_23_1_757683366 获取DBIDSQL> select dbid from v$database;DBID----------603295704查看备份记录root@POTLDB01:/usr/openv/netbackup/bin#./bplist -C SHYQ-PS-MV-SV03-POTLDB01-nbu -S nbumaster -t 4 -R //c-603295704-20110728-02/cntrl_21_1_757683165/c-603295704-20110728-01/al_bk_19_1_757682964/c-603295704-20110728-00/bk_17_1_757682762/bk_16_1_757682227/bk_603295704_11_1_757680386/cntrl_10_1_757680271/al_bk_603295704_8_1_757680166/bk_603295704_7_1_757680069/bk_603295704_6_1_757679974/cntrl_5_1_757679319/al_4_1_757679223/bk_3_1_757679124/bk_2_1_757678789模拟数据库文件被删掉root@POTLDB01:/oradata/datafiles/portaldb#pwd/oradata/datafiles/portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsarchives control02.ctl redo101.log redo201.log redo301.log redo401.log redo501.log sysaux01.dbf temp01.dbf users01.dbfcontrol01.ctl control03.ctl redo102.log redo202.log redo302.log redo402.log redo502.log system01.dbf undotbs01.dbfroot@POTLDB01:/oradata/datafiles/portaldb#cd ../root@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#lsportaldbroot@POTLDB01:/oradata/datafiles#mv portaldb portal_colroot@POTLDB01:/oradata/datafiles#mkdir portaldbroot@POTLDB01:/oradata/datafiles#cd portaldbroot@POTLDB01:/oradata/datafiles/portaldb#lsroot@POTLDB01:/oradata/datafiles/portaldb#mkdir archivesroot@POTLDB01:/oradata/datafiles/portaldb#chown –R oracle:dba /oradata/datafiles异机恢复到POTLDB02过程root@POTLDB02:/#lspvhdisk0 00c5c5666830b3fa rootvg active hdisk1 00c5c5666c01952b rootvg active hdisk2 00c5c5366a63d937 datavghdisk3 00c5c5366a65b992 hbvgroot@POTLDB02:/#varyonvg datavgroot@POTLDB02:/#mount /dev/data_lv /oradataroot@POTLDB02:/#su - oracleoracle@POTLDB02:/home/oracle$sqlplus /nologconnSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:28 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> /as sysdba;Connected to an idle instance.SQL>SQL>SQL>SQL> exitDisconnectedoracle@POTLDB02:/home/oracle$rman target /Recovery Manager: Release 11.1.0.7.0 - Production on Thu Jul 28 13:32:49 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database (not started)RMAN> startup nomount;Oracle instance startedTotal System Global Area 43025158144 bytesFixed Size 2156784 bytesVariable Size 20669531920 bytesDatabase Buffers 22280142848 bytesRedo Buffers 73326592 bytesRMAN> set dbid=603295704executing command: SET DBIDRMAN> restore controlfile from '/oradata/rman_bak/controlfile/portal_bak_25_1_757683479';Starting restore at 28-JUL-11using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=2188 device type=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:01output file name=/oradata/datafiles/portaldb/control01.ctloutput file name=/oradata/datafiles/portaldb/control02.ctloutput file name=/oradata/datafiles/portaldb/control03.ctlFinished restore at 28-JUL-11RMAN> alter database mount;database mountedRMAN>RMAN>RMAN> run2> {3> allocate channel t1 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';4> allocate channel t2 type 'sbt_tape' parms 'ENV=(NB_ORA_SERVER=nbumaster,NB_ORA_CLIENT=SHYQ-PS-MV-SV03-POTLDB01-nbu)';5> restore database;6> switch datafile all;7> recover database;8> sql 'alter database open resetlogs';9> release channel t1;10> release channel t2;11> }allocated channel: t1channel t1: SID=2187 device type=SBT_TAPEchannel t1: Veritas NetBackup for Oracle - Release 6.5 (2009050106)allocated channel: t2channel t2: SID=2188 device type=SBT_TAPEchannel t2: Veritas NetBackup for Oracle - Release 6.5 (2009050106)Starting restore at 28-JUL-11channel t1: starting datafile backup set restorechannel t1: specifying datafile(s) to restore from backup setchannel t1: restoring datafile 00001 to /oradata/datafiles/portaldb/system01.dbfchannel t1: restoring datafile 00002 to /oradata/datafiles/portaldb/sysaux01.dbfchannel t1: restoring datafile 00003 to /oradata/datafiles/portaldb/undotbs01.dbfchannel t1: restoring datafile 00004 to /oradata/datafiles/portaldb/users01.dbfchannel t1: reading from backup piece bk_16_1_757682227channel t1: piece handle=bk_16_1_757682227 tag=HOT_DB_BK_LEVEL0channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:03:55Finished restore at 28-JUL-11Starting recover at 28-JUL-11starting media recoverychannel t1: starting archived log restore to default destinationchannel t1: restoring archived logarchived log thread=1 sequence=11channel t1: restoring archived logarchived log thread=1 sequence=12channel t1: reading from backup piece al_bk_19_1_757682964channel t1: piece handle=al_bk_19_1_757682964 tag=TAG20110728T112924channel t1: restored backup piece 1channel t1: restore complete, elapsed time: 00:01:25archived log file name=/oradata/datafiles/portaldb/archives/1_11_756554328.dbf thread=1 sequence=11 archived log file name=/oradata/datafiles/portaldb/archives/1_12_756554328.dbf thread=1 sequence=12 unable to find archived logarchived log thread=1 sequence=13released channel: t1released channel: t2RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 07/28/2011 13:44:17RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 13 and starting SCN of 436680RMAN> alter database open;RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of alter db command at 07/28/2011 13:45:00ORA-01589: must use RESETLOGS or NORESETLOGS option for database open RMAN> sql 'alter database open resetlogs';sql statement: alter database open resetlogs成功检查oracle@POTLDB02:/home/oracle$sqlplus /nologSQL*Plus: Release 11.1.0.7.0 - Production on Thu Jul 28 14:04:12 2011Copyright (c) 1982, 2008, Oracle. All rights reserved.SQL> conn /as sysdba;Connected.SQL>SQL>SQL> select status,instance_name from v$instance;STATUS INSTANCE_NAME------------ ----------------OPEN portaldbSQL>。