यदि आप Oracle 9i या उच्चतर का उपयोग कर रहे हैं, तो आपको इसके बजाय एक निर्देशिका ऑब्जेक्ट का उपयोग करना चाहिए। यह सुरक्षित है, क्योंकि यह केवल पूर्ण पथ (कोई वाइल्डकार्ड नहीं) की अनुमति देता है। init.ora फ़ाइल में UTL_FILE_DIR का उपयोग करने के विपरीत, इसे डेटाबेस पुनरारंभ करने की भी आवश्यकता नहीं है। और यह कहीं अधिक सुरक्षित है क्योंकि हम विशिष्ट व्यक्तिगत उपयोगकर्ताओं को प्रत्येक निर्देशिका पर विशेषाधिकार प्रदान कर सकते हैं।
लेकिन जिस पहलू में आपको सबसे ज्यादा दिलचस्पी होगी वह यह है कि निर्देशिका ऑब्जेक्ट का अमूर्त वास्तविक ओएस पथ को बदलने के लिए एक चिंच बनाता है, इसलिए यह प्रत्येक वातावरण में भिन्न हो सकता है। इस तरह:
alter directory temp_data as '/home/oracle/tmp';
और जानें ।