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.