Oracle 11g闪回数据归档新功能(三)

日期: 2008-12-17 翻译:开心果 来源:TechTarget中国 英文

  闪回数据归档:历史数据和元数据

  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

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐