"ORA-12899: value too large for column "V_UUID" (actual: 36, maximum: 4000)" when used to generate a Virtual column
After some experimenting I was able to get it to work by casting the result of the function call:

CREATE TABLE example_table
(
  uuid RAW(16)    NOT NULL PRIMARY KEY,
  v_uuid CHAR(36) GENERATED ALWAYS AS (CAST(UUID_AS_HEX(uuid) AS CHAR(36))) VIRTUAL
);