Skip to Main Content

SQL Developer

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Database diff missing table differences

Geert01Jan 29 2025 — edited Jan 30 2025

I frequently find that I cannot trust the Database Diff option in SQL Developer. It often fails to show differences in table columns, even when I know they exist. Is this a known issue?

I am on Version 24.3.1.347

Comments

thatJeffSmith-Oracle

I can't comment on this without more details, examples, etc.

Geert01

Yes, I can imagine @thatjeffsmith-oracle .

The other day, I was using the Database Diff tool to compare two schemas—one in our Development environment and the other in the Test environment.

The Database Diff informed me that a new view had been added in our Development environment but did not exist in the Test environment. I then attempted to install the view in the Test environment, but it failed to compile because it referenced a table (in the same schema) that was missing some of the columns used by the view.

Surprisingly, the fact that the table in the Development environment contained more columns than its counterpart in the Test environment was not mentioned in the Database Diff output.

thatJeffSmith-Oracle

Your scenario is working, or seems to be for me, the missing column is identified and handled by the DDL script.

Geert01

@thatjeffsmith-oracle Could you add these columns to the source table:

alter table ……
add(
CREATION_DATE DATE,
CREATED_BY VARCHAR2(255 BYTE) COLLATE USING_NLS_COMP,
LAST_UPDATE_DATE DATE,
LAST_UPDATED_BY VARCHAR2(255 BYTE) COLLATE USING_NLS_COMP
)

I recreated the problem….. I dropped these columns from the destination table and reran the Database diff. These columns are skipped.

Only when I restrict the database diff to only investigate differences for that one specific table, will it show the differences. When I select all objects (including all tables) it will not show the missing columns.

thatJeffSmith-Oracle

can you open a Service Request and open a SR, they can file a bug for you

1 - 5

Post Details

Added on Jan 29 2025
5 comments
116 views