When 2 sessions simultaneously insert the same primary key value to a table, oracle will block the later session. After the first session is committed, oracle throws an ORA-00001 error: unique constraint ... violated error.
If you hope that oracle don't block insert sessions, you need to implement something using dbms_lock package. Using this, errors will immediately be thrown out when many sessions insert same primary key value, even if these 'insert' haven't be committed. There is an good example from Tom Kyte.
I had thought that 'read uncommitted' transaction isolation level will simply solve this problem. But Oracle doesn't support 'read uncommitted', it implements only 2 transaction isolation levels: read committed(default) and serializable.