I want to create an Oracle user who can grant references to other users.
Do I need to make him
sysdba for that, or is there any other way?
Do not provide database users or roles more privileges than are necessary. (If possible, grant privileges to roles, not users.) In other words, the principle of least privilege is that users be given only those privileges that are actually required to efficiently perform their jobs.
You just need to grant with admin option:
grant references on <schema>.<table> to <user> with admin option;
<user> can then grant references on to others, but can't pass on the admin option.