1 Reply Latest reply: Jun 24, 2013 5:54 PM by Mackbell-Oracle RSS

    OGG-01483 ,-00552 ,-00782

    yxes2013

      Hi all.

       

      OGG Sqlserver 2008

       

      I tried adding trandata to my table but I got the above errors

      How do I use KELCOLS to resolve it?

      Is KEYCOLS a GG command or SQLserver command. Thanks

      GGSCI (a-pc) 6> add trandata dbo.pictures
      
      
      2013-06-24 11:56:03  WARNING OGG-01483  The key for table [ACRDB.dbo.Pictures] contains one or more variable length columns.  These columns may not have their pre-images written to the transaction log
      during updates.  Please use KEYCOLS to specify a key for Oracle GoldenGate
      
      
      2013-06-24 11:56:03  WARNING OGG-00552  Database operation failed: SQLExecDirect error: EXECUTE sys.sp_cdc_enable_db
      if 0 = (select st.is_tracked_by_cdc from sys.tables as st where st.object_id = object_id(N'dbo.Pictures'))
         AND 0 = (select st.is_replicated from sys.tables as st where st.object_id = object_id(N'dbo.Pictures'))
      BEGIN
      DECLARE @capture_instance sysname = N'OracleGG_' + cast(object_id(N'dbo.Pictures') as sysname)
      CREATE TABLE #ggsTabKeys (db sysname, name sysname, owner sysname, column_name sysname, key_seq int, pk_name sysname)
      INSERT INTO #ggsTabKeys EXEC sp_pkeys 'Pictures', 'dbo'
      IF 0 = (SELECT COUNT(*) FROM #ggsTabKeys)
      BEGIN
          INSERT INTO #ggsTabKeys
          SELECT TOP (1) DB_NAME(), '', '', name, 1, '' FROM sys.columns sc
          WHERE sc.object_id = OBJECT_ID(N'dbo.Pictures')
          AND is_computed = 0
          AND max_length > 0
          ORDER BY max_length
      END
      IF 0 = (select COUNT(*) from #ggsTabKeys)
      BEGIN
          INSERT INTO #ggsTabKeys
          SELECT TOP (1) DB_NAME(), '', '', name, 1, '' FROM sys.columns sc
          WHERE sc.object_id = OBJECT_ID(N'dbo.Pictures')
          AND is_computed = 0
          AND max_length > 0
          ORDER BY max_length
      END
      DECLARE @cols NVARCHAR(max)
      SELECT  @cols =
      REPLACE(REPLACE(REPLACE(
      STUFF(( SELECT
               ',' + QUOTENAME( t.column_name)
              FROM    #ggsTabKeys AS t
              FOR XML PATH('')
             ), 1, 1, '')
             ,'&lt;','<'),'&gt;','>'),'&amp;','&')
      execute sys.sp_cdc_enable_table
          @source_schema = N'dbo'
        , @source_name = N'Pictures'
        , @role_name = NULL
        , @captured_column_list = @cols
        , @capture_instance = @capture_instance
      IF EXISTS(SELECT OBJECT_ID('tempdb..#ggsTabKeys'))
      BEGIN
        DROP TABLE #ggsTabKeys
      END
      end
      . ODBC error: SQLSTATE 01000 native database error 16954. [Microsoft][SQL Server Native Client 11.0][SQL Server]Executing SQL directly; no cursor.
      
      
      2013-06-24 11:56:03  WARNING OGG-00782  Error in changing transaction logging for table: 'dbo.Pictures'.
      ERROR: ODBC Error occurred. See event log for details..
      
      
      GGSCI (a-pc) 7> ^F
      
      
      
        • 1. Re: OGG-01483 ,-00552 ,-00782
          Mackbell-Oracle

          You can ignore the 01483 but the 00552 might be a full transaction log.

           

          Can you check the free space in your transaction log? DBCC SQLPERF (logspace) will show size and % used.  If it's full, then you need to allow some disk space for it to grow, and either increase it manually or set to auto growth.