Environment: Oracle 11G, Web Portal Application development, Java, DataGuard available if needed

What is the best/recommended/proven way to generate integer surrogate keys for App development with Oracle as back-end in multi node RAC environment. There may be relatively frequent node switch-over.

Q. IS CACHED, non-ordered sequence is best preferred way in above environment?

Factors:
security
performance,
data maintenance and quality,
Data ETL/Refreshing between environments,
failover
trackable sequential PK IDs
Data Auditing
Cache size (100?)

I don't really prefer guid. Should we use table based or app-generated IDs but then performance and seed data generated outside app can be an issue.

Please advice.

-D