Oracle Unique Constraint - Mixed Case
You can achieve this using function-based index:
CREATE UNIQUE INDEX YOUR_TABLE_U1 ON YOUR_TABLE(FUNCTION_ID, UPPER(FUNCTION_ROLE))
Under Oracle 11, you can also consider putting UPPER(FUNCTION_ROLE)
in a virtual column.