The installation for JBOSS / Oracle, suggests that the NLS_LENGTH_SEMANTICS parameter should be set to ‘CHAR’ in order to support localization. However, Oracle strongly recommends that you do NOT set the NLS_LENGTH_SEMANTICS parameter to CHAR in the instance or server parameter file. This may cause many existing installation scripts to unexpectedly create columns with character length semantics, resulting in run-time errors, including buffer overflows.
I've run into a few issues in the past with Oracle due to it trying to insert text which is larger than the field itself.
So if you have a Unicode database which is sizing the field in bytes, if you insert a character that is outside of the first 127 characters then this will require two bytes to store it. But it can be difficult to forecast in advance how many bytes of data will be needed for a string (varchar2) as it is dependent on which characters are in the strings.
And subsequently this has meant System Administrators/DBAs will sometimes need to resize certain columns only after they've run into an error.
So this change to the semantics will help to act as a safeguard against running into that problem.