SQL has a list of reserved words.
These are words you are not allowed to name your own database objects.
If you insist on using a reserved word as an object name, you must enclose the name within double quotes.
These are some examples of SQL reserved words:
AND, CREATE, DROP, FROM, GRANT, HAVING, INDEX, INSERT, MODIFY, NOT, NULL, NUMBER, OR, ORDER, RENAME, REVOKE, SELECT, SYNONYM, SYSDATE, TABLE, UPDATE, USER, VALUES, VIEW, and WHERE.
The oracle data dictionary contains a V$RESERVED_WORDS view.
You can check your object names against this view to avoid using reserved words.