Skip to Content
0
Jun 24, 2020 at 06:07 PM

ASE 15.7 Safe change from directio off to on

113 Views

In order to accelerate cross-platform database load we plan to proceed this way:

  • Using sp_deviceattr, set directio off for all the user database devices. We use regular filesystem files as devices and dsync is already off.
  • Reboot ASE for the change to take effect.
  • Load database, online it and execute sp_post_xpload.
  • Change back to directio on.
  • Reboot again using normal shutdown; never with nowait!

Our question is whether we can safely use the database immediatly after the last task (the second reboot). We are afraid of some data held in the Linux file system buffer cache not being destaged yet to disk. In this case, new page updates going directly to disk may collide with old changes being flushed to disk by Linux.

In other words, does ASE restart ensure that changes to pages in dsync off, directio off devices are flushed to disk? I presume ASE could achieve this by executing the fsync() function on every file during shutdown. close() alone won't do the trick.

ASE 15.7 SP64 on RHEL