When your database is in ARCHIVELOG mode, all changes are recorded in the redo logs (and hence the archived redo logs). So if you have those logs, you can be 100% sure that you will be able to recover your database.
But........ when if I did some operations where I told the database *not* to log my changes. Let's look at an example
SQL> select name, UNRECOVERABLE_CHANGE# from v$datafile;
NAME UNRECOVERABLE_CHANGE#
-------------------------------------------------- ---------------------
C:\ORACLE\ORADATA\NP12\SYSTEM01.DBF 0
C:\ORACLE\ORADATA\NP12\SYSAUX01.DBF 0
C:\ORACLE\ORADATA\NP12\SOE.DBF 0
C:\ORACLE\ORADATA\NP12\USERS01.DBF 0
C:\ORACLE\ORADATA\NP12\ASKTOM01.DBF 0
C:\ORACLE\ORADATA\NP12\UNDOTS01.DBF 0
C:\ORACLE\ORADATA\NP12\WHS_MD01.DBF 0
C:\ORACLE\ORADATA\NP12\TS1.DBF 0
C:\ORACLE\ORADATA\NP12\TS2.DBF 0
C:\ORACLE\ORADATA\NP12\TS3.DBF 0
SQL> create table T (x int, y int ) tablespace users;
Table created.
SQL> alter table t nologging; <===== DONT LOG DIRECT MODE OPERATIONS
Table altered.
SQL>
SQL> insert /*+ APPEND */ into T
2 select rownum, rownum from dual
3 connect by level <= 1000;
1000 rows created.
SQL>
SQL> commit;
Commit complete.
SQL>
SQL> select name, UNRECOVERABLE_CHANGE# from v$datafile;
NAME UNRECOVERABLE_CHANGE#
-------------------------------------------------- ---------------------
C:\ORACLE\ORADATA\NP12\SYSTEM01.DBF 0
C:\ORACLE\ORADATA\NP12\SYSAUX01.DBF 0
C:\ORACLE\ORADATA\NP12\SOE.DBF 0
C:\ORACLE\ORADATA\NP12\USERS01.DBF 57545316
C:\ORACLE\ORADATA\NP12\ASKTOM01.DBF 0
C:\ORACLE\ORADATA\NP12\UNDOTS01.DBF 0
C:\ORACLE\ORADATA\NP12\WHS_MD01.DBF 0
C:\ORACLE\ORADATA\NP12\TS1.DBF 0
C:\ORACLE\ORADATA\NP12\TS2.DBF 0
C:\ORACLE\ORADATA\NP12\TS3.DBF 0
So you can see - I made some changes to "T", and hence the USERS tablespaces that were NOT logged. If I lost the datafile now, I would not be able to recover it because I'm "missing" some log information.
This is a flag to me that I should take a backup of that datafile, so that in the event of a restore being required, I know that my changes (which were not loggged) are captured in the backup. Or at least confirm that I have a backup of that file AFTER the unrecoverable scn#
RMAN> list backup of datafile 6;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7 Full 2.21G DISK 00:00:59 24-AUG-16
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20160824T092330
Piece Name: C:\ORACLE\PRODUCT\12.1.0.2\DATABASE\19RE1T0I_1_1
List of Datafiles in backup set 7
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
6 Full 57545933 24-AUG-16 C:\ORACLE\ORADATA\NP12\USERS01.DBF