SQL> grant create database link to schemauser ;
SQL> create or replace procedure schemauser.zcreatedblink as
begin
execute immediate 'create database link DBLINK_NAME connect to TARGET_USER identified by TARGET_PASSWORD using ''TARGET_TNS''';
end;
/
SQL> exec schemauser.zcreatedblink
SQL> revoke create database link from schemauser ;
SQL> drop procedure schemauser.createdblink;
Please inform if anybody has better idea.