Sources

Sybase ASE

Check which SAP ASE (Sybase) build SQL Flow captures from, and choose between the DirectLog and Reconstruction capture modes.

SQL Flow captures changes from SAP Adaptive Server Enterprise (ASE), listed in the wizard as Sybase, in two capture modes: DirectLog and Reconstruction. Both read the transaction log through a log broker on the ASE host. They differ in whether the tables are marked for replication, which tables they capture, which devices the broker serves, and whether the target receives every version of a row or converges to its current state.

Supported versions

ASE buildSupported
SAP ASE 16.0 SP02 PL02 (EBF 25320) for Linux x86-64, with a 16 KB logical page sizeYes, in both capture modes
Any other build, release, platform or page sizeNo. Both modes refuse it by name when the pipeline starts.

SQL Flow reads ASE's on-disk log and page format, which it supports for this one build. To check your server, run select @@version, @@maxpagesize. It must return exactly Adaptive Server Enterprise/16.0 SP02 PL02/EBF 25320 SMP/P/x86_64/Enterprise Linux/ase160sp02plx/2492/64-bit/FBO/Sat Nov 21 04:05:39 2015 and 16384. Another build is refused with this message:

ASE native log layout is unapproved. Supported build: Adaptive Server Enterprise/16.0 SP02 PL02/EBF 25320 SMP/P/x86_64/Enterprise Linux/ase160sp02plx/2492/64-bit/FBO/Sat Nov 21 04:05:39 2015.

Both modes also need a log broker on the ASE host, the database's log on a device of its own, and device files on a file system rather than raw devices.

Supported character sets

The server character set matters only for tables with char, varchar, nchar, nvarchar or text columns; unichar, univarchar and unitext don't depend on it. Both modes support these ASE server character sets:

Character setNames
ISO 8859-1iso_1
UTF-8utf8
US-ASCIIascii
Japanesesjis, eucjis, deckanji
Koreaneucksc
Simplified Chineseeucgb, gb2312, gbk, gb18030
Traditional Chinesebig5, cp950
Thaitis620
Windows and DOS code pagescp followed by the code page number, for example cp850 or cp1252

A character set SQL Flow can't decode is refused when the pipeline starts, rather than read as the wrong characters.

Capture modes

ModeWhat it readsWhat it needs on the database
DirectLogThe log device, through a log broker. Every change comes from the log, because the tables are marked for replication.The selected tables marked with sp_setreptable
ReconstructionThe log device through the same broker, plus data and LOB pages from the data and LOB devices to complete partially logged updates.Nothing enabled

The wizard selects DirectLog by default when you choose a Sybase source. You change the mode with the Capture mode buttons on the Source step.

Choosing a capture mode

  1. Can you install a log broker on the ASE host, and does the server run the supported ASE build with a 16 KB page size? Both modes read the log device through the broker.
    • No: SQL Flow can't capture from this server.
    • Yes: go to question 2.
  2. Is the database replicated by SAP Replication Server, with a RepAgent configured or running? Both modes hold the database's secondary truncation point, which RepAgent owns.
    • Yes: SQL Flow can't capture from this database.
    • No: go to question 3.
  3. Does a selected table have a text, unitext or image column? DirectLog refuses these tables.
  4. Can the selected tables be marked for replication with sp_setreptable, by a login with replication_role? No other product may have marked them.
DirectLogReconstruction
Reads fromLog device, via log brokerLog, data and LOB devices, via log broker
Database setupTables marked with sp_setreptableNothing enabled
Lock schemesAll-pages, data-pages and data-rowsAll-pages, data-pages and data-rows
text, unitext and image columnsCapturedCaptured
Login rolesreplication_rolereplication_role, and permission to run checkpoint
LagMillisecondsSlower than DirectLog
Source loadLog pages; metadata over SQLLog and data pages, an occasional checkpoint and keyed reads of current rows
Holds the source logYes, while the pipeline runs; released on pauseYes, while the pipeline runs; released on pause
Every intermediate update versionYesNo: converges to the current row
Source monitor (no target)Not availableAvailable

Both modes need a primary key constraint on every table, refuse compressed tables and encrypted columns, and allow one pipeline per source database. Data type support by engine lists the column types each mode captures. See Choosing a capture mode for the comparison across every source engine.

Encrypted data

DirectLogReconstruction
ASE full database encryptionRefusedRefused
Encrypted columnsRefusedRefused
Encrypted connectionRequire (default) or PreferRequire (default) or Prefer
  • Database encryption: both modes read the device bytes as stored on disk, so a pipeline on a database with full database encryption is refused when it starts.
  • Encrypted columns: a selected table with an encrypted column is refused before the initial load. Leave those tables out of the pipeline.
  • Encrypted connections: with Require (default), the agent connects over SSL and validates the server certificate and host name. Prefer uses SSL only when Trusted certificate file on agent is set. See DirectLog: Encrypted data.

See Encrypted data support for every engine.

See also

Previous
Binlog

If this was useful,
our newsletter will be too.

Get monthly insights on data engineering, AI, and building critical infrastructure - direct from the Spectral Core team and CEO Damir Bulic.