How can we help you today? How can we help you today?

Objects incorrectly reported as out of sync.

Well, I was able to install and run Schema Compare on some of our Dev databases and compared its output with TOAD schema compare. Here are my observations in no particular order:

1. I see that Schema Compare is reporting that some indexes and tables only exist in one database while I can see these in both databases. These objects are not marked as invalid. In addition to that Schema Compare did not report few tables that are really exist on one side only. I saw similar behaviour in differences report for functions, but that turned out to be due a function being invalid, however I don't think tables and indexes could be in invalid state.

2. It would be really nice to sort differences report by Object name even if sort by type is selected (i.e show all tables together, but sort them by table name as well).

3. Program generates error when trying to see differences for "Type" items (see log at the end).

4. Quite a few Functions/Procedures/Tables/Views are listed as being different while clicking on details shows no actual differences (Next button is grayed out so I cannot even jump to next found difference).

5. Few of objects that are reported as identical, actually show differences when I am clicking on their details.

6. It would be nice to ignore some minor differences. Toad support following options for PL/SQL Objects comparison: Exclude Whitespace, Exclude double Quotes, Exclude code comments, Ignore Case, List Stats

Thanks,
Maxim


Application does not support just-in-time (JIT)
debugging. See the end of this message for details.

************** Exception Text **************
System.ArgumentOutOfRangeException: Length cannot be less than zero.
Parameter name: length
at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
at RedGate.Oracle.Actions.Scripters.PLSQLScripter.a(String , String )
at RedGate.Oracle.Actions.Scripters.PLSQLScripter.GetObjectBody(IPLSQLObjectWithBody obj, Boolean replace)
at RedGate.Oracle.Actions.Scripters.PLSQLScripter.ScriptObject(IPLSQLObject obj, ScriptInformation scriptinfo)
at RedGate.Oracle.Compare.EngineController.Scripter.ScriptObject(IDatabaseObject obj, Options options)
at ba.ShowSingleDifference(S differenceRow)
at bF.a(Object , SelectionChangedEventArgs )
at DevExpress.XtraGrid.Views.Base.ColumnView.RaiseSelectionChanged(SelectionChangedEventArgs e)
at DevExpress.XtraGrid.Views.Base.ColumnView.OnDataController_SelectionChanged(Object sender, SelectionChangedEventArgs e)
at DevExpress.Data.DataController.RaiseSelectionChanged(SelectionChangedEventArgs e)
at DevExpress.Data.Selection.SelectionController.OnSelectionChanged(SelectionChangedEventArgs e)
at DevExpress.Data.Selection.SelectionController.EndSelection()
at DevExpress.XtraGrid.Views.Base.BaseView.EndSelection()
at DevExpress.XtraGrid.Views.Base.ColumnView.SelectFocusedRowCore()
at DevExpress.XtraGrid.Views.Grid.GridView.SelectFocusedRowCore()
at DevExpress.XtraGrid.Views.Base.ColumnView.DoAfterMoveFocusedRow(Keys byKey, Int32 prevFocusedHandle, GridColumn prevFocusedColumn, BaseHitInfo hitInfo)
at DevExpress.XtraGrid.Views.Grid.Handler.GridRegularRowNavigator.OnMouseDown(GridHitInfo hitInfo, DXMouseEventArgs e)
at DevExpress.XtraGrid.Views.Grid.Handler.GridHandler.OnMouseDown(MouseEventArgs ev)
at DevExpress.Utils.Controls.BaseHandler.ProcessEvent(EventType etype, Object args)
at DevExpress.XtraGrid.Views.Base.Handler.BaseViewHandler.ProcessEvent(EventType etype, Object args)
at DevExpress.XtraGrid.GridControl.OnMouseDown(MouseEventArgs ev)
at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at DevExpress.XtraEditors.Container.EditorContainer.WndProc(Message& m)
at DevExpress.XtraGrid.GridControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3603 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
RedGate.Oracle.Compare.UI
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Compare.UI.exe
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
Ninject.Core
Assembly Version: 1.0.0.82
Win32 Version: 1.0.0.82
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/Ninject.Core.DLL
RedGate.Shared.Controls
Assembly Version: 8.0.0.24
Win32 Version: 8.0.0.24
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Shared.Controls.DLL
DevExpress.Utils.v7.2
Assembly Version: 7.2.4.0
Win32 Version: 7.2.4.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/DevExpress.Utils.v7.2.DLL
RedGate.Oracle.ObjectModel
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.ObjectModel.DLL
RedGate.Shared.Utils
Assembly Version: 8.0.0.21
Win32 Version: 8.0.0.21
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Shared.Utils.DLL
RedGate.Oracle.Compare.EngineController
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Compare.EngineController.DLL
DevExpress.XtraBars.v7.2
Assembly Version: 7.2.4.0
Win32 Version: 7.2.4.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/DevExpress.XtraBars.v7.2.DLL
DevExpress.XtraEditors.v7.2
Assembly Version: 7.2.4.0
Win32 Version: 7.2.4.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/DevExpress.XtraEditors.v7.2.DLL
DevExpress.Data.v7.2
Assembly Version: 7.2.4.0
Win32 Version: 7.2.4.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/DevExpress.Data.v7.2.DLL
ActiproSoftware.UIStudio.Dock.Net20
Assembly Version: 2.0.77.0
Win32 Version: 2.0.77.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/ActiproSoftware.UIStudio.Dock.Net20.DLL
ActiproSoftware.Shared.Net20
Assembly Version: 1.0.85.0
Win32 Version: 1.0.85.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/ActiproSoftware.Shared.Net20.DLL
ActiproSoftware.WinUICore.Net20
Assembly Version: 1.0.85.0
Win32 Version: 1.0.85.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/ActiproSoftware.WinUICore.Net20.DLL
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
System.Design
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Design/2.0.0.0__b03f5f7f11d50a3a/System.Design.dll
DevExpress.XtraGrid.v7.2
Assembly Version: 7.2.4.0
Win32 Version: 7.2.4.0
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/DevExpress.XtraGrid.v7.2.DLL
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
RedGate.Oracle.Utils
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Utils.DLL
RedGate.Update.Client
Assembly Version: 2.2.0.3
Win32 Version: 2.2.0.3
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Update.Client.DLL
RedGate.Oracle.Serializer
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Serializer.DLL
RedGate.Oracle.Comparison
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Comparison.DLL
Oracle.DataAccess
Assembly Version: 2.111.6.0
Win32 Version: 2.111.6.0
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/Oracle.DataAccess/2.111.6.0__89b483f429c47342/Oracle.DataAccess.dll
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
RedGate.Oracle.Actions
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Actions.DLL
RedGate.Oracle.Sql
Assembly Version: 1.0.0.397
Win32 Version: 1.0.0.397
CodeBase: file:///C:/Program%20Files/Red%20Gate/Schema%20Compare%20for%20Oracle%201/RedGate.Oracle.Sql.DLL

************** JIT Debugging **************
Application does not support Windows Forms just-in-time (JIT)
debugging. Contact the application author for more
information.
Maxim
0

Comments

4 comments

  • Maxim
    7. When trying to create a snapshot I am getting a following error:

    Creating snapshot:
    Serializing views

    '.', hexadecimal value 0x00, is an invalid character.

    8. I was able to create snapshot from second database. Now when trying to compare DB schema to its own snapshot, I am getting following error:

    Registering Database One
    Reading snapshot file
    Deserializing views

    Method not found: 'RedGate.Oracle.ObjectModel.TextStore
    RedGate.Oracle.ObjectModel.OracleDatabase.get_TextStore()'.
    Maxim
    0
  • Alice E
    Hi Maxim,

    Thanks for your post. This is really useful feedback - thanks!

    For the error thrown when trying to see the differences for the Type object, is is possible to email me (alice.easey@red-gate.com) with the text of the offending type as shown in both schemas from the all_source dictionary view?
    Alice E
    0
  • Simon C
    For the comparison options, we'll be adding different options as we progress through development (as you probably know, this is a very very early build!)

    With regards to the registration and comparison errors, would it be possible to email me a query snapshot of the two databases you're comparing? This can be done using the 'RedGate.Oracle.CreateQuerySnapshot.exe' program in the install directory. This is a binary file containing the results of the queries SCO runs against the database when registering the schema, and will greatly help us in debugging the problems you're encountering.

    Thanks very much for trying it out!

    SimonC
    Simon C
    0
  • myuabov
    I have also observed that some objects are reported as having differences when they are identical. I ran the following tests:

    1. Compare Live DB1 with Live DB2:
    29 objects exist in both but are different
    313 only in DB1
    314 only in DB2
    159 are identical

    2. Create a snapshot of DB2

    3. Compare Live DB1 with the Snapshot of DB2
    Expected results: should be identical to step 1
    Actual results:
    104 objects exist in both but are different
    313 only in DB1
    314 only in DB2
    84 identical

    4. Compare Live DB2 with the Snapshot of DB2
    Expected results:
    502 identical
    Actual results:
    417 objects exist in both but are different
    85 identical

    5. Compare the Snapshot of DB2 with itself.
    Actual and Expected results:
    502 identical

    --Mark
    myuabov
    0

Add comment

Please sign in to leave a comment.