script – Identificar se conjunto de coordenadas que está dentro de um raio na base ORACLE

Ola pessoal eu tenho um script aqui em MYsql, porem eu preciso aplica-lo em uma base de dados o Oracle,

SELECT *,(RAIO_TERRESTRE * 
    acos(
     cos(radians(PARAMETRO_LATITUDE)) * 
     cos(radians(COLUNA_LATITUDE)) * 
     cos(radians(PARAMETRO_LONGITUDE) - radians(COLUNA_LONGITUDE)) + 
     sin(radians(PARAMETRO_LATITUDE)) * 
     sin(radians(COLUNA_LATITUDE))
  )) AS CAMPOLATITUDE
FROM TABELA HAVING CAMPOLATITUDE <= KM

EXEMPLO:

SELECT *, (6371 *
        acos(
            cos(radians(-19.83996)) *
            cos(radians(lat)) *
            cos(radians(-43.94910) - radians(lng)) +
            sin(radians(-19.83996)) *
            sin(radians(lat))
        )) AS distance
FROM tabela HAVING distance <= 5

o que este script faz e o seguinte:

Eu tenho uma base de dados em ORACLE com as coordenadas de latitude (lat) e longitude (lng) e estou passando o um ponto de referência (no exemplo os valores -19.83996 e 43.94910).Com isso obtenho todos os locais que estão à uma distância de 5 Km do ponto de referência.
Porem este script esta em Mysql e tentei aplica-lo no Oracle mas apresenta erros.