Hola,
Hay mas informacion sobre la forma de trabajar de este package.
1. Es necesario que el parametro db_recovery_file_dest contenga un valor para que el package funcione.
2. El procedimiento SearchFiles no hace un raise de exepciones, por lo tanto si el directorio indicado no existe o no se tienen privilegios, entonces el cursor que devuelve es nulo.
3. El procedimiento SearchFiles busca en sub-directorios tambien, es decir devuelve la lista completa de archivos del directorio indicado mas todos los sub-directorios que se encuentren debajo.
4. La tabla X$KRBMSFT es una tabla in-memory, no tengo idea de lo que significa, aunque me lo imagino, por lo tanto a tener un poco de consideracion sobre la lista de ficheros a leer, dado que lo estaremos cargando directamente en memoria.
5. Al parecer para poder exponer esta tabla a otros usuarios que no sean SYS, hay que wrapearla dentro de una vista y dar grant de select sobre la vista, por ejemplo (esto no lo tengo probado).
Código:
create or reaplce view SYS.X_$KRBMSFT
as
select * from SYS.X$KRBMSFT;
grant select on SYS.X_$KRBMSFT to usuario;
6. El contenido de la tabla X$KRBMSFT es por sesion, lo que significa que si dos sesiones ejecutan el package para ver la lista de ficheros de directorios diferentes, no se van a molestar entre ellas.
Saludos