You should in any case not mix ANSI joins with implicit joins.
Try this:
SELECT COUNT (a.cd_atendimento),
p.cd_prestador,
p.nm_prestador,
p.ds_endereco,
p.nr_endereco,
p.ds_bairro,
p.ds_complemento,
p.nr_cep,
p.cd_cidade,
p.ds_endereco_comercial,
p.nr_endereco_comercial,
p.ds_bairro_comercial,
p.ds_complemento_comercial,
p.ds_cep_comercial,
p.cd_cidade_comercial,
esp.ds_especialid,
decode (p.cd_tip_presta, 1, 'Médico', 2, 'Odontologo'),
c1.nm_cidade cidade,
c2.nm_cidade cidade_comercial
FROM dbamv.prestador p,
dbamv.atendime a,
dbamv.esp_med e,
dbamv.especialid esp,
cidade c1
cidade c2
WHERE p.cd_prestador = a.cd_prestador
AND p.cd_prestador = e.cd_prestador
AND e.cd_especialid = esp.cd_especialid
AND p.cd_cidade=c1.cd_cidade
AND p.cd_cidade_comercial=c2.cd_cidade
AND p.cd_tip_presta in (1,2)
AND A.tp_atendimento = 'I'
AND A.dt_atendimento between '01/jan/2012' and '31/dez/2012'
AND A.dt_alta is not null
GROUP BY p.cd_prestador,
p.nm_prestador,
p.ds_endereco,
e.cd_especialid,
esp.ds_especialid,
p.tp_prestador,
p.cd_tip_presta,
p.nr_endereco,
p.ds_bairro,
p.ds_complemento,
p.nr_cep,
p.cd_cidade,
p.ds_endereco_comercial,
p.nr_endereco_comercial,
p.ds_bairro_comercial,
p.ds_complemento_comercial,
p.ds_cep_comercial,
p.cd_cidade_comercial,
c1.nm_cidade,
c2.nm_cidade