Could someone please tell me what the limits are to the naming schemas for an oracle database?

example:

What are the illegal characters for table and column names?
Do they have to be all uppercase?
Does oracle only support certain lengths?

Thanks in advance

Arlene