it is per session, also v$open_cursor dooes not show all open cursors. it shows more than that, the best option to find the number of open cursors is from v$sysstat

select * from v$sysstat where statistic#=3