The issue is a missing row in sys.props$ for NLS_DUAL_CURRENCY. If the database can be opened READ/WRITE, there is a workaround. It involves inserting the row into sys.props$ as follows:

1) Open the database for read/write
2) set transaction use rollback segment system;
3) insert into sys.props$ values ('NLS_DUAL_CURRENCY', '$',
'Dual currency symbol');
4) commit;
5) shutdown and restart the database in read only mode.

You should ensure you have a complete backup before performing this operation.

Good luck,

Sam