create a file called login.sql and put it in your SQLPATH

Code:
set line 180
set pagesize 40
set termout off

column gname new_value gname
variable server varchar2(64)

declare
  l_role varchar2(36);
begin
  select role
    into l_role
    from session_roles
   where role='DBA';
  if l_role = 'DBA'
  then
    select '-' || upper(host_name)
      into :server
      from v$instance;
  else
    :server := '';
  end if;
end;
/
   
select
  lower(user) || '@' ||
  substr(global_name, 1, decode(instr(global_name, '.', -1, 1), 0, length(global_name) + 1, instr(global_name, '.', -1, 1) ) - 1) || :server gname
from global_name;

set sqlprompt '&gname>'

set termout on