更改 undo_retention 时,Lob retention 不更改 (Doc ID 563470.1)

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

原文地址:https://www.cnblogs.com/zylong-sys/p/11965271.html

时间: 2024-10-28 23:40:44

更改 undo_retention 时,Lob retention 不更改 (Doc ID 563470.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 1507116.1) APPLIES TO: Oracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Cloud Machine - Version N/A and laterOracle

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

Automatic Tuning of Undo Retention Common Issues (Doc ID 1579779.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.2 to 12.1.0.2 [Release 12.1]Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.4 [Release 10.2 to 11.

缺少控制文件备份时如何还原数据库 (Doc ID 1438776.1)

How to restore database when controlfile backup missing (Doc ID 1438776.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 9.2.0.1 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Cloud Machine -

Undo 相关的等待事件和已知问题 (Doc ID 1575701.1)

Undo Related Wait Events & Known Issues (Doc ID 1575701.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 9.2.0.8 to 11.2.0.4 [Release 9.2 to 11.2]Oracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Express

Troubleshooting ORA-01555/ORA-01628/ORA-30036 During Export and Import (Doc ID 1579437.1)

APPLIES TO: Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.2.0.4 [Release 9.2 to 11.2]Information in this document applies to any platform. PURPOSE Purpose of this document is to have a checklist for troubleshooting ORA-01555/ORA-01628/

Master Note: Undo 空间使用率高 (Doc ID 1578639.1)

Master Note: High Undo Space Usage (Doc ID 1578639.1) APPLIES TO: Oracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Cloud Machine - Version N/A and laterOracle Cloud Infrastructure - Database Service - Version N/A an

如何通过RMAN使用传输表空间迁移到不同的Endian平台 (Doc ID 371556.1)

How to Migrate to different Endian Platform Using Transportable Tablespaces With RMAN (Doc ID 371556.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.2 to 12.2.0.1 [Release 12.1 to 12.2]Oracle Database - Enterprise Edition - Versi

12.2 中的Data Guard Standby 密码文件自动同步 (Doc ID 2307365.1)

Data Guard Standby Automatic Password file Synchronization in 12.2 (Doc ID 2307365.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.2.0.1 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Clo

12C新功能:在线移动数据文件 (Doc ID 1566797.1)

12C New Feature : Move a Datafile Online (Doc ID 1566797.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.1 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Cloud Machine - Version N/A a