Split varchar2 variable based on vertical line delimiter
You can use the functions INSTR to locate the poition of '|' in the string and SUBSTR to retrieve the relevant part of the string. 

So

select  
    SUBSTR(personal_info, 1, INSTR(personal_info, '|') - 1),
    SUBSTR(personal_info,INSTR(personal_info, '|') +1 )
from users


will returrn two columns with the appropriate parts of personal_info.