there are 2 object for this purpose.
--create java object with below source.
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "unixCommand" AS import java.io.*; public class unixCommand{ public static String Run(String Command){ try { String strReturn = ""; Process proc = Runtime.getRuntime().exec(Command); BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream())); String output = ""; String currentLine = null; while((currentLine = in.readLine()) != null) { output += currentLine + "\n"; } in.close(); if(output != "") strReturn = "[O]" + output; in = new BufferedReader(new InputStreamReader(proc.getErrorStream())); String error = ""; currentLine = null; while((currentLine = in.readLine()) != null) { error += currentLine + "\n"; } in.close(); if(error != "") strReturn += "[E]" + error; return strReturn; } catch (Exception e){ System.out.println("[E]Error running command: " + Command + "\n" + e.getMessage()); return(e.getMessage()); } } }-- create db function.
CREATE or REPLACE FUNCTION unixCommand_Run(Command IN STRING) RETURN VARCHAR2 IS LANGUAGE JAVA NAME 'unixCommand.Run(java.lang.String) return java.lang.String';
--sample
select unixCommand_Run('ls -l') from dual;