Fixing a Mistake in SQL
The error is saying that there’s a chance that Oracle will end up updating the same row twice because there is no unique constraint on _file_*date*_BAK.filecod.
The simple solution is to create the unique index on your logical backup table:
Create unique index _file_*date*_bak_uix on _file_*date*_BAK (filecod);

And then running the update statement exactly as you wrote it already.
This answer is now version dependent though as of Oracle 19.10. If you are sufficiently patched, Oracle will allow you to execute this update statement and only fail if you have data which would cause a single row to be updated multiple times. This behaviour currently needs to be manually enabled with fix control, either at your session level or for the system (talk to your DBA):
Alter session set &quot;_fix_control&quot;='19138896:1';

I expect this will become default behaviour in a future major release.