Each process should open its own DBI connection. Processes will readily share one if it's opened before fork, but that has bad side effects, and no good ones that I know of. Two processes talking over one connection may get a db server confused, and the first process to end will take the serverside connection down, with no notification to the surviving process. Further confusion may result when the survivor tries to close its copy.
Moral - Don't call &DBI::connect before a fork, even if one process never uses the connection.