楼主: lues

请大家帮忙看看我的备份策略有没有问题

[复制链接]
论坛徽章:
65
ITPUB元老
日期:2006-03-01 17:57:36马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:52
31#
发表于 2004-12-21 17:24 | 只看该作者
最初由 foreverlee 发布
[B]对还有提醒楼主
感觉你也没有用catalog模式,应当也是直接将备份信息记录在了controlfile中
如果这样留意control_file_record_keep_time这个参数 [/B]



控制文件自动备份就得了,关键的是,如果每周一备份,要恢复到周末,如果恢复很多日志的话,会很慢,而且,不能保证日志没有问题,如坏块。。。

所以,如果没有standby,每日的全备是必要的,你可以选择把每周一的备份放磁带上。

使用道具 举报

回复
论坛徽章:
0
32#
 楼主| 发表于 2004-12-21 17:34 | 只看该作者
最初由 piner 发布
[B]


控制文件自动备份就得了,关键的是,如果每周一备份,要恢复到周末,如果恢复很多日志的话,会很慢,而且,不能保证日志没有问题,如坏块。。。

所以,如果没有standby,每日的全备是必要的,你可以选择把每周一的备份放磁带上。 [/B]


那我就上一个standby(非常感谢你对我作standby时提供的帮助),不过每日的全备我的磁盘空间确实不够,我还是先做好测试,然后再解决磁盘空间的问题

使用道具 举报

回复
论坛徽章:
0
33#
 楼主| 发表于 2004-12-22 11:36 | 只看该作者
我现在计划每天做一次全库备份,同时因为磁盘资源有限,无法保存一周以内的全库备份文件,所以再单独备份一个关键的较小的表空间,控制文件依靠自动备份,这个可行吧,全库备份和表空间单独备份无所谓先后关系吧,这样也可以基本上满足我的4个恢复要求吧

1.根据更改(比如误操作)恢复
2.根据时间点恢复,比如说任意恢复某一个用户的资料到指定日期的状态
3.介质损坏,能够恢复
4.控制文件损坏,能够恢复

每天全库备份

sql "Alter System Archive Log Current";

run {
allocate channel c1 type disk;
backup full
format '/rman/%d_%p_%t.bak'
(database);}

backup filesperset 10 archivelog all delete input format='/rman/%U_%s.bak';


每天表空间备份

RMAN> run {
2> allocate channel c1 type disk;
3> backup full
4> format '/rman/%d_%p_%t'     
5> (tablespace tools);}

使用道具 举报

回复
论坛徽章:
0
34#
 楼主| 发表于 2004-12-22 16:06 | 只看该作者
我现在模拟表空间损坏进行了恢复取得了成功,但是rman采用的是最近一次备份进行恢复,我现在有多个rman备份文件,请问我在rman中如何指定备份文件进行恢复,如我有以下rman备份,test_1_545581077.bak是我最近的一次备份,我现在想用test_1_545580979.bak恢复,我的恢复语句该怎么写?此外我想问一下数据库处于startup状态,能够对表空间进行恢复吗?

我的备份文件如下:
[root@test rman]# ll -th
总用量 8.4G
-rw-r-----    1 oracle   oinstall     775K 12月 22 14:20 14g89q52_1_1_36.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 14:19 test_1_545581077.bak[/COLOR]
-rw-r-----    1 oracle   oinstall     623M 12月 22 14:17 test_1_545580979.bak[/COLOR]
-rw-r-----    1 oracle   oinstall     1.3M 12月 22 14:07 0ug89pd3_1_1_30.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 14:06 test_1_545580240.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 14:01 test_1_545580042.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 13:59 test_1_545579886.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 13:57 test_1_545579683.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 13:54 test_1_545579496.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 13:48 test_1_545579276

我的模拟表空间丢失恢复过程如下

[oracle@test test]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 22 15:25:56 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

[oracle@test test]$ pwd
/oracle/oradata/test
[oracle@test test]$ mv GAME.dbf /opt/
[oracle@test test]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.4.0 - Production on Wed Dec 22 15:25:56 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.

Total System Global Area  236000356 bytes
Fixed Size                   451684 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.

[oracle@test bin]$ ./rman

Recovery Manager: Release 9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

RMAN> connect target /

connected to target database: test (DBID=3541278024)

RMAN> run{
2> allocate channel c1 type disk;
3> restore tablespace game;
4> recover tablespace game;
5> }

using target database controlfile instead of recovery catalog
allocated channel: c1
channel c1: sid=13 devtype=DISK

Starting restore at 22-DEC-04

channel c1: starting datafile backupset restore
channel c1: specifying datafile(s) to restore from backup set
restoring datafile 00011 to /oracle/oradata/test/GAME.dbf
channel c1: restored backup piece 1
piece handle=/opt/rman/test_1_545581077.bak[/COLOR]tag=TAG20041222T141757 params=NULL
channel c1: restore complete
Finished restore at 22-DEC-04

Starting recover at 22-DEC-04

starting media recovery
media recovery complete

Finished recover at 22-DEC-04
released channel: c1


SQL> alter database open;

Database altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  236000356 bytes
Fixed Size                   451684 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.
SQL>

使用道具 举报

回复
论坛徽章:
0
35#
 楼主| 发表于 2004-12-22 16:56 | 只看该作者
现在已经知道可以在数据库处于open状态下恢复损坏的表空间了,如何在rman指定恢复数据库使用的备份文件还不知道

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
36#
发表于 2004-12-22 20:50 | 只看该作者
最初由 lues 发布
[B]现在已经知道可以在数据库处于open状态下恢复损坏的表空间了,如何在rman指定恢复数据库使用的备份文件还不知道 [/B]


rman自动应用必要的备份无需手工干预.
btw:为何一定非要指定备份文件?

使用道具 举报

回复
论坛徽章:
0
37#
 楼主| 发表于 2004-12-23 09:28 | 只看该作者
最初由 lues 发布
[B]我现在计划每天做一次全库备份,同时因为磁盘资源有限,无法保存一周以内的全库备份文件,所以再单独备份一个关键的较小的表空间,控制文件依靠自动备份,这个可行吧,全库备份和表空间单独备份无所谓先后关系吧,这样也可以基本上满足我的4个恢复要求吧

1.根据更改(比如误操作)恢复
2.根据时间点恢复,比如说任意恢复某一个用户的资料到指定日期的状态
3.介质损坏,能够恢复
4.控制文件损坏,能够恢复

每天全库备份

sql "Alter System Archive Log Current";

run {
allocate channel c1 type disk;
backup full
format '/rman/%d_%p_%t.bak'
(database);}

backup filesperset 10 archivelog all delete input format='/rman/%U_%s.bak';


每天表空间备份

RMAN> run {
2> allocate channel c1 type disk;
3> backup full
4> format '/rman/%d_%p_%t'     
5> (tablespace tools);} [/B]


我现在计划每天做一个数据库全备和指定表空间的单独备份,但是因为我的磁盘空间不够,只能够保留一周的指定表空间的单独备份,而无法保存一周的数据库全备,我想如果有人在星期三对我备份的表空间进行了误操作,我就指定用星期二的表空间的单独备份进行恢复,所以我想在恢复的时候应该要指定备份文件

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
38#
发表于 2004-12-23 09:48 | 只看该作者
try:
rman>restore tablespace '<name>' from tag='<tag name>'

refrence :
FROM TAG = 'tag_name'
Overrides the default selection of the most recent backups or file copy available. The tag restricts the automatic selection to backup sets or file copies that were created with the specified tag. If multiple backup sets or file copies have a matching tag, then RMAN selects the most recent one. Note that tag names are not case sensitive

使用道具 举报

回复
论坛徽章:
0
39#
 楼主| 发表于 2004-12-23 09:57 | 只看该作者
呵呵,非常感谢,马上试

使用道具 举报

回复
论坛徽章:
0
40#
 楼主| 发表于 2004-12-23 10:22 | 只看该作者
我现在有以下rman备份

[root@test7 rman]# ll -rth
总用量 8.4G
-rw-r-----    1 oracle   oinstall     623M 12月 22 13:48 SZDB_1_545579276
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 13:54 SZDB_1_545579496.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 13:57 SZDB_1_545579683.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 13:59 SZDB_1_545579886.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 14:01 SZDB_1_545580042.bak
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 14:06 SZDB_1_545580240.bak
-rw-r-----    1 oracle   oinstall     1.3M 12月 22 14:07 0ug89pd3_1_1_30.bak
-rw-r-----    1 oracle   oinstall     623M 12月 22 14:17 SZDB_1_545580979.bak[/COLOR]
-rw-r-----    1 oracle   oinstall     1.5G 12月 22 14:19 SZDB_1_545581077.bak
-rw-r-----    1 oracle   oinstall     775K 12月 22 14:20 14g89q52_1_1_36.bak

我想使用SZDB_1_545580979.bak[/COLOR] 对表空间进行恢复,先使用rman的backup list查到了SZDB_1_545580979.bak[/COLOR] 的tar

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
32      Full    622M       DISK        00:00:58     22-DEC-04      
        BP Key: 32   Status: AVAILABLE   Tag: TAG20041222T141619[/COLOR]
        Piece Name: /opt/rman/SZDB_1_545580979.bak[/COLOR]
  List of Datafiles in backup set 32
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  11      Full 2638345    22-DEC-04 /oracle/oradata/szdb/GAME.dbf

然后用rman恢复

RMAN> run{
2> allocate channel c1 type disk;
3> sql 'alter tablespace game offline ';
4> restore tablespace game from tag='TAG20041222T141619[/COLOR] ';
5> recover tablespace game from tag='TAG20041222T141619[/COLOR] ';
6> sql 'alter tablespace game online';
7> release channel c1;
8> }

allocated channel: c1
channel c1: sid=16 devtype=DISK

sql statement: alter tablespace game offline

Starting restore at 23-DEC-04

channel c1: starting datafile backupset restore
channel c1: specifying datafile(s) to restore from backup set
restoring datafile 00011 to /oracle/oradata/szdb/GAME.dbf
channel c1: restored backup piece 1
piece handle=/opt/rman/SZDB_1_545580979.bak[/COLOR]  tag=TAG20041222T141619[/COLOR]  params=NULL
channel c1: restore complete
Finished restore at 23-DEC-04

Starting recover at 23-DEC-04

starting media recovery

archive log thread 1 sequence 35 is already on disk as file /oracle/oradata/szdb/archive/1_35.dbf
channel c1: starting archive log restore to default destination
channel c1: restoring archive log
archive log thread=1 sequence=33
channel c1: restoring archive log
archive log thread=1 sequence=34
channel c1: restored backup piece 1
piece handle=/opt/rman/14g89q52_1_1_36.bak tag=TAG20041222T142018 params=NULL
channel c1: restore complete
archive log filename=/oracle/oradata/szdb/archive/1_33.dbf thread=1 sequence=33
media recovery complete
Finished recover at 23-DEC-04

sql statement: alter tablespace game online

released channel: c1

RMAN>

恢复的过程都正常,但是我在oracle中看在SZDB_1_545580979.bak[/COLOR] 备份之后删除的表根本就没有恢复,请问这是为什么,我是不是还要根据scn或时间点才能恢复SZDB_1_545580979.bak[/COLOR] 备份之后删除的表

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表