legato networker 备份oracle 9.0.1.1.1问题,如何使用增量备份恢复?
networker 安装在linxu as 4u4上,oracle 9.0.1.1.1安装在win2003 上,nsrnmo 4.2备份的全备份脚本:
connect target bakuser/bakuser@ora9i
run {
sql 'alter session set nls_language=american';
sql 'alter system switch logfile';
allocate channel ch1 type 'sbt_tape';
allocate channel ch2 type 'sbt_tape';
send 'NSR_ENV=(NSR_SERVER=cls1,NSR_CLIENT=bakserver,NSR_DATA_VOLUME_POOL=dbpool)';
backup full filesperset 5 format 'ora9i_%p_%u_%s_$t'
(database include current controlfile);
release channel ch1;
release channel ch2;
allocate channel d1 type disk;
copy current controlfile to 'c:\controlfile\control.ctl';
release channel d1;
}
备份的增量备份脚本
connect target bakuser/bakuser@ora9i
run {
sql 'alter session set nls_language=american';
sql 'alter system switch logfile';
allocate channel ch1 type 'sbt_tape';
allocate channel ch2 type 'sbt_tape';
send 'NSR_ENV=(NSR_SERVER=cls1,NSR_CLIENT=bakserver,NSR_DATA_VOLUME_POOL=dbpool)';
backup incremental level=2 filesperset 5 format 'ora9i_%p_%u_%s_$t'
(database include current controlfile);
release channel ch1;
release channel ch2;
allocate channel d1 type disk;
copy current controlfile to 'c:\controlfile\control.ctl';
release channel d1;
}
过程:
1.停数据库,执行了一次冷备份;
2.启动数据在test1tablespace上创建表test1user.test1,然后插入几个值,然后执行增量备份(把备份的group的start time调到马上就到的北京时间,比如现在是11:00,调到11:02启动备份)
3.再在test1user.test1表上插入一些值据然后再增量备份;
4.把数据库停下来,删除所有的控制文件,归档文件,日志文件,数据文件;
5.然后把冷备份的数据文件拷贝回来,把备份的控制文件拷贝回来,并且改名为cotrol01.ctl,control02.ctl,control03.ctl;
6.连接数据库conn sys/sys@ora9i as sysdba;
7.startup mount ;
8.在客户端执行如下:
rman target sys/sys@ora9i nocatalog
run {
allocate channel t1 type sbt_tape;
allocate channel t2 type set_tape;
send 'nsr_env=(nsr_server=bakserver,nsr_client=cls1,nsr_data_volume_pool=dbpool)';
restore database;
release channel t1;
release channel t2;
}
9.回到sqlplusw,执行如下:
recover database using backup controlfile until cancel ;
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 379548 (在 06/17/2008 11:04:28 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:\ARCHIVE2ARC00018.001
ORA-00280: 更改 379548 对于线程 1 是按序列 # 18 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
是不是没有执行增量备份的恢复,只是恢复了全备份? restore database until time ......
recover database until time ...... 脚本不对 原帖由 yddll 于 2008-6-17 22:38 发表 http://bbs.chinaunix.net/images/common/back.gif
restore database until time ......
recover database until time ......
我查了emc提供的emc networker module for oracle 手册没有提到用recover database这个命令,还有我执行如下命令也提示recover database 提示如下:
C:\Documents and Settings\Administrator>rman target sys/sys@ora9i nocatalog
恢复管理器: 版本9.0.1.1.1 - Production
(c) Copyright 2001 Oracle Corporation.All rights reserved.
连接到目标数据库: ORA9I (DBID=2456664265)
正在使用目标数据库控制文件替代恢复目录
RMAN>run {
2> allocate channel t1 type sbt_tape;
3> allocate channel t2 type sbt_tape;
4> send 'nsr_env=(nsr_server=cls1,nsr_client=bakserver,nsr_data_volume_pool=db
ol)';
5> restore database;
6> recover database;
7> release channel t1;
8> release channel t2;
9> }
分配的通道: t1
通道 t1: sid=11 devtype=SBT_TAPE
通道t1: NMO v4.2.0.0
分配的通道: t2
通道 t2: sid=12 devtype=SBT_TAPE
通道t2: NMO v4.2.0.0
向通道发命令: t1
向通道发命令: t2
启动 restore 于 18-6月 -08
通道 t1: 正在开始恢复数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到E:\ORADATA\ORA9I\UNDOTBS01.DBF
正将数据文件00003恢复到E:\ORADATA\ORA9I\CWMLITE01.DBF
正将数据文件00005恢复到E:\ORADATA\ORA9I\EXAMPLE01.DBF
正将数据文件00006恢复到E:\ORADATA\ORA9I\INDX01.DBF
正将数据文件00007恢复到E:\ORADATA\ORA9I\TOOLS01.DBF
通道 t2: 正在开始恢复数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\ORADATA\ORA9I\SYSTEM01.DBF
正将数据文件00004恢复到E:\ORADATA\ORA9I\DRSYS01.DBF
正将数据文件00008恢复到E:\ORADATA\ORA9I\USERS01.DBF
正将数据文件00009恢复到E:\ORADATA\ORA9I\RMAN_T.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_09jj591s_9_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t1: 正在开始恢复数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
正将数据文件00010恢复到E:\ORADATA\ORA9I\TEST1TABLESPACE.DBF
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0ajj591s_10_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0ejj5j41_14_$t tag=null params=NULL
通道 t1: 恢复完成
完成 restore 于 18-6月 -08
启动 recover 于 18-6月 -08
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00002 的恢复目标: E:\ORADATA\ORA9I\UNDOTBS01.DBF
数据文件 00003 的恢复目标: E:\ORADATA\ORA9I\CWMLITE01.DBF
数据文件 00005 的恢复目标: E:\ORADATA\ORA9I\EXAMPLE01.DBF
数据文件 00006 的恢复目标: E:\ORADATA\ORA9I\INDX01.DBF
数据文件 00007 的恢复目标: E:\ORADATA\ORA9I\TOOLS01.DBF
通道 t2: 正在开始恢复增量数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: E:\ORADATA\ORA9I\SYSTEM01.DBF
数据文件 00004 的恢复目标: E:\ORADATA\ORA9I\DRSYS01.DBF
数据文件 00008 的恢复目标: E:\ORADATA\ORA9I\USERS01.DBF
数据文件 00009 的恢复目标: E:\ORADATA\ORA9I\RMAN_T.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0bjj59nt_11_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0cjj59nt_12_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00002 的恢复目标: E:\ORADATA\ORA9I\UNDOTBS01.DBF
数据文件 00003 的恢复目标: E:\ORADATA\ORA9I\CWMLITE01.DBF
数据文件 00006 的恢复目标: E:\ORADATA\ORA9I\INDX01.DBF
数据文件 00007 的恢复目标: E:\ORADATA\ORA9I\TOOLS01.DBF
数据文件 00009 的恢复目标: E:\ORADATA\ORA9I\RMAN_T.DBF
通道 t2: 正在开始恢复增量数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
数据文件 00004 的恢复目标: E:\ORADATA\ORA9I\DRSYS01.DBF
数据文件 00005 的恢复目标: E:\ORADATA\ORA9I\EXAMPLE01.DBF
数据文件 00008 的恢复目标: E:\ORADATA\ORA9I\USERS01.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0djj5j41_13_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0ejj5j41_14_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: E:\ORADATA\ORA9I\SYSTEM01.DBF
通道 t2: 正在开始恢复增量数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
数据文件 00002 的恢复目标: E:\ORADATA\ORA9I\UNDOTBS01.DBF
数据文件 00003 的恢复目标: E:\ORADATA\ORA9I\CWMLITE01.DBF
数据文件 00006 的恢复目标: E:\ORADATA\ORA9I\INDX01.DBF
数据文件 00007 的恢复目标: E:\ORADATA\ORA9I\TOOLS01.DBF
数据文件 00009 的恢复目标: E:\ORADATA\ORA9I\RMAN_T.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0fjj5j5f_15_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00004 的恢复目标: E:\ORADATA\ORA9I\DRSYS01.DBF
数据文件 00005 的恢复目标: E:\ORADATA\ORA9I\EXAMPLE01.DBF
数据文件 00008 的恢复目标: E:\ORADATA\ORA9I\USERS01.DBF
数据文件 00010 的恢复目标: E:\ORADATA\ORA9I\TEST1TABLESPACE.DBF
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0gjj5m5i_16_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t2: 正在开始恢复增量数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: E:\ORADATA\ORA9I\SYSTEM01.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0hjj5m5j_17_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0ijj5m70_18_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00002 的恢复目标: E:\ORADATA\ORA9I\UNDOTBS01.DBF
数据文件 00003 的恢复目标: E:\ORADATA\ORA9I\CWMLITE01.DBF
数据文件 00006 的恢复目标: E:\ORADATA\ORA9I\INDX01.DBF
数据文件 00007 的恢复目标: E:\ORADATA\ORA9I\TOOLS01.DBF
数据文件 00009 的恢复目标: E:\ORADATA\ORA9I\RMAN_T.DBF
通道 t2: 正在开始恢复增量数据文件备份集
通道 t2: 正在指定从备份集恢复的数据文件
数据文件 00004 的恢复目标: E:\ORADATA\ORA9I\DRSYS01.DBF
数据文件 00005 的恢复目标: E:\ORADATA\ORA9I\EXAMPLE01.DBF
数据文件 00008 的恢复目标: E:\ORADATA\ORA9I\USERS01.DBF
数据文件 00010 的恢复目标: E:\ORADATA\ORA9I\TEST1TABLESPACE.DBF
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0jjj5o95_19_$t tag=null params=NULL
通道 t1: 恢复完成
通道 t1: 正在开始恢复增量数据文件备份集
通道 t1: 正在指定从备份集恢复的数据文件
数据文件 00001 的恢复目标: E:\ORADATA\ORA9I\SYSTEM01.DBF
通道 t2: 已恢复备份段 1
段 handle=ora9i_1_0kjj5o95_20_$t tag=null params=NULL
通道 t2: 恢复完成
通道 t1: 已恢复备份段 1
段 handle=ora9i_1_0ljj5o9v_21_$t tag=null params=NULL
通道 t1: 恢复完成
正在开始介质的恢复
释放的通道: t1
释放的通道: t2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00579: the following error occurred at 06/18/2008 09:03:37
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover(4)
RMAN-06054: media recovery requesting unknown log: thread 1 scn 379914 进入slqplusw之后
SQL>recover database using backup controlfile
ORA-00279: 更改 379914 (在 06/17/2008 15:24:21 生成) 对于线程 1 是必需的
ORA-00289: 建议: C:\ARCHIVE2ARC00022.001
ORA-00280: 更改 379914 对于线程 1 是按序列 # 22 进行的
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel;
ORA-00308: 无法打开存档日志 'cancel;'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
这次需要的是22,上次需要的是18,看来多恢复了一点,但是还是需要归档日志,
难道是sql 'alter system switch logfile';是在备份完成之后才执行的? 而且我看了一下,归档日志根本没有到22号,只有21号的; 原帖由 redwaves 于 2008-6-17 23:00 发表 http://bbs.chinaunix.net/images/common/back.gif
脚本不对
哪里错了能给我指正一下吗,大哥? SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 c:\archive2
最早的概要日志序列 20
下一个存档日志序列 22
当前日志序列 22
SQL> show parameter log_archive;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string location=E:\oradata\ora9i\arch
log_archive_dest_10 string
log_archive_dest_2 string location=c:\archive2
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
log_archive_duplex_dest string
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string ARC%S.%T
log_archive_max_processes integer 1
log_archive_min_succeed_dest integer 1
log_archive_start boolean TRUE
log_archive_trace integer 0 看看Oracle RMAN的文档吧,这个不属于legato的范畴 SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 c:\archive2
最早的概要日志序列 20
下一个存档日志序列 22
当前日志序列 22
你看,下一个归档才是22号,还没有归档了,为什么提示我用22号恢复啊?
页:
[1]
2