Is xfs_freeze enough to guarantee data integrity during snapshot?

This is slightly more a server question, but I think that it is likely that database gurus will be able to provide a better answer :shifty:

I wish to snapshot the device that stores my database I[/I] data, but I cant (really dont want to for various reasons) obtain a lock on all the tables.

Will calling xfs_freeze before running the snapshot script, be enough to create a consistent snapshot? Or is a lock completely mandatory?

Thanks

NOTE: This is for snapshotting AWS EBS volumes but I think that the process would be the same for any system.