Lob retention not changing when undo_retention is changed (Doc ID 563470.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 8.1.7.4 to 10.2.0.5 [Release 8.1.7 to 10.2]
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Information in this document applies to any platform.
Checked for relevance on 09-Jul-2012

SYMPTOMS

Disclaimer: this note illustrates a "problem"/behavior of setting retention in 10g (8.1.7.4~10.2.0.5), and is not intended to explain how retention/pctversion works or more retention option in 11g/12c.
免责声明:此注释说明了在10g(8.1.7.4〜10.2.0.5)中设置retention的"problem"/behavior,而无意于解释在11g/12c中 retention/pctversion 的工作方式或更多retention选项

In 10g we have no control over the actual setting for RETENTION for lobs other than the current setting for UNDO_RETENTION at the time of the creation or modification of the LOB.

在10g中,除了创建或修改LOB时当前对UNDO_RETENTION的设置外,我们无法控制对lob的RETENTION的实际设置

Stopping and starting the database will not modify the setting as it seems to be static.

停止和启动数据库不会修改设置,因为它似乎是静态的

It is assumed  that when UNDO_RETENTION is changed the lobs connected to that retention are also changed which is not the case . (this is incorrect)

假定当UNDO_RETENTION更改时,与该保留连接的叶也将更改,情况并非如此。(这是不正确的)

If a lob is modified from RETENTION to PCTVERSION and back to RETENTION again then the lob retention is updated based on the current UNDO_RETENTION at the time that the LOB was altered / created to use RETENTION.

如果将lob从RETENTION修改为PCTVERSION,然后再次返回RETENTION,则基于更改/创建LOB以使用RETENTION时的当前UNDO_RETENTION来更新lob保留

In 11g we allow users to specify retention for each LOB segment

在11g中,我们允许用户为每个LOB段指定保留时间

Current documentation reads

Oracle� Database Application Developer's Guide - Large Objects
10g Release 2 (10.2)
Part Number B14249-01

4 LOBs in Tables

RETENTION

As an alternative to the PCTVERSION parameter, you can specify the RETENTION  parameter in the LOB storage clause of the CREATE TABLE or ALTER TABLE statement. Doing so, configures the LOB column to store old versions of LOB data for a period of time, rather than using a percentage of the table space.
作为PCTVERSION参数的替代方法,可以在CREATE TABLE或ALTER TABLE语句的LOB存储子句中指定RETENTION参数。 这样做,将LOB列配置为在一段时间内存储LOB数据的旧版本,而不是使用表空间的一定百分比。

For example:

CREATE TABLE ContainsLOB_tab (n NUMBER, c CLOB)
lob (c) STORE AS SEGNAME (TABLESPACE lobtbs1 CHUNK 4096
RETENTION
NOCACHE LOGGING
STORAGE (MAXEXTENTS 5)
);

The RETENTION parameter is designed for use with Undo features of the database, such as Flashback Versions Query.When a LOB column has the RETENTION property set, old versions of the LOB data are retained for the amount of time specified by the UNDO_RETENTION parameter.
RETENTION参数设计用于与数据库的undo功能一起使用,例如闪回版本查询。当LOB列设置了RETENTION属性时,LOB数据的旧版本将保留由UNDO_RETENTION参数指定的时间。

Note the following with respect to the RETENTION parameter:

关于RETENTION参数,请注意以下几点:

* Undo SQL is not enabled for LOB columns as it is with other datatypes. You must set the RETENTION property on a LOB column to use Undo SQL on LOB data.

* 与其他数据类型一样,未为LOB列启用undo SQL。 您必须在LOB列上设置RETENTION属性,才能对LOB数据使用Undo SQL。

* You cannot set the value of the RETENTION parameter explicitly. The amount of time for retention of LOB versions in determined by the UNDO_RETENTION parameter.

* 您不能显式设置RETENTION参数的值。 保留LOB版本的时间由UNDO_RETENTION参数确定。

* Usage of the RETENTION parameter is only supported in Automatic Undo Management mode. You must configure your tablefor use with Automatic Undo Management before you can set RETENTION on a LOB column.

* 仅在“自动undo管理”模式下支持使用RETENTION参数。 必须先配置表以供“自动undo管理”使用,然后才能在LOB列上设置RETENTION。

* The LOB storage clause can specify RETENTION or PCTVERSION, but not both.

* LOB存储子句可以指定RETENTION或PCTVERSION,但不能同时指定两者。

CAUSE

Problem is caused as current documentation not fully explaining how lob retention works.

由于当前文档未完全说明lob保留的工作原理而导致了问题

SOLUTION

Here is example of the problem. 这是问题的例子

SQL> CREATE TABLE lobretention
(LOBLOC blob,id NUMBER)
LOB ( lobLoc ) STORE AS
(TABLESPACE users STORAGE (INITIAL 5k NEXT 5k PCTINCREASE 0) retention); SQL> select retention from dba_lobs where table_name='LOBRETENTION'; RETENTION
----------
1400 SQL> show parameter undo_retention; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 1400 SQL> alter system set undo_retention= 1800 scope=both;
System altered. SQL> select retention from dba_lobs where table_name='LOBRETENTION'; RETENTION
----------
1400 SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup SQL> connect test/test
Connected.
SQL> select retention from dba_lobs where table_name='LOBRETENTION'; RETENTION
----------
1400 SQL> show parameter undo_retention; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_retention integer 1800 SQL> alter table lobretention modify lob(lobLoc) (pctversion 5);
Table altered. SQL> alter table lobretention modify lob(lobLoc) (retention);
Table altered. SQL> select retention from dba_lobs where table_name='LOBRETENTION'; RETENTION
----------
1800

更改 undo_retention 时,Lob retention 不更改 (Doc ID 563470.1)的更多相关文章

  1. Data Pump Export 数据泵导出因ORA-31693 ORA-02354 和 ORA-01555 错误且没有LOB损坏而失败 (Doc ID 1507116.1)

    Data Pump Export Fails With ORA-31693 ORA-02354 and ORA-01555 Errors And No LOB Corruption (Doc ID 1 ...

  2. Automatic Tuning of Undo Retention 常见问题 (Doc ID 1579779.1)

    Automatic Tuning of Undo Retention Common Issues (Doc ID 1579779.1) APPLIES TO: Oracle Database - En ...

  3. Troubleshooting ORA-30036 - Unable To Extend Undo Tablespace (Doc ID 460481.1)

    Troubleshooting ORA-30036 - Unable To Extend Undo Tablespace (Doc ID 460481.1) APPLIES TO: Oracle Da ...

  4. 如何使用块更改跟踪文件估算RMAN增量备份大小 (Doc ID 1938079.1)

    How to estimate RMAN incremental backup size using block change tracking file (Doc ID 1938079.1) APP ...

  5. 如何解决在ie下,Echarts多次使用setOption更改数据时,数据错乱问题

    一.问题描述 根据用户的操作,通过Ajax请求,获取某段时间内的某数据趋势折线图数据.用户切换数据项或更改时间段时,ie中渲染的折线图包含了上一次获取的数据,导致数据错乱,如下图所示: 二.代码 数据 ...

  6. 如何确定UNDO_RETENTION参数的值以避免ORA-1555 (Doc ID 822411.1)

    How to Determine the Value Of UNDO_RETENTION Parameter to Avoid ORA-1555 (Doc ID 822411.1) APPLIES T ...

  7. SRDC - ORA-22924 or ORA-1555 on LOB data: Checklist of Evidence to Supply (Doc ID 1682707.1)

    SRDC - ORA-22924 or ORA-1555 on LOB data: Checklist of Evidence to Supply (Doc ID 1682707.1) Action ...

  8. ORA-01555 When Max Query Length Is Less Than Undo Retention, small or 0 Seconds (Doc ID 1131474.1)

    ORA-01555 When Max Query Length Is Less Than Undo Retention, small or 0 Seconds (Doc ID 1131474.1) A ...

  9. 对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错。

    对于一个web工程,如果我们复制一个已有的工程粘贴到同一个workspace下,我们除了需要更改工程的名字还需要更改这个新工程的content root,否则会报错.步骤如下: 右键新的工程---&g ...

随机推荐

  1. Hystrix集群及集群监控turbine

    Hystrix集群及监控turbine 前面Dashboard演示的仅仅是单机服务监控,实际项目基本都是集群,所以这里集群监控用的是turbine. turbine是基于Dashboard的. 先搞个 ...

  2. weblogic启动节点服务java.lang.ClassCastException:com.octestring.vde.backend.BackendRoot cannot be cast to com.octestring.vde.backend.standard.BackendStandard类型转换异常

    weblogic启动节点服务器报错,java.lang.ClassCastException:com.octestring.vde.backend.BackendRoot cannot be cast ...

  3. LeetCode H2O 生成

    第1117题 现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子. 存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来. 氢 ...

  4. git常用情景和基础命令

    git常用情景和基础命令 将项目克隆到本地 --xxx是git的地址 git clone xxxx 或者初始化git(github提供滴) --新建一个readme.md文件 echo "# ...

  5. UML简单介绍—类图详解

    类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...

  6. SpringCloud面试 -- 什么是Hystrix?

    Hystrix是什么?        在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很常见的.     Hystrix 可以让我们在分 ...

  7. Server基本语句的用法

    1.创建数据库 create database databaseName use databaseName go   /*  转到指定数据库 */ 2.创建表 create table tableNa ...

  8. Android开发之OkHttp介绍

    要论时下最火的网络请求框架,当属OkHttp了.自从Android4.4开始,google已经开始将源码中的HttpURLConnection替换为OkHttp,而在Android6.0之后的SDK中 ...

  9. PHP $_SERVER超全局变量详解

    参考资料:https://www.php.net/manual/zh/reserved.variables.server.php $_SERVER 是一个包含了诸如头信息(header).路径(pat ...

  10. 反转字符串中的单词 III

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest"输出: &qu ...