I have created a procedure and used the below statement inside that .
select sql_id into v_sql_id from v_$sql where sql_text =v_sql;
I am getti
Most probably the user you are using was given access to the view through a role rather than the select privilege directly.
Unfortunately privileges obtained through a role are not active when running PL/SQL.
You need to ask your DBA to grant the SELECT privilege directly to your user.