Brother ,derrepente isso possa ajudar ,basta adaptar a sua realidade,testei no Linux e funciona.
Etapa 1-Crie uma pasta com o nome preprocessor_scripts no caminho /home/oracle
Etapa 2-Entre dentro da pasta preprocessor e crie o script no vi com nome list_files.sh ,inserindo o código abaixo:
Etapa 3 - Execute o Script com o comando :
Etapa 4- Conecte no banco com o usuário SYS
Etapa 5- -Crie um objeto no banco com o nome PREPROCESSOR_DIRECTORY
Selecionar tudo
CREATE DIRECTORY PREPROCESSOR_DIRECTORY AS '/home/oracle/preprocessor_scripts'
Etapa 6- Crie uma tabela com o nome home_directory :
Selecionar tudo
CREATE TABLE home_directory
(
fpermissions VARCHAR2(10),
flink VARCHAR2(2),
fowner VARCHAR2(6),
fgroup VARCHAR2(6),
fsize VARCHAR2(100),
fdate VARCHAR2(100),
fname VARCHAR2(255)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY PREPROCESSOR_DIRECTORY
ACCESS PARAMETERS
(
records delimited by newline
preprocessor PREPROCESSOR_DIRECTORY:'list_files.sh'
fields terminated by whitespace
(
fpermissions position(1:10),
flink position(12:14),
fowner position(15:21),
fgroup position(22:28),
fsize position(28:37),
fdate position(37:49),
fname position(50:305)
)
)
LOCATION ('list_files.sh')
)
REJECT LIMIT UNLIMITED
/
Etapa 7- Basta rodar o select e conseguirá listar os diretórios
Selecionar tudo
[oracle@adriano preprocessor_scripts]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 8 22:42:38 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from home_directory;
FPERMISSIO FL FOWNER FGROUP
---------- -- ------ ------
FSIZE
--------------------------------------------------------------------------------
FDATE
--------------------------------------------------------------------------------
FNAME
--------------------------------------------------------------------------------
total 12
FPERMISSIO FL FOWNER FGROUP
---------- -- ------ ------
FSIZE
--------------------------------------------------------------------------------
FDATE
--------------------------------------------------------------------------------
FNAME
--------------------------------------------------------------------------------
drwxr-xr-x 8 root root
4096 Au
ug 18 2009 d
Database
SQL>
Bom a idéia é essa,não testei no Windows ,pois não uso o mesmo,mas basta implementar de acordo com a sua necessidade.