Oracle 9i,10g,11g 下的 UTL_FILE_DIR 及 DIRECTORY - 1

tolywang發表於2014-11-29


   UTL_FILE_DIR 引數 和 directory 的作用是讓Oracle透過Package(比如utl_file)來對OS上的檔案進行操作(如建立,修改等)。

    In the past, accessible directories for the UTL_FILE functions  were specified in the initialization file using the UTL_FILE_DIR parameter. However, UTL_FILE_DIR access is not recommended. It is recommended that you use the CREATE DIRECTORY feature, which replaces UTL_FILE_DIR. Directory objects offer more flexibility and granular control to the UTL_FILE application administrator, can be maintained dynamically (that is, without shutting down the database), and are consistent with other Oracle tools. CREATE DIRECTORY privilege is granted only to SYS and SYSTEM by default.  

    Oracle9i R2後建議使用directory , 當然,現在11g R2了,其實UTL_FILE_DIR 還是用得很廣泛,directory 僅僅用在了expdp/impdp上, 可能是因為UTL_FILE_DIR 不需要任何賦權就可以使用的原因, 而directory需要賦予使用者讀寫許可權 。directory 新增和修改不需要重啟資料庫,而utl_file_dir 需要。


使用 UTL_FILE_DIR(引數檔案) :
alter system  set  UTL_FILE_DIR='/data/file_dir'
alter system  set  UTL_FILE_DIR='/data/file_dir','/u01/exp_dir' 

使用 Directory :
create or replace directory  UTF_DIR_01  as '/u01/exp_dir';
grant read,write on directory  UTF_DIR_01  to wang ;
可以透過 查詢dba_directories 檢視所有directory, drop directory exp_dir; 刪除。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1351241/,如需轉載,請註明出處,否則將追究法律責任。

相關文章