"lsof /bcv/u01/oracle/xproddata" acts as if I ran "lsof /", or with no parameters. All open files show up, and there I'd expect the file to be "/", it shows "/bcv/u01/oracle/xproddata" instead.
"lsof +d /bcv/u01/oracle/xproddata" displays nothing. "lsof +d /" displays swapper, init, lvmkd, etc etc.
There shouldn't be any complicated stuff here. The filesystem was just formatted, mounted at one directory, then I umounted it here and mounted at another -- but apparently did my ctrl-c on the script doing the mount (of this and other filesystems) while it was processing this first one. So there aren't any submounts, or subdirectories, or really anything else on the filesystem.
I'm feeling more and more like reboot is the only hope.
P.S. to my earlier answer: mounting to the same directory gives the "is already mounted on" message; mounting to a different directory /mnt gives the "is already mounted, /mnt is busy, or allowable number of mount points exceeded" message.