I was recently working for a client who has just done a new install of the Oracle 12c database. While attempting to import data into their new database using datapump, they got a segmentation error as follows:
Import: Release 220.127.116.11.0 – Production on Fri May 15 10:17:32 2015
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Segmentation fault (core dumped)
Which was all very strange and a little alarming because you’d expect something as fundamental as datapump to work without a problem.
A quick check of the alert log didn’t show any related errors recorded in there, so I turned to the trusted old 10046 trace.
Cause Of The Datapump Segmentation Error
Examining the trace file generated by the trace showed that the actual problem was with an invalid directory path.
Basically, because the client was not specifying a directory when running the impdp command, Oracle was reverting to using the default directory which is called “DATA_PUMP_DIR”.
In this case, it turns out that the path pointed to for that directory by the client’s database didn’t exist on the server. Once I created the directory on the server, the import began to work without error.
According to Oracle support, this is expected behaviour. It would be much nicer, not to say simpler for us DBAs, if the database gave us a more meaningful error message in this situation though!
A simple “Invalid directory name” error would have made finding the cause of the problem a lot more straightforward and saved us a fair amount of time and effort.