Profiles

See Custom password security
See Privileges and grants

How to avoid a user running a very heavy query

alter system set resource_limit = true
(Re-login the test user after this)

Only 7.000.000 of blocks may be allowed in production environment, all the others values are th default

CREATE PROFILE "TMPPROFILE"
LIMIT CPU_PER_SESSION DEFAULT CPU_PER_CALL DEFAULT
CONNECT_TIME DEFAULT IDLE_TIME DEFAULT SESSIONS_PER_USER
DEFAULT LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL
7000000 PRIVATE_SGA DEFAULT
COMPOSITE_LIMIT DEFAULT FAILED_LOGIN_ATTEMPTS DEFAULT
PASSWORD_LOCK_TIME DEFAULT PASSWORD_GRACE_TIME DEFAULT
PASSWORD_LIFE_TIME DEFAULT PASSWORD_REUSE_MAX DEFAULT
PASSWORD_REUSE_TIME DEFAULT PASSWORD_VERIFY_FUNCTION DEFAULT

When tuning the query consider  consistent gets and physical reads from costs, see How to tune a query