Promise,
No you cannot share free space between VG's. Think of each VG as a serperate entity.
You could move a filesystem from datavg and place it on rootvg to free up some space, but in my opinion I would not do this. You want to keep all of your data off rootvg, therefore keeping it to a minimum size. Then when/if the need to rebuild the system arises it is backup up in the minimum time.
I would instead purchase another disk and add this to the datavg volume group.
If you cannot buy another disk and NEED to migrate a filesystem to rootvg you could use the method below:
1) Keep all users of the system i.e. touch /etc/nologin or disconnect n/w cable
2) Create a new filesytem on rootvg - i.e. call it newfs
3) cd into the source directory and type:
find . -print |backup -ivf - |(cd /newfs; restore -xf -)
* This is a dynamic backup/restore
4) When completed check both filesystems match in terms of:
du -sk
find . -type f |wc -l
find . -type d |wc -l
find . -type s |wc -l
5) Unmount both filesystems and rename the old filesystem on datavg to <mountpoint>_old and newfs to the required mount point - you can do this via chfs -m or vi /etc/filesystems or smitty jfs.
You then have two seperate copies of the data, run with this for a few days and then remove the olf filesystem from datavg.
Best Of Luck
Paul