Ich würde die Catalog View SYSCOLUMNS verwenden. (Auf die QADB... Tabellen, hat nicht jeder Zugriff!)

Für den Abgleich, würde ich die Catalog-View mehrfach über FULL JOINS verknüpfen und dann die Abweichungen über Case-Anweisungen ermitteln (und ggf. filtern) etwa so:

Code:
Select Coalesce(a.Table_Schema, b.Table_Schema)  Schema,
       Coalesce(a.Table_Name,   b.Table_Name)    Table,
       Coalesce(a.Column_Name,  b.Column_Name)   Column,
       Case When a.Data_Type <> b.Data_Type Then 'DataType' Else '' End DiffType,
       Case When a.Length    <> b.Length    Then 'Length'   Else '' End DiffLength,
       Case When a.Numeric_Scale is Distinct from b.Numeric_Scale Then 'Numeric Scale' Else '' End DiffNumScale, 
       ....
  From (Select * 
           From SysColumns 
           Where     System_Table_Name   = 'YOUR1TABLE'
                 and System_Table_Schema = 'SCHEMA1') a
        Full Join 
        (Select *
           From SysColumns
           Where     System_Table_Name   = 'YOUR2TABLE'
                 and System_Table_Schema = 'SCHEMA2') b
         on     a.System_Column_Name  = b.System_Column_Name
Falls die abweichenden Datensätze ermittelt werden sollten, kann dies mit Hilfe der EXCEPT-Klausel erfolgen:
Code:
Select Col1, Col2, ... ColN
   From SCHEMA1.YOUR1TABLE
Except
Select Col1, Col2, ... ColN
   From SCHEMA2.YOUR2TABLE
Birgitta