Right heres something odder:

Create a new user and grant it DBA priv - can create the DB link OK.

SQL> create user f1631 identified by f1631
2 default tablespace users_01
3 temporary tablespace temp_01;

User created.

SQL> grant connect, resource, dba to f1631;

Grant succeeded.

SQL> conn f1631/f1631
Connected.
SQL> create database link ice.world connect to batchlnkmi identified by batchlnkmi
2 using 'iced321.world';

Database link created.

SQL> drop database link ice.world;

Database link dropped.

Then grant DBA to the user I'm having a problem with and try again

SQL> conn
Enter user-name: / as sysdba
Connected.
SQL> grant dba to mnbd321;

Grant succeeded.

SQL> conn mnbd321/fred123
Connected.
SQL> create database link ice.world connect to batchlnkmi identified by batchlnkmi
2 using 'iced321.world';
create database link ice.world connect to batchlnkmi identified by batchlnkmi
*
ERROR at line 1:
ORA-01031: insufficient privileges

?????????????????????