Det finns inget behov av en alternativ till UTL_HTTP, det paketet är endast otillgängligt på grund av ett missförstånd av säkerhetsreglerna. Be din DBA att bevilja exekvering på UTL_HTTP till public, en roll eller ditt konto.
Det är viktigt att veta var säkerhetsreglerna kommer ifrån, att veta när de inte längre gäller. De flesta DBA:er har ingen aning om var deras säkerhetspolicy kommer ifrån. De flesta av dem får helt enkelt skripten eller policyerna från en kollega och ifrågasätter det inte. Om du skulle spåra det tillbaka är det troligt att någon i din organisation fått ett manus från en säkerhetsrevisor. Säkerhetsrevisorerna kopierar nästan alltid sitt manus ordagrant från Security Technical Implementation Guide (STIG), producerad av försvarsdepartementet.
Vilket betyder det verkliga säkerhetspolicyer finns antingen i 11g Oracle STIG eller 12c Oracle STIG .
XML-filen för 11g-guiden innehåller denna regel:SV-68213r1_rule, "Exekveringsbehörighet måste återkallas från PUBLIC för begränsade Oracle-paket." Den regeln rekommenderar att du kör det här kommandot:
revoke execute on UTL_HTTP from PUBLIC;
Men guiden säger tydligt att det är OK att ge exekveringsprivilegier till specifika användare. Regeln är bara att återkalla bidraget från PUBLIC, inte för att hindra alla från att använda paketet. Och den regeln finns inte ens i 12c.