获取row chain and row Migration

php中文网
发布: 2016-06-07 14:58:42
原创
1389人浏览过

获取row chain and row migration 获取row chain and row migration 1.使用analyze对相应的object分析 SQL ANALYZE TABLE oe.orders COMPUTE STATISTICS; Table Analyzed. SQL SELECT num_rows, avg_row_len, chain_cnt 2 FROM DBA_TABLES 3 WHERE table_nam

获取row chain and row migration

 

获取row chain and row migration

1.使用analyze对相应的object分析

SQL> ANALYZE TABLE oe.orders COMPUTE STATISTICS;

Table Analyzed.

 

SQL> SELECT num_rows, avg_row_len, chain_cnt 

2     FROM DBA_TABLES

3     WHERE table_name='ORDERS';

NUM_ROWS AVG_ROW_LEN  CHAIN_CNT

---------- ----------- ----------

1171          67         83

 

2.也可是使用以下方法获取Migrated Rows:

 ANALYZE TABLE … LIST CHAINED ROWS  ------不会覆盖当前统计信息

在使用以上命令时需要执行utlchain.sql这个脚本,也可以手工执行:

SQL> CREATE TABLE chained_rows (

2  owner_name         VARCHAR2(30),

3  table_name         VARCHAR2(30),

4  cluster_name       VARCHAR2(30),

5  partition_name     VARCHAR2(30),

6  head_rowid         ROWID,

7  analyze_timestamp  DATE );

用于存储链接行的信息

 

eg:

SQL> ANALYZE TABLE oe.orders LIST CHAINED ROWS;

Table analyzed.

SQL> SELECT  owner_name, table_name, head_rowid

2    FROM  chained_rows

3    WHERE table_name = 'ORDERS';

OWNER_NAME  TABLE_NAME  HEAD_ROWID        

---------- ---------- ------------------

SALES       ORDER_HIST  AAAAluAAHAAAAA1AAA

SALES       ORDER_HIST  AAAAluAAHAAAAA1AAB

...

 

消除行迁移:

? Export/import:

– Export the table.

– Drop or truncate the table.

– Import the table.

SONIFY.io
SONIFY.io

设计和开发音频优先的产品和数据驱动的解决方案

SONIFY.io 98
查看详情 SONIFY.io

? MOVE table command:

– ALTER TABLE EMPLOYEES MOVE

所有index在操作后需要rebuilt

 Move table command is faster than export and impor t.

但是前提是有足够的空间。

? Online table redefinition

使用 DBMS_REDEFINITION 包需要足够空间。

? Copy migrated rows:

– Find migrated rows by using  ANALYZE.

– Copy migrated rows to a new table.

– Delete migrated rows from the original table.

– Copy rows from the new table to the original table.

注意,是否需要禁用相应的外键约束,trigger ,row-level security, and auditing.

script:

/* Clean up from last execution */

SET ECHO OFF

DROP TABLE migrated_rows;

DROP TABLE chained_rows;

/* Create the CHAINED_ROWS table */

@?/rdbms/admin/utlchain

SET ECHO ON

SPOOL fix_mig

/* List the chained & migrated rows */

ANALYZE TABLE &table_name LIST CHAINED ROWS;

/* Copy the chained/migrated rows to another table */

CREATE TABLE migrated_rows AS

SELECT orig.*

FROM &table_name orig, chained_rows cr

WHERE orig.rowid = cr.head_rowid

AND cr.table_name = upper('&table_name');

/* Delete the chained/migrated rows from the original table */

DELETE FROM &table_name

WHERE rowid IN (

SELECT head_rowid

FROM chained_rows);

/* Copy the chained/migrated rows back into the original table */

INSERT INTO &table_name

SELECT *

FROM migrated_rows;

SPOOL OFF

 

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号