title: How to read Oracle data pump binary dump file directly?
body: <p>For performance and other reasons, I am looking for a way to directly parse the binary file format of a data pump dump file.</p>
  
  <p>The data pump utility "impdp" works only on the database server host, not on the DB client host. In order to run it you have to send the whole dump file from DB client to DB server host and then run "impdp" using SSH.</p>
  
  <p>Sometimes, like if you want only to get a list of schemas or tables included in the dump file, sending a huge file to remote host is non-sense. </p>
  
  <p>I am looking for a library (preferred in Java) or a format specification describing the dump file in order to write code to parse it locally, without the help of the official "impdp" utility.</p>
  
  <p>Thanks.</p>
  
  <p>UPDATE:</p>
  
  <p>I use the following regular expression to filter the dump file to find table names:</p>
  
  <pre><code>^[\\x32-\\x7e\\s]{4,}.*&lt;/OWNER_NAME&gt;&lt;NAME&gt;([^&lt;]*)&lt;/NAME&gt;.*
  </code></pre>
  
  <p>The expression <code>[\\x32-\\x7e\\s]</code> means printable ASCII characters including white spaces. This filters out the binary lines.</p>
  
  <p>The expression <code>{4,}</code> means at least 4 characters.</p>
  
  <p>Since I am dealing with XML, I am extracting the "NAME" element that comes directly after "OWNER_NAME" element. 
  Maybe this way is not that elegant but it seems to work. </p>
  
  <p>Please comment if this way helped you.</p>