Skip to content

Investigate compatibility with DBMS_REDEFINITION #1588

@Naros

Description

@Naros

The DBMS_REDEFINITION PL/SQL package is used by DBAs to reorganize tables on disk for performance. It does so by creating a temporary table, copying data from the base table while keeping it synchronized with current actions on the base table, and ultimately replacing the base table with the redefined one.

The key concern is the final table replacement, since the interim table's object identity is retained, meaning that a table would randomly move from being OBJECT_ID 12345 to 24567. For redo_log_catalog and online_catalog mining strategies, this is not an issue since object identity isn't used; however, for hybrid, this could be a concern.

The key question is how DBMS_REDEFINITION renames the table; does it use ALTER TABLE <old> RENAME TO <new> or does it use some other internal or undocumented way to rename the table?

If it uses DDL statements, we already handle this scenario; however, if it uses another approach (including a currently unsupported DDL syntax), the table object identity would be out of sync, which would be problematic.

We should investigate how the use of DBSM_REDEFINITION affects captured tables.

See #community-oracle > Debezium Oracle interaction with DBMS_REDEFINITION

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions