问题描述
下午好,汤姆,
我将开发一个小的SQL工具,用于维护DWH架构的压缩表和索引,我们的客户端具有Oracle EE (11.2和12.2),我的 “大” 疑问是使用或不使用并行执行,因为我看到使用并行执行会增加范围的数量 (如Oracle doc所说); 在您看来,这是最好的方法?
这是我的SQL输出:
alter table owner.table_name启用行移动
/
alter table owner.table_name移动tablespace tablespace_name compress for oltp
(noparallel或parallel n?)
/
alter table owner.table_name释放未使用
/
alter table owner.table_name禁用行移动
/
alter index owner.index_name重建表空间表空间 _name压缩
(noparallel或parallel n?)
/
更改索引所有者。index_name收缩空间压缩
/
更改索引所有者。index_name分配未使用
/
然后通常我会得到带有临时首选项的gather_schema_stats。
提前感谢您的关注,
对不起我的英语。
安德里亚。
我将开发一个小的SQL工具,用于维护DWH架构的压缩表和索引,我们的客户端具有Oracle EE (11.2和12.2),我的 “大” 疑问是使用或不使用并行执行,因为我看到使用并行执行会增加范围的数量 (如Oracle doc所说); 在您看来,这是最好的方法?
这是我的SQL输出:
alter table owner.table_name启用行移动
/
alter table owner.table_name移动tablespace tablespace_name compress for oltp
(noparallel或parallel n?)
/
alter table owner.table_name释放未使用
/
alter table owner.table_name禁用行移动
/
alter index owner.index_name重建表空间表空间 _name压缩
(noparallel或parallel n?)
/
更改索引所有者。index_name收缩空间压缩
/
更改索引所有者。index_name分配未使用
/
然后通常我会得到带有临时首选项的gather_schema_stats。
提前感谢您的关注,
对不起我的英语。
安德里亚。
专家解答
首先,请注意,“压缩为oltp” 不包括在企业版许可证-这是一个额外的成本选项 (高级压缩的一部分)。
所以,我将在这里假设基本压缩。对我来说,我想让事情尽可能简单,所以理想情况下,我会在加载时压缩 *,而不是以后再回来压缩我已经加载的数据。
如果我做不到,我会尽可能简单地开始,即
11.2: alter table T move compress
12.2: alter table T move compress online
然后使用一个简单的例程来处理我的任何/所有索引,例如
https://asktom.oracle.com/pls/asktom/asktom.search?tag=rebuilding-all-the-unusable-index
我会从简单开始,然后如果持续时间/争用/等成为问题,则只考虑并行操作等方面的选项。
所以,我将在这里假设基本压缩。对我来说,我想让事情尽可能简单,所以理想情况下,我会在加载时压缩 *,而不是以后再回来压缩我已经加载的数据。
如果我做不到,我会尽可能简单地开始,即
11.2: alter table T move compress
12.2: alter table T move compress online
然后使用一个简单的例程来处理我的任何/所有索引,例如
https://asktom.oracle.com/pls/asktom/asktom.search?tag=rebuilding-all-the-unusable-index
我会从简单开始,然后如果持续时间/争用/等成为问题,则只考虑并行操作等方面的选项。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




