使用data pump前的設定

pingley發表於2012-03-19
使用data pump前的設定
在所使用data pump前需要為使用者指定一個dump,log,sql 檔案存放的位置。該位置是
透過目錄物件來指定的,目錄物件關聯一個作業系統檔案路徑。目錄物件的存在是為了
資料安全性與資料一致性的需要。
預設的dump,log,sql files的位置。
建立一個目錄物件與目錄之間的關聯
SQL> create directory dump_test_dir as '/opt/oracle11g/admin/oracl';
Directory created.
SQL> create directory dump_dir as '/opt/oracle11g/test';
Directory created.
[oracle@zeng admin]$ cd /opt/oracle11g/test
只是建立目錄關聯,並不會實際的在作業系統的檔案系統中建立目錄,比如上面的
/opt/oracle11g/test 並不存在於作業系統檔案系統中。所以與目錄物件關聯的操作
系統目錄應該事先存在。
在unix,linux.windows nt 下已經有一個預設的目錄物件存在data_pump_dir.該目錄
物件是在建立資料庫的時候或者資料庫字典更新的時候建立的。該目錄預設只有sys,system
才能讀寫。所有對於該目錄沒有許可權的使用者在使用data pump 前必須由DBA或者有
create any directory 許可權的使用者為之建立一個目錄物件。並在使用data pump的時候
透過directory=directory_object 來指定使用的目錄物件。
檢視預設的目錄物件資訊。
SQL> select directory_name,directory_path from dba_directories
  2  where directory_name='DATA_PUMP_DIR';
DIRECTORY_NAME                 DIRECTORY_PATH
------------------------------ ----------------------------------------
DATA_PUMP_DIR                  /opt/oracle11g/admin/oracl/dpdump/
預設的目錄物件管理的目錄的格式是:
ORACLE_BASE/admin/SID
ORACLE_HOME/admin/SID
如果有定義ORACLE_BASE,那麼會在該目錄下建立一個dpdump目錄用於data pump操作。
如果沒有定義ORACLE_BASE,那麼會在ORACLE_HOME下建立一個dpdump目錄用於data pump操作。
當建立完一個目錄物件以後必須為使用該目錄物件的使用者授予read,write 許可權。
SQL> grant read,write on directory dump_test_dir to zeng;
Grant succeeded.
注意這裡的對目錄物件的read,write 只是意味著可以透過oracle 資料庫來read,write。
不代表使用者可以直接的訪問作業系統中物件的目錄。 同樣的與目錄物件關聯的作業系統
目錄,oracle資料庫必須對該目錄具備讀寫的許可權。

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

相關文章