Nếu bạn đang sử dụng Oracle 9i trở lên, bạn nên sử dụng một đối tượng thư mục để thay thế. Điều này an toàn hơn, vì nó chỉ cho phép các đường dẫn hoàn chỉnh (không có ký tự đại diện). Nó cũng không yêu cầu khởi động lại cơ sở dữ liệu, không giống như sử dụng UTL_FILE_DIR trong tệp init.ora. Và nó an toàn hơn nhiều vì chúng tôi có thể cấp đặc quyền trên từng thư mục cho người dùng cá nhân cụ thể.
Nhưng khía cạnh mà bạn sẽ quan tâm nhất ngay bây giờ là tính trừu tượng của đối tượng thư mục làm cho nó dễ dàng để thay đổi đường dẫn hệ điều hành thực tế, vì vậy nó có thể khác nhau trong mỗi môi trường. Giống như thế này:
alter directory temp_data as '/home/oracle/tmp';