1、必须设定undo保留时间足够大以能够重构需要闪回的数据
ALTER SYSTEM SET UNDO_RETENTION=SECONDS; seconds值是undo数据保持的秒数。

Flashback view是由undo retention interval来限制的。
2、包DBMS_FLASHBACK提供了需求接口
call dbms_flashback.enable_at_time(‘2010-10-19:11:00:00’);
call dbms_flashback.disable();
-------------------------------------
enable_at_time:会话级的enable flashback,映像时间被设定为最接近指定时间戳的scn
enable_at_system_change_number:将数据库闪回到指定的scn号。
get_system_change_number:返回当前的scn。
disable:这个存储过程允许我们在整个会话内停止flashback并将你带回当前时间的数据状态。
----------
dbms_flashback.enable存储过程不可以在有活动事务的时候执行,并且,这个包不能用sys身份执行。
在使用DBMS_FLASHBACK.ENABLE_AT_TIME前,你必须设定你的NLS_DATE_FORMAT的精确程度,Oracle默认的是精确到天
3、timestamp 与scn(系统改变号) 的对应关系
事实上,Oracle在内部都是使用scn,即使你指定的是as of timestamp,oracle也会将其转换成scn,系统时间标记与scn之间存在一张表,即SYS下的SMON_SCN_TIME表。
每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表,该表中记录了最近1440个系统时间标记与scn的匹配记录,由于该表只维护了最近的1440条记录,因此如果使用as of timestamp的方式则只能flashback最近5天内的数据(假设系统是在持续不断运行并无中断或关机重启之类操作的话)。SYS.SMON_SCN_TIME最多拥有1440条记录。这个最大记录数是这样计算出来的,ORACLE平均每5分钟同步一次该表数据,最大保存最近5天的记录,因此就相当于12(每小时更新次数)*24*5=1440。
可以用sql验证一下:
Sql代码
select scn,to_char(time_dp,'yyyy-mm-dd hh24:mi:ss') from sys.smon_scn_time;
10g中提供了两个函数scn_to_timestamp() 和timestamp_to_scn() 用来执行时间戳和SCN的转换。
下面使用闪回进行演示一下:
1、登陆到数据库。
Sql代码
C:sqlplus tivan/tivan
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 19 22:24:03 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
2、查看表的记录。
Sql代码
SQL select count(*) from t1
2 ;
COUNT(*)
----------
8302
3、删除所有的记录提交。
Sql代码
SQL delete from t1
2 ;
已删除8302行。
SQL commit;
提交完成。
4、获得当前SCN
如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试。
Sql代码
SQL select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1482649
SQL select count(*) from t1 as of scn 1482600;
COUNT(*)
----------
8302
SCN=1482600时,t1表中的所有记录都还在。
5、利用闪回恢复数据。
查看验证一下:
Sql代码
SQL insert into t1 select * from t1 as of scn 1482600;
已创建8302行。
SQL commit;
提交完成。
结果OK
或者还可以如下操作
Sql代码
SQLflashback table t1 to scn 1482600;
SQL commit;
Commit complete.

--对于drop table t1 的操作flashback
SQL drop table t1;
SQLCOMMIT;
SQL flashback table t1to before drop;
SQLcommit;
对于怎么取的SCN可以使用timestamp_to_scn() 函数,如:
Sql代码
select timestamp_to_scn(to_timestamp('2010-10-19 21:00:00','YYYY-MM-DD HH:MI:SS')) from dual;
《守望先锋》HP机制玩法解析攻略
黑潮之上梦境投影玩法解析梦境投影玩法攻略大全,相信很多小伙伴对这一块不太清楚,接下来小编就为大家介绍一下黑潮之上梦境投影玩法解析梦境投影玩法攻略大全,有兴趣的小伙伴可以来了解一下哦。
黑潮之上梦境投影玩法解析
梦境投影玩法,是揭秘少女们的过往、增强接触者与少女之间的羁绊,并使少女们能力得到进一步提升的——全新系列挑战关卡!该玩法分为:梦境投影(剧情关卡)和梦境闪回(日常关卡)以及噩梦噪点(挑战关卡)三部分。
梦境投影,攻克关卡揭开隐秘过往
在梦境投影(剧情关卡)中,接触者将通过某种“熟悉”的途径,去“接触”身为U1小队队长,同样也是接触者最为熟悉的异能者——艾尔莎的梦境。从而了解U1小队成立之初发生的故事。
梦境闪回,收集道具兑换稀有物资
而梦境闪回(日常关卡),接触者将可以参与关卡日常挑战,并通过挑战获取「梦境露珠」,通过收集「梦境露珠」,可以在商店兑换各类稀有物资。甚至还包括「艾尔莎专属绯阶藏品「百夫长战衣」,在激活「百夫长战衣」后,艾尔莎“黑潮之力”的伤害得到进一步的提升,最高可提高至599999!(艾尔莎:是谁觉得我后期伤害不够来着~)
噩梦噪点,深入梦境参与进阶挑战
在噩梦噪点(挑战关卡)中,接触者将深入异能者的梦境深层,挑战更高难度的关卡!挑战过程中,艾尔莎和她的敌人们都将获得深层梦境的buff强化,接触者需要深入了解艾尔莎的战斗特性,才有可能破解这场噩梦的挑战。例如:在某些关卡中,需要接触者善用艾尔莎的“多段攻击”技能牌,从而击落怪物,乘胜追击,最终携手将魔物击溃!
日常任务,参与玩法兑换丰厚奖励
不仅有关卡的基础通关奖励、物资商城兑换奖励,在完成相应的挑战后,还将额外解锁任务奖励,获取更多丰厚物资!盲盒券、祈愿券、限定券、水滴、魂晶等等当然,最重要的还是那枚可以提升“黑潮之力”的限定绯阶藏品!
今天小编要为大家带来的是《守望先锋》HP机制,一起来看看如何让自己更好的存活,希望能帮助到大家!
守望先锋英雄生命值构成
《守望先锋》中的生命值(HP)分为三种,一种是基本血量(Normal HP)、一种是护甲(Armor HP)、一种是护盾(Shield HP)。
基本血量(Normal HP)
所有英雄都有基本血量,基本血量承受完全的伤害。在游戏中,显示为白色。
护甲(Armor HP)
部分英雄有护甲血量,或者是拾取托比昂的零件之后获得。在游戏中,显示为**。
护甲(Armor HP)在承受伤害的时候扣减机制如下:
1、如果伤害大于10,护甲拥有5点伤害减免。比如法拉火箭完全命中是120伤害,如果目标拥有护甲,则实际造成115伤害。
2、如果伤害小于10,护甲拥有50%的伤害减免。比如某次射击造成5点伤害,如果目标拥有护甲,则实际造成2.5点伤害。
因此,护甲对低伤害攻击的效果更明显。120点伤害减5看起来不算什么,但是20点伤害减5就很可观了,相当于25%的免伤。
以下英雄拥有护甲:
堡垒:200基本血量+100护甲,总共300生命值
托比昂(大招形态):200基本血量+300护甲,总共500生命值
D.VA(机甲形态):100基本血量+400护甲,总共500生命值
温斯顿:400基本血量+100护甲,总共500生命值
其它英雄获得护甲途径:
拾取托比昂扔出的零件,增加75护甲。
护盾(Shield HP)
部分英雄有护盾血量,获得从秩序之光、卢西奥、查莉娅的技能中获得。在游戏中,显示为蓝色。
护盾(Shield HP)没有伤害减免机制,但是可以再生,即3秒内不再受伤害就以每秒25点的速度恢复,类似《星际争霸2》中的星灵护盾。总体来讲,护盾对于防范间隔性的攻击有利。不过护盾在承受伤害的时候会有额外的5点伤害。
以下英雄拥有护盾:
查莉雅:200基本血量+200护盾,总共400生命值
秩序之光:100基本血量+100护盾,总共200生命值
禅雅塔:50基本血量+100护盾,总共150生命值
其它英雄获得护盾途径:
秩序之光的“光子护盾”为队友加上25护盾
卢西奥的“音障”为队友加上500护盾
查莉雅的“投射屏障”为队友加200护盾,“粒子屏障”为自己加200护盾
守望先锋英雄HP的治疗
注:无论是基本血量(Normal HP)、护甲(Armor HP)还是护盾(Shield HP),游戏中的治疗都会起作用,治疗效果无视HP类型,数值都增加。
1、出生点恢复生命值(HP)
在出生点,生命值(HP)的恢复速度是每秒250点。
2、血包
大血包恢复250点生命值(HP),刷新时间15秒;
小血包恢复75点生命值(HP),刷新时间10秒。
3、推车
推车的时候,车附近的已方成员每秒恢复10点生命值(HP)。
4、英雄技能
部分英雄拥有自我治疗能力:
小美的“急冻”能给自己恢复150生命值。
路霸的“呼吸器”能给自己恢复300生命值。
死神击杀敌人后可以拾取一个灵魂球,恢复50生命值。
堡垒的“自我修复”每秒恢复25%生命值。
天使在3秒不承受伤害后会缓慢生命值。
猎空的“闪回”可视为一种恢复生命的手段。
部分英雄拥有治疗他人能力:

天使的治疗每秒为目标恢复50点生命值。
士兵76的“生物立场”每秒为范围内队友恢复35点生命值。
卢西奥治疗为每秒12点生命值,“强音”效果下为每秒40点生命值(持续3秒,12秒冷却)。
禅雅塔的治疗球“谐”每秒为目标治疗30点生命值,终极技能“圣”不仅提供无敌效果同时恢复每秒100点生命值。
注:即使是卢西奥和禅雅塔的治疗效果都有范围限制。


