闪回数据归档:历史数据和元数据
Oracle 11g在FBDA中存储数据时没有“重新设计车轮”,每个启用FBDA的表使用三个简单的表结构,每个都以<源表所有者>.SYS_FBA_<目的>_格式命名,如表1所示。这些表中的数据可以直接查询,对于那些想一探Oracle 11g是如何管理FBDA基础结构的人来说非使用这些表不可。
表1.闪回数据归档:历史数据存储
为了便于解说,我首先在HR.APPLICANTS表上使用DML语句对其做了一个改变,然后我清洗了数据库缓冲区,并使用ALTER SYSTEM SET UNDO_TABLESPACE=… SCOPE=BOTH; 命令将UNDO过程切换到一个不同的表空间上,请看下面的代码:
— 对HR.APPLICANTS表做一些改变以便在对应的FBDA对象中自动产生”delta”记录对最接近1000美元的申请者申请的薪水进行四舍五入 UPDATE hr.applicants SET salary_desired = ROUND(salary_desired, -3) WHERE MOD(applicant_id,5) = 0; COMMIT; — 对最接近100美元的申请者申请的薪水进行四舍五入 UPDATE hr.applicants SET salary_desired = ROUND(salary_desired, -2) WHERE MOD(applicant_id,5) <> 0 AND MOD(applicant_id,3) = 0; COMMIT; — 现在清空数据库缓冲区和当前UNDO表空间的内容确保闪回版本查询从闪回数据归档中返回HR.APPLICANTS表的内容 DROP TABLESPACE smallundo INCLUDING CONTENTS AND DATAFILES; CREATE UNDO TABLESPACE smallundo DATAFILE ‘/u01/app/oracle/oradata/ORCL/tsp_smallundo01.dbf’ SIZE 2M; ALTER SYSTEM CHECKPOINT; ALTER SYSTEM FLUSH BUFFER_CACHE; ALTER SYSTEM SET UNDO_TABLESPACE = ‘SMALLUNDO’ SCOPE=BOTH; TTITLE ‘Sample Data from Flashback Data Archives|(From SYS_FBA_HIST_73218)’ COL applicant_id FORMAT 99999 HEADING ‘Appl|ID’ COL endscn FORMAT 9999999 HEADING ‘Ending|SCN’ COL last_name FORMAT A20 HEADING ‘Last Name’ COL gender FORMAT A2 HEADING ‘G|N|D|R’ COL salary_desired FORMAT 999999.99 HEADING ‘Salary|Desired’ COL job_desired FORMAT A10 HEADING ‘Job|Desired’ SELECT applicant_id ,endscn ,last_name ,gender ,salary_desired ,job_desired FROM HR.SYS_FBA_HIST_73218 WHERE applicant_id < 10 ORDER BY applicant_id, endscn; TTITLE OFF TTITLE ‘Sample Data from HR.APPLICANTS|(Between Time Periods)’ COL applicant_id FORMAT 99999 HEADING ‘Appl|ID’ COL versions_endscn FORMAT 9999999 HEADING ‘Ending|SCN’ COL last_name FORMAT A20 HEADING ‘Last Name’ COL gender FORMAT A2 HEADING ‘G|N|D|R’ COL salary_desired FORMAT 999999.99 HEADING ‘Salary|Desired’ COL job_desired FORMAT A10 HEADING ‘Job|Desired’ SELECT applicant_id ,VERSIONS_ENDSCN ,last_name ,gender ,salary_desired ,job_desired FROM hr.applicants VERSIONS BETWEEN TIMESTAMP TO_TIMESTAMP(‘2008-12-04 04:28’,’yyyy-mm-dd hh24:mi’) AND TO_TIMESTAMP(‘2008-12-04 04:55’,’yyyy-mm-dd hh24:mi’) WHERE APPLICANT_ID < 10 ORDER BY applicant_id, versions_endscn; TTITLE OFF 当UNDO表空间成功切换后,我查询SYS_FBA_HIST_73218表获取最近的UNDO事务,结果如下: Sample Data from Flashback Data Archives (From SYS_FBA_HIST_73218) G N Appl Ending D Salary Job ID SCN Last Name R Desired Desired —— ——– ——————– — ———- ———- 3 1203058 Brown M 70113.04 IT_CNTR2 6 1203058 Chandler M 55511.77 IT_CNTR1 9 1203058 Chestnut M 73042.53 IT_CNTR3 直接从表本身查询,对比如下: Sample Data from HR.APPLICANTS (Between Time Periods) G N Appl Ending D Salary Job ID SCN Last Name R Desired Desired —— ——– ——————– — ———- ———- 1 Aniston M 88017.94 IT_CNTR2 2 Niven M 82553.39 IT_CNTR1 3 1203058 Brown M 70113.04 IT_CNTR2 3 Brown M 70100.00 IT_CNTR2 4 Murdock M 70389.16 IT_CNTR2 5 1202273 Bedelia M 38720.86 IT_CNTR3 5 Bedelia M 39000.00 IT_CNTR3 6 1203058 Chandler M 55511.77 IT_CNTR1 6 Chandler M 55500.00 IT_CNTR1 7 Lerner M 80587.46 IT_CNTR2 8 Robinson M 49516.37 IT_CNTR3 9 1203058 Chestnut M 73042.53 IT_CNTR3 9 Chestnut M 73000.00 IT_CNTR3 |
FBDA元数据:Oracle 11gR1提供了几个关于FBDA元数据的数据字典视图,包括哪个表空间支持可扩展的历史数据存储,以及FBDA中保留了哪个表:
表2.闪回数据归档:元数据
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
2017年12月数据库流行度排行榜 定格岁末排名瞬间
数据库知识网站DB-engines最近更新的2017年12月份数据库流行度排名情况是否能提供更多的看点呢?TechTarget数据库网站将与您分享12月份的榜单排名情况,让我们拭目以待。
-
2017年11月数据库流行度排行榜 半数以上数据库积分减少
数据库知识网站DB-engines更新了2016年11月份的数据库流行度排行榜。TechTarget数据库网站将与您一同关注11月份的榜单排名情况。
-
控制合约 不再畏惧Oracle
许多公司都与Oracle有无限制授权协议,他们害怕离开这个协议,所以就证明他们在使用Oracle的软件,即使因为需求单独购买部分授权许可也可能总体是省钱的。