cancel
Showing results for 
Search instead for 
Did you mean: 

Big Endian to Little Endian Converter

andreas_zigann
Active Participant
0 Kudos

Hello,

due to the fast development of processors and RAM I have to think about migrating our big SAP Systems from Solaris to Linux. The problem is the downtime. With heterogenous system copy I can do a copy of 1 TB database within 24 hours (using options like table splitting, 70 GB cache_size, 12 parallel processes and parallel exporting and importing).

A homogenous system copy needs a downtime of about 30 minutes (full backup, inkremental backup, log-files). So it would be fine if I could change plattform this way.

Does anyone know an "endian converter"?

I was about to write a development request to bc-db-sdb, but it is not possible anymore. Would be nice to use backup/restore to change endian type.

Does the development team of MaxDB think about a "Endian Converter"?

Best Regards

Andreas

Accepted Solutions (0)

Answers (1)

Answers (1)

markus_doehr2
Active Contributor
0 Kudos

> due to the fast development of processors and RAM I have to think about migrating our big SAP Systems from Solaris to Linux. The problem is the downtime. With heterogenous system copy I can do a copy of 1 TB database within 24 hours (using options like table splitting, 70 GB cache_size, 12 parallel processes and parallel exporting and importing).

This seems to be pretty slow to me. Did you try to use prefetching to read the data faster? See Note 1327874 - FAQ: SAP MaxDB Read Ahead/Prefetch

> Does anyone know an "endian converter"?

Haven't tried this yet but you can try to do a remote copy using rsh and dd - and let dd change the byte order

# man dd
<...>
conv=value[,value...]
<...>

         swab            Swaps every pair of input bytes. If  the
                         current input record is an odd number of
                         bytes, the last byte in the input record
                         is ignored.
<...>

So you could try like (on the source system):

mknod /tmp/pipe1 p
mknod /tmp/pipe2 p

Then start a media restore from a device that was created.

On the target system do the same:

mknod /tmp/pipe1 p
mknod /tmp/pipe2 p

start a backup to those pipes

then start two shells doing

dd if=/tmp/pipe1 conf=swab bs=32768 | rsh <target system> dd obs=32768 of=/tmp/pipe1

As said, haven't tried this but this sounds interesting. If that doesn't work one could write a simply byte order changer in C.

Markus