lr_ntext_byte_order

(Oracle and Microsoft SQL Server only) Ensures the byte order of NCLOB data (for Oracle) or NTEXT data (for Microsoft SQL Server) is sent correctly to the replicate database.

The correct byte order is necessary when you are replicating with different primary and replicate database types (for example, Oracle to Microsoft SQL Server), or primary and replicate databases that are on different platforms (little endian Windows to big endian UNIX).

Note: This parameter is available only for Oracle and Microsoft SQL Server.

Default

big

Values

big – big endian

little – little endian

Examples

  • For Microsoft SQL Server:

    When you are replicating data from Microsoft SQL Server to Microsoft SQL Server, both the primary and replicate databases are little endian because Microsoft SQL Server runs only on Windows. The parameter should be set to little endian. If the replicate database is not Microsoft SQL Server, you need to know whether it is little endian or big endian, and set the parameter to match.

  • For Oracle:

    When replicating Oracle to Oracle, you need to know the endian for the replicate database and set the parameter so the correct endian is sent to the replicate. The same applies when replicating to databases other than Oracle.

Comments

  • If lr_ntext_byte_order is set to little, ltl_big_endian_unitext must be set to false.

  • Big endian indicates a left-to-right byte-order architecture; little endian indicates a right-to-left byte-order architecture.

  • Microsoft SQL Server stores double-byte ntext datatype values in little endian byte order. By default, the byte order of ntext data will be converted during replication to big endian, to allow the data to be transmitted over networks using the common “network” byte order, or big endian. If the target database is also Microsoft SQL Server, the SQL Server will not automatically convert the replicated data from the sent big endian order to the SQL Server desired little endian order. To support replicating ntext data to a Microsoft SQL Server (or other replicate server that fails to provide the necessary conversion), you may 'force' the byte order to be sent using the lr_ntext_byte_order parameter by specifying big or little, as desired to meet the expectations of your replicate database.

  • The default behavior of Replication Agent is to force any unicode data to big endian order, as defined by configuration parameter ltl_big_endian_unitext. In order to allow configuration parameter lr_ntext_byte_order to successfully override the SQL Server byte order, you must also set ltl_big_endian_unitext configuration parameter to false whenever the lr_next_byte_order parameter is used.

  • The following describes the relationship between ltl_big_endian_unitext and lr_ntext_byte_order configuration parameters:
    • When ltl_big_endian_unitext is set true by default, Replication Agent ensures that all unicode data is sent in big endian order.

    • When set to false, ltl_big_endian_unitext allows unicode data to be sent in the byte order that is used when the data is stored in the transaction log file

    • In contrast, lr_ntext_byte_order, forces the result of Unicode data read from the transaction log to be in the requested byte order, regardless of how it normally exists in the transaction log file.

Related reference
ltl_big_endian_unitext