关于用户误操作的回退问题,向大家请教方法和策略.我oracle9i的闪回(flashback)以及表空间含多个数据的问题, 另外还有个问题,我还是没搞清楚,在用rman实现恢复时候,怎么样从指定的备份恢复,而不是从oracle默认的备份恢复.谢谢大家了,本来真的应该多开点分的,但我的可用分从来就没超过100分. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1. 要把undo_retension设置太些,否则会被覆盖找不回来了.2. restore database tag=...........sample:RMAN> run{allocate channel c type disk;2> sql 'alter tablespace test offline';3> restore datafile 10 from tag=TAG20031115T165308;4> recover datafile 10; sql 'alter tablespace test online';5> } cenlmmx(学海无涯苦作舟):怎么根据备份的获取tag?比方说:我先把表空间testspace,备份到d:\bk1目录下,并设置tag标记:rman>backup tablespace testspace format='d:\bk1\%D_%N_%s.dbf' tag='testbk1'然后我又把表空间testspace,备份到d:\bk2目录下,也设置tag标记:rman>backup tablespace testspace format='d:\bk2\%D_%N_%s.dbf' tag='testbk2'现在,我希望依据d:\bk1\下面的备份进行恢复,应该怎么写命令?如果是通过tag来确定备份文件路径,哪又要怎么样获取d:\bk1目录下该备份的tag呢? RMAN> list backup看备份列表,里面就有tag cenlmmx(学海无涯苦作舟):是可以用list观察tag,也可以在动态视图V$backup_piece下面根据备份所在位置确定tag,但tag好象可以是重复的,那就是说在restore时候rman不能依据tag来指定唯一一个备份啊,是不是restore通过其他参数来指定备份用来转储啊.?另外,其他的高人,上面3个问题,能不能给我一点指点啊..帮帮忙,都快进行不下去了..可能一开始思路就有问题,不应该在数据库级上实现回退功能,而应该在应用程序中实现,这样就不会牵扯到数据库的备份和恢复.但现在没办法了,想该边思路都不行了...请大家帮忙啊. 我到没发现tag重复的情况,是你设置让它们重复的?你可以用rman检查并删除多余的备份RMAN> report obsolete (可以删除的backupset)RMAN> delete expired backup;(backupset)1. 对blob用闪回可能不行,一般都是针对小数据量的,要不你的回滚段会受不了的.2. 还没试过3. rman对表空间,只能是完全恢复,不完全恢复只能对全库做,要不然全库怎么可能保持一致. cenlmmx(学海无涯苦作舟) 哦..那看来只有通过rman的备份/恢复来实现了.我现在对oracle的备份/恢复不太了解,我把系统的要求详细说一下,你帮我看看怎么实现.主要功能: 数据差异备份、还原功能.具体包括:1、数据备份:界面上包括输入备份的路径、备份文件名称(可以文件打开对话框选择)、数据库服务器名称、备份的数据库名称、有关的说明。2、数据还原:界面上包括输入备份文件名称(可以文件打开对话框选择)、数据库服务器名称、备份的数据库名称、有关的说明。 问几个问题,关于重命名as和like Oracle计算数值和Java计算数值不一样! 请问如何在package中添加或修改function或存储过程 关于一个sql的写法 job的问题 asp应用程序中如何调用orcle的存储过程? 关于用命令打开一个数据库的问题。 orcale 查询速度,以及数据库的设计问题 想高手,盼高手,sql行更新 oracle插入数据 数据库连接问题 oracle10g 追踪 SQL 运行时间
sample:
RMAN> run{allocate channel c type disk;
2> sql 'alter tablespace test offline';
3> restore datafile 10 from tag=TAG20031115T165308;
4> recover datafile 10; sql 'alter tablespace test online';
5> }
怎么根据备份的获取tag?
比方说:
我先把表空间testspace,备份到d:\bk1目录下,并设置tag标记:
rman>backup tablespace testspace format='d:\bk1\%D_%N_%s.dbf' tag='testbk1'
然后我又把表空间testspace,备份到d:\bk2目录下,也设置tag标记:
rman>backup tablespace testspace format='d:\bk2\%D_%N_%s.dbf' tag='testbk2'
现在,我希望依据d:\bk1\下面的备份进行恢复,应该怎么写命令?如果是通过tag来确定备份文件路径,哪又要怎么样获取d:\bk1目录下该备份的tag呢?
是可以用list观察tag,也可以在动态视图V$backup_piece下面根据备份所在位置确定tag,但tag好象可以是重复的,那就是说在restore时候rman不能依据tag来指定唯一一个备份啊,是不是restore通过其他参数来指定备份用来转储啊.?
另外,其他的高人,上面3个问题,能不能给我一点指点啊..帮帮忙,都快进行不下去了..可能一开始思路就有问题,不应该在数据库级上实现回退功能,而应该在应用程序中实现,这样就不会牵扯到数据库的备份和恢复.
但现在没办法了,想该边思路都不行了...请大家帮忙啊.
你可以用rman检查并删除多余的备份
RMAN> report obsolete (可以删除的backupset)
RMAN> delete expired backup;(backupset)1. 对blob用闪回可能不行,一般都是针对小数据量的,要不你的回滚段会受不了的.
2. 还没试过
3. rman对表空间,只能是完全恢复,不完全恢复只能对全库做,要不然全库怎么可能保持一致.
哦..那看来只有通过rman的备份/恢复来实现了.
我现在对oracle的备份/恢复不太了解,我把系统的要求详细说一下,你帮我看看怎么实现.主要功能: 数据差异备份、还原功能.
具体包括:
1、数据备份:界面上包括输入备份的路径、备份文件名称(可以文件打开对话框选择)、数据库服务器名称、备份的数据库名称、有关的说明。
2、数据还原:界面上包括输入备份文件名称(可以文件打开对话框选择)、数据库服务器名称、备份的数据库名称、有关的说明。