阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle 11g 闪回归档的简单测试

384次阅读
没有评论

共计 4282 个字符,预计需要花费 11 分钟才能阅读完成。

Oracle 11g 里面的新特性闪回归档,为历史数据的定制查询提供了一种可能。抽时间学习了一下这个特性,发现还是比较清晰易用。如果使用得当还是很不错的一个特性。
 我们来简单模拟一个例子来看看。
 首先需要创建独立的表空间,属性需要为 segment space management auto, 因为默认属性就是如此,所以我们简化语句。
SQL> create tablespace fbarch datafile’/U01/app/oracle/oradata/actvdb/fbarch.dbf’ size 10M ;
 Tablespace created.
然后我们创建闪回数据归档区,可以指定多个表空间,也可以修改保留时长。
SQL> create flashback archive fda tablespace fbarch retention 1 month;
 Flashback archive created.
创建一个测试表
SQL> create table test_fbarch as select * from dba_objects;
 Table created.
然后修改表属性,指定闪回归档区,当然这个地方闪回数据归档区是不对应的。
SQL> alter table test_fbarch flashback archive fbarch;
 alter table test_fbarch flashback archive fbarch
 *
 ERROR at line 1:
 ORA-55605: Incorrect Flashback Archive is specified
我们删除原有的闪回数据归档区,重新创建一个。
SQL> drop flashback archive fda;
 Flashback archive dropped.
重新创建闪回数据归档区
SQL> create flashback archive fbarch tablespace fbarch retention 1 month;
 Flashback archive created.
然后再次修改表属性,指定为 fbarch
 SQL> alter table test_fbarch flashback archive fbarch;
 Table altered.
通过闪回功能来查找以前的历史数据,可以基于时间戳或者基于 SCN
 SQL> select dbms_flashback.get_system_change_number from dual;
 GET_SYSTEM_CHANGE_NUMBER
 ————————
                380440310
假设基于 SCN 查询
SQL> select count(*)from test_fbarch as of scn 380440310;
  COUNT(*)
 ———-
      86840
在此处,我们故意要刷新 undo 数据空间,而且要让数据的变化频率大大加快。
 使用下面的 pl/sql 来刷 undo
 SQL> begin                 
  2  for i in 1 .. 100 loop
  3  update test_fbarch set object_id=object_id+1; 
  4  commit;
  5  end loop;
  6  end;
  7  /
当然这个时候,会不断在后台执行语句,刷新数据,当然原来的闪回数据归档区肯定是不够的。
 在 alert 日志中就会看到如下的报错。
Wed Apr 13 22:43:23 2016
 ORA-1688: unable to extend table CYDBA.SYS_FBA_HIST_239635 partition HIGH_PART by 1024 in                tablespace FBARCH
当然这个错误看起来还不是很清晰,我们来简单分析一下。
SQL> col segment_name format a30
 SQL> select segment_name,segment_type from user_segments;
 SEGMENT_NAME                  SEGMENT_TYPE
 —————————— ——————
 TEST_FBARCH                    TABLE
 SYS_FBA_DDL_COLMAP_239635      TABLE
 SYS_FBA_TCRV_239635            TABLE
 SYS_FBA_HIST_239635            TABLE PARTITION
 SYS_FBA_TCRV_IDX_239635        INDEX
可以看到多出了 4 个段对象,三个是后台数据表,一个是索引。
 通过字段的情况也可以猜出闪回归档的一些实现原理来。
SQL> desc SYS_FBA_TCRV_239635  – 这个表记录的是在指定时间范围内,进行特定操作(OP)的记录。
 Name                                      Null?    Type
  —————————————– ——– —————————-
 RID                                                VARCHAR2(4000)
  STARTSCN                                          NUMBER
  ENDSCN                                            NUMBER
  XID                                                RAW(8)
  OP                                                VARCHAR2(1)

 SQL> desc SYS_FBA_HIST_239635  – 这个表记录的是指定时间范围内,数据变化的明细情况,可以看到里面有原表的所有字段。
 Name                                      Null?    Type
  —————————————– ——– —————————-
 RID                                                VARCHAR2(4000)
  STARTSCN                                          NUMBER
  ENDSCN                                            NUMBER
  XID                                                RAW(8)
  OPERATION                                          VARCHAR2(1)
  OWNER                                              VARCHAR2(30)
  OBJECT_NAME                                        VARCHAR2(128)
  SUBOBJECT_NAME                                    VARCHAR2(30)
  OBJECT_ID                                          NUMBER
  DATA_OBJECT_ID                                    NUMBER
  OBJECT_TYPE                                        VARCHAR2(19)
  CREATED                                            DATE
  LAST_DDL_TIME                                      DATE
  TIMESTAMP                                          VARCHAR2(19)
  STATUS                                            VARCHAR2(7)
  TEMPORARY                                          VARCHAR2(1)
  GENERATED                                          VARCHAR2(1)
  SECONDARY                                          VARCHAR2(1)
  NAMESPACE                                          NUMBER
  EDITION_NAME                                      VARCHAR2(30)

 SQL> desc SYS_FBA_DDL_COLMAP_239635  – 这个表记录的是在指定时间范围内的 DDL 相关记录。
 Name                                      Null?    Type
  —————————————– ——– —————————-
 STARTSCN                                          NUMBER
  ENDSCN                                            NUMBER
  XID                                                RAW(8)
  OPERATION                                          VARCHAR2(1)
  COLUMN_NAME                                        VARCHAR2(255)
  TYPE                                              VARCHAR2(255)
  HISTORICAL_COLUMN_NAME                            VARCHAR2(255)
当然对于闪回归档来说,DDL 如果涉及表字段的 drop 操作,就会有限制,而对于添加字段的操作可以支持。
 而对于 239635 该怎么理解呢?我们来看看 object_id
 SQL> select object_id,object_name from dba_objects where object_id=239635;
 OBJECT_ID OBJECT_NAME
 ———- ——————————
    239635 TEST_FBARCH
这个时候查看后台进程,会发现闪回归档其实还有一个后台进程 fbda
 SQL> !ps -ef|grep fb
 oracle  26606    1 59 22:38 ?        00:07:24 ora_fbda_actvdb
 oracle  26924 26849  0 22:51 pts/1    00:00:00 /bin/bash -c ps -ef|grep fb
 oracle  26926 26924  0 22:51 pts/1    00:00:00 grep fb

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130296.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4282字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7805655
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
这个开源软件130k的star数!让电脑轻松管理安卓手机的神器

这个开源软件130k的star数!让电脑轻松管理安卓手机的神器

这个开源软件 130k 的 star 数!让电脑轻松管理安卓手机的神器 大家好,我是星哥。今天给大家安利一款宝...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...