Oracle home is missing
With only the pfile and datafiles, you will not be able to open the database "by the book". You can recreate the lost controlfiles with a CREATE CONTROLFILE statement (specifying the remaining datafiles), but the next step would be a recovery, using the redo logs, which you do not have.

If you want to try to salvage some data from the database, you can open it without recovering. After you have created the controlfile and your database is in MOUNT state:

alter system set "_allow_resetlogs_corruption"=true scope=spfile;
startup force mount
alter database open resetlogs;


This is not guaranteed to work, the database may remain open or crash immediately/randomly depending on the scale of inconsistency of the datafiles.