Although I'm not an Oracle guy (actually, this question should apply to almost any RDBMS), my answer to "What was the strangest coding standard rule that you were forced to follow" seems to apply well here (edited to make sense within the context of this post) ...
For us, it's all about the table name. We got this idea from a client we worked at that used this standard, and after we all adapted to it, we loved it. The table names are fairly verbose, but due to the unique mnemonic prefix on all of them, we always had a standardized set of aliases: Just use the prefix. Once we disengaged from this client, we kept the naming scheme for new systems, and it's been highly successful ever since.
Here's the scheme: Every table is named in all caps, with underscores between the words. Every table has a prefix (generally 1 - 6 characters) which was usually an acronym or an abbreviation of the main table name. Every field of the table was prefixed with the same prefix as well. The prefixes are also used, in complex queries, as the aliases. So, let's say you have a simple schema where people can own cats or dogs. It'd look like this:
PER_PERSON
PER_ID
PER_NameFirst
PER_NameLast
...
CAT_CAT
CAT_ID
CAT_Name
CAT_Breed
...
DOG_DOG
DOG_ID
DOG_Name
DOG_Breed
...
PERCD_PERSON_CAT_DOG (for the join data)
PERCD_ID
PERCD_PER_ID
PERCD_CAT_ID
PERCD_DOG_ID
Again, the prefixes are there to be reminders of "recommended" (and enforced!) table aliases when building joins. The prefixing made the majority of join queries easier to write, as it was very rare that you'd have to explicitly reference a table before the field, as even related field names are prefixed and therefore already somewhat name-scoped.
A neat side effect is that, eventually, your developers may be able to begin referring to tables in conversation by nothing more than the prefix. An acquired taste, to be sure ... But it works for us.