Search code examples
oracle11gpuppet

Check if Oracle table exists with Puppet


I'm setting up a Puppet provision file to install, configure and restore a dump file into a Oracle Database.

I would like to include a check in the exec command in order to check if the restore was successful.

Here is what I have so far:

exec {"import-dump":
  command => "impdp system/password DUMPFILE=MYDUMP.DMP LOGFILE=import-dump.log SCHEMAS=MYSCHEMA",
  path    => "/u01/app/oracle/product/11.2.0/xe/bin/",
  -- something to check if the import command already runned successfully ---
  require => Exec["install-oracle"],
}

Solution

  • I would use an approach like the following:

    exec { "import-dump":
      command => "impdp system/password DUMPFILE=MYDUMP.DMP LOGFILE=import-dump.log SCHEMAS=MYSCHEMA",
      path    => "/u01/app/oracle/product/11.2.0/xe/bin/",
      unless  => "/bin/grep 'terminated successfully' /path/to/import-dump.log",
      require => Exec["install-oracle"],
    }
    

    In this way you can check if a previous import job was run successfully.