ORA-31996
Cause
An empty string is only allowed as a string parameter value when it is the parameter's only value. i.e. the value for a single valued parameter, or the only value for a multivalued parameter. Any of the following is sufficient to trigger this error: ALTER SYSTEM SET "param_name"=list of values w/ an empty string ALTER SESSION SET "param_name"=list of values w/ an empty string Furthermore, when a multivalued string parameter has an empty string as a singular value, ALTER SYSTEM SET ... APPEND will always trigger this error as it would be equivalent to the above ALTER SYSTEM SET example.
Action
If running ALTER SYSTEM SET with or without the APPEND flag or ALTER SESSION SET, remove all empty string values from the list of values passed to the command. Furthermore, if running ALTER SYSTEM SET ... APPEND, make sure that the current parameter value is not an empty string.