in reply to Fork a new process for inserting a record in DB (Oracle)

You are in a world of pain and I doubt you will insert one row at a time using Parallel::ForkManager any quicker than inserting all the rows in one process. You should probably look for some sort of Oracle bulk insert program of look at execute_for_fetch/execute_array in DBI (both are which are natively implemented in DBD::Oracle).

If you want to persue P::FM then you at least need to know that a) as soon as the first child exits, your DBI handle will be destroyed b) when child processes exit they often cause a SIGCHLD to be sent to the parent and Oracle client does things by default with SIGCHLD. You can solve (a) by setting AutoInactiveDestroy on your DBI handle. (b) is trickier as you have already found in your search.

  • Comment on Re: Fork a new process for inserting a record in DB (Oracle)