If your system can't handle a file over 2Gb then what tilly says is probably going to be your only problem. Berkely DB should be able to handle a database into the terabytes, with key/values limited to 1-2 gigabytes. So realistically you will hit size restrictions on the hard drive before the database.
I created a utility to edit berkely db files and I was experiencing a similar issue. I'd add keys, then try to get a list of keys from 'keys %db' but I wasn't getting new keys, or sometimes I'd get ones that were deleted. Eventually I resolved this by doing a sync.
my $bdb = tie my %db ....
$db{'new'} = 'stuff';
$bdb->sync();
Give that a try and see if it helps.