Why sometimes some tablespaces are put into rollforward pending state following a crash recovery
During a crash recovery procedure, if the tablespace containers for a certain tablespace becomes inaccessible, no logs are replayed against that tablespace, rendering it out of synchronization with the other tablespaces in the database. This results in, that particular tablespace state of, 'offline' and 'rollforward pending'.
Once the containers are accessible again, and database restarted, the tablespace switches its state from offline to online, but continues to remain in the rollforward pending state. A rollforward against the tablespace to 'end of logs and complete' would bring it out of the 'rollforward pending' state.