Should be possible to "split" based on the first Upper Case letter (not in 1st character position).
However, you are using Oracle and as this is a Microsoft SQL Server forum you may find that folk here (me included!) don't know the Oracle-specific function names that would be required.
This works in SQL Server, except for the "De HaanLex" example - space followed by capital letter would need special handling. You could find the "first capital letter starting from the right" instead, but what about "LastnameAnneMarie" and similar? Perhaps "First capital letter not proceeded by a space" might work?
SELECT LEFT([name], Offset) AS FirstName
, RIGHT([name], LEN([Name])
- CASE WHEN SUBSTRING([name], Offset+1, 1) = '%'
THEN 1 ELSE 0 END
SELECT PATINDEX('%[%A-Z]%', STUFF([name], 1, 1, '')
COLLATE Latin1_General_BIN2) AS Offset
SELECT 'King%Steven' AS [name] UNION ALL
SELECT 'De HaanLex' UNION ALL
SELECT 'GreenbergNancy' UNION ALL
) AS X
) AS Y