Search notes:

ORA-00911: invalid character

Although the dollar sign, the underscore and numbers are permitted in identifiers, identifiers cannot start with these characters (except when quoted):
select _leading_underscore from dual;
String literals need to be quoted:
create table tq84_xyz(
  col varchar2(20)
);

insert into tq84_xyz values (#);

drop table tq84_xyz;
Special characters such as the greek μ which is commonly used to denote micro (as in microseconds) is not allowed in identifiers:
create table tq84_t (
   time_µsecs  number
);
If the μ needs to be in the column name, it can be quoted:
create table tq84_t (
  "time_µsecs" number
);

See also

This error message is also thrown when trying to set a hidden init-parameter without quoting it.
An SQL statement whose text contains the Unicode character \U00A0 = No-Break Space (NBSP) causes an ORA-00911 error when used in a .NET application that used ODP.NET (demonstration is here).
Other Oracle error messages

Index