Isso funcionará:
selecione o salário de ( selecione o salário , número da linha como rn de (selecione o salário da ordem e_salário por salário desc)) onde rn =2;
Por que não funciona:
Ao atribuir ROWNUM a uma linha, o Oracle inicia em 1 e só incrementa o valor quando uma linha é selecionada; ou seja, quando todas as condições da cláusula WHERE forem atendidas. Como nossa condição exige que ROWNUM seja maior que 2, nenhuma linha é selecionada e ROWNUM nunca é incrementado além de 1.
Espero que você esteja claro agora.