I have been working in Oracle databases for years, and have always been advised not to use odd characters such as periods, stars, under-scores, spaces and whatnot. I was never truly told why this could be an issue or even if this is still an issue now that I am using R12.
I have stayed away from @, $, &, *, `, and ' in any table name, database password and other places an identifier is noted. The biggest reason is that these characters often have meaning in scripts or for utilities. For instance, in SQL*Plus, the '@' symbol is often used to define a TNSNAMES entry for connecting to a database. In Shell scripts, the '$' character often means what follows is a variable name. If these special characters are used in table names (for instance), then a shell script interacting with that table may not function properly. You may find that there are other special characters as well.
This was first published in November 2010