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

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

  配置闪回数据归档

  准备一个Oracle 11g数据库使用FBDA功能是相当简单的,只需要经过几个简单的步骤即可:

  (1)创建或指定一个或多个表空间用于FBDA保留历史数据

  (2)随意指派一个FBDA作为数据库的默认FBDA

  (3)指派一个用户账户作为FBDA管理员,授予它FLASHBACK ARCHIVE ADMINISTER系统权限

  (4)授予FBDA权限给适合的用户账号

  (5)授予FLASHBACK和SELECT权限给合适的FBDA表用户

  (6)为FBDA用户授予DBMS_FLASHBACK存储过程EXECUTE权限

  下面是具体的实现命令:


— 创建FBDA管理员用户账号
DROP USER fbda_admin CASCADE;
CREATE USER fbda_admin IDENTIFIED BY fbda_admin;
GRANT FLASHBACK ARCHIVE ADMINISTER TO fbda_admin;
— 授予其它用户合适的闪回权限
GRANT FLASHBACK ANY TABLE TO hr;
GRANT EXECUTE ON DBMS_FLASHBACK TO hr;
GRANT FLASHBACK ANY TABLE TO oe;
GRANT EXECUTE ON DBMS_FLASHBACK TO oe;
GRANT FLASHBACK ANY TABLE TO sh;
GRANT EXECUTE ON DBMS_FLASHBACK TO sh;
— 为闪回数据归档创建表空间
DROP TABLESPACE fbda INCLUDING CONTENTS AND DATAFILES;
CREATE TABLESPACE fbda
DATAFILE ‘/u01/app/oracle/oradata/ORCL/tsp_fdba01.dbf’
SIZE 24M;
— 创建一个闪回数据归档保留5天有价值的历史
DROP FLASHBACK ARCHIVE fbda_1;
CREATE FLASHBACK ARCHIVE fbda_1
TABLESPACE fbda
QUOTA 1M
RETENTION 5 DAY;
GRANT FLASHBACK ARCHIVE ON fbda_1 TO hr;
GRANT FLASHBACK ARCHIVE ON fbda_1 TO oe;
GRANT FLASHBACK ARCHIVE ON fbda_1 TO sh;
— 创建一个闪回数据归档保留1整年有价值的历史
DROP FLASHBACK ARCHIVE fbda_2;
CREATE FLASHBACK ARCHIVE fbda_2
TABLESPACE fbda
QUOTA 4M
RETENTION 1 YEAR;
GRANT FLASHBACK ARCHIVE ON fbda_2 TO hr;
GRANT FLASHBACK ARCHIVE ON fbda_2 TO oe;
GRANT FLASHBACK ARCHIVE ON fbda_2 TO sh;
— 创建一个闪回数据归档保留7年有价值的历史
DROP FLASHBACK ARCHIVE fbda_3;
CREATE FLASHBACK ARCHIVE fbda_3
TABLESPACE fbda
QUOTA 20M
RETENTION 7 YEAR;
GRANT FLASHBACK ARCHIVE ON fbda_3 TO hr;
GRANT FLASHBACK ARCHIVE ON fbda_3 TO oe;
GRANT FLASHBACK ARCHIVE ON fbda_3 TO sh;
 

  从上面的代码可以看出,其实使用闪回数据归档真的很简单,按照上面的代码,我创建一个表空间FBDA,并在它里面创建了三个闪回数据归档:FBDA_A,FBDA_2和FBDA_3,分别保留5天,1年,7年,我还创建了一个新用户账号FBDA_ADMIN,并授予它FLASHBACK ARCHIVE ADMINISTER权限,最后,我们给系统中“sample”方案中的HR,OE和SH用户账号授予了合适的系统权限,以便它们也可以参与FBDA操作。

  启用和禁用一个表的历史保留能力:使用ALTER TABLE <表名> FLASHBACK ARCHIVE [FBDA名];命令在现有表上启用FBDA。

  如果没有指定FBDA名,将会使用默认的FBDA

  DBA也可以给表指定想要的FBDA

  如果不存在默认的FBDA就必须要明确指定FBDA

  同样,使用ALTER TABLE NO FLASHBACK ARCHIVE; 命令可以在现有表上禁用FBDA。请看下面的代码:

  


— 将闪回数据归档FBDA_2作为默认FBDA
ALTER FLASHBACK ARCHIVE fbda_2 SET DEFAULT;
  – 将FBDA_1改为默认的FBDA,注意FBDA_1和FBDA_2只会简单地交换名称
ALTER FLASHBACK ARCHIVE fbda_1 SET DEFAULT;
  – 启用一个现有表使用默认的FBDA(fbda_1)
ALTER TABLE hr.applicants FLASHBACK ARCHIVE;
  – 启用表使用指定的FBDA
ALTER TABLE hr.departments FLASHBACK ARCHIVE fbda_1;
ALTER TABLE hr.job_history FLASHBACK ARCHIVE fbda_2;
ALTER TABLE oe.customers FLASHBACK ARCHIVE fbda_3;
  – 在指定表上禁用闪回数据归档
ALTER TABLE hr.departments NO FLASHBACK ARCHIVE;
 

  上面的代码说明了以下基本原理:

  可以事后修改默认的FBDA。最初我使用FBDA_2作为默认FBDA,后来我使用ALTER FLASHBACK ARCHIVE SET DEFAULT; 命令将默认FBDA改为FBDA_1了。

  接下来,我在表HR.APPLICANTS上使用默认FBDA开启了闪回数据归档跟踪

  然后,我对HR.DEPARTMENTS,HR.JOB_HISTORY和OE.CUSTOMERS表开启了闪回数据归档跟踪,为它们的历史数据选择了不同的FBDA。

  最后,为了显示如何在表上中断FBDA跟踪,我再次在OE.CUSTOMERS 表上使用了ALTER TABLE NO FLASHBACK ARCHIVE命令。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

相关推荐