I wonder if Oracle's SYS_GUID() function returns a RFC 4122 compliant UUID. For example:
SQL> select sys_guid() from dual;
SYS_GUID()
--------------------------------
A6C1BD5167C366C6E04400144FD25BA0
I know, that SYS_GUID() returns a 16 byte RAW datatype. Oracle uses RAWTOHEX() and probably TO_CHAR() to print out the above ID. Is it correct to interpret this as a UUID compliant string format like:
A6C1BD51-67C3-66C6-E044-00144FD25BA0
I think it's not compliant to the RFC 4122 standard, because the definition says, that a valid UUID must name the UUID-Version within the UUID itself.
Syntax for a RFC 4122 compliant UUID (Version 3):
xxxxxxxx-xxxx-3xxx-xxxx-xxxxxxxxxxxx
SYS_GUID is Oracle's equivalent of UUID. It is globally unique. However, it is not compliant to RFC 4122; I'm inferring lack of compliance from the absence of references to UUID in the documentation (outside the Java XML documentation).
I suspect Oracle haven't natively implemented RFC 4122 because they don't think it scales. I can't imagine why else they would invent their own thing instead of complying to a standard.