Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Run data pump without using OS page cache

User51642 Yong HuangJun 15 2022 — edited Dec 12 2022

This is a feature to be desired because the current data pump tool cannot do it. Have you all noticed that while running expdp to create a big dumpfile, the OS free memory quickly goes down and you start to see kernel thread [kswapd] in `top' output, unless you had tons of free memory at the beginning? This is on Linux and file system is xfs. Unlike Solaris, Linux has no way to enable file system-wide direct I/O. It has to be enabled by the program, i.e. set the O_DIRECT flag to the open(2) call (see `man 2 open'). The expdp developer can do this easily. But this is not possible with the current data pump tools. (Oracle 19c, if version matters.)
[Update]
I thought I found the solution by using the nocache program (https://github.com/Feh/nocache). So I installed it and prepended nocache to the data pump command, i.e. `nocache expdp ...'. It did not work. The system free memory still drastically dropped as soon as expdp finished preparations and started to actually dump data.
Prepending `nocache' to expdp is equivalent to
export LD_PRELOAD=<dir where I installed nocache>/nocache-master/nocache.so
followed by expdp. But the data pump master and worker processes ora_dm* and ora_dw* do not inherit this environment variable from expdp.
It would be a nice enhancement if data pump could have a nocache-like option built in.
[10/11/2022 Update] The enhancement request was rejected in SR 3-29996935781 because, according to the analyst, "Caching behavior on Linux is OS-specific. It belongs at the file layer on which Data Pump relies. This request makes assumptions and suggests a solution when the root cause of the problem is unclear. It has not been reported by any other customer and Data Pump is used on Linux all the time." I wish somebody else could petition to Oracle for this simple change. The statement "the root cause of the problem is unclear" makes me speechless. I wish the Oracle analyst had at least a few days of systems programming experience, and he/she would know I already presented the root cause and the simple solution.

Comments
Post Details
Added on Jun 15 2022
0 comments
292 views