Oracle Chained Rows
Version 18.2.0.0

Library Note Morgan's Library Page Header
Are you prepared for the release of Oracle Database 18c ... the first autonomous database? We are here at the Library. It is time for DBAs to stop fighting robots with their fingers and losing ... time to start using our intelligence and winning.
 
Manufacturing Chained Rows
Courtesy of Andy Hassall conn sys@pdbdev as sysdba

show parameter db_block_size

conn uwclass/uwclass

SQL> @?/rdbms/admin/utlchn1.sql

CREATE TABLE t (
col1  VARCHAR2(4000),
col2  VARCHAR2(4000));

INSERT INTO t VALUES ('x', '1');
INSERT INTO t VALUES ('xx', '2');

INSERT INTO t
(col1, col2)
VALUES
(LPAD('x',4096,'x'), LPAD('x',4096,'x'));

INSERT INTO t VALUES ('xxxx', '4');
INSERT INTO t VALUES ('xxxxx', '5');
COMMIT;

ANALYZE TABLE t LIST CHAINED ROWS INTO chained_rows;

set linesize 121
col table_name format a15
col head_rowid format a20

SELECT sys_op_rpb(rowid), table_name, head_rowid, analyze_timestamp
FROM chained_rows;

SELECT rowid, dbms_rowid.rowid_block_number(rowid) BN, sys_op_rpb(rowid), length(col1), length(col2)
FROM t;

SELECT table_name, chain_cnt
FROM user_tables
WHERE chain_cnt <> 0
ORDER BY 1;

ANALYZE TABLE t COMPUTE STATISTICS;

SELECT table_name, chain_cnt
FROM user_tables
WHERE chain_cnt <> 0
ORDER BY 1;

Related Topics
Analyze
DBMS_IOT
Tables
What's New In 12cR2
What's New In 18cR1

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved