Hi Thom-
In Oracle documentation, a database name (db
name) and database unique name (db_unique_name) can have underscore () as one of its characters. But underscore is not a valid character in SID (the one that registers with listeners) before Oracle 12c. The main reason we use _ is to distinguish Delphix generated db names from customer's own databases, because _ is not widely used by Oracle customers. There is no requirement that we have to use _. It is just a convention. We don't regard making db names and SID the same as a high priority: first, the maximum number of characters are different; Second, in RAC databases, each instance has different SID anyway.
Typically we don't see customers using the default random VDB names anyway, so this doesn't end up being a concern in normal operations.
Does this answer your question?