當所需要導出的檔案較小時可以直接使用用戶端工具導出為.sql檔案。當導出檔案較大時,以上方法會很慢。此時就可以使用以下方法,直接上代碼,有注釋
--create directory 目錄名 as '目錄路徑'
--例:create directory expdp_dmp as 'D:/expdp_dmp'
--資料庫中查詢表空間
--select * from dba_directories
--導出資料庫
expdp testorcl/[email protected]:1521/orcl directory=DMP dumpfile=testorcl_20180926.dmp logfile=testorcl_20180926.log schemas=ZJDM version=11.2.0.4
--directory 導出目錄
--dumpfile 導出檔案名
--logfile 導出日志檔案名
--schemas 導出使用者,預設為導出全部.
--version 指定的是 執行導入 資料庫的版本
create tablespace testorcl datafile '/oradata/CRECSC/datafile/testorcl .dbf' size 5G AUTOEXTEND ON NEXT 32M MASIZE UNLIMITED;
--建立使用者前要先建立臨時表空間和資料庫表空間兩個表空間,否則用系統預設的表空間會出現一些問題,上為建立表空間,和臨時表空間類似
--下位建立臨時表空間
--create temporary tablespace 臨時表空間名 tempfile ‘臨時表空間位置’ size 臨時表空間大小 autoextend on next 100m maxsize 10240m extent management local;
CREATE USER LTorcl IDENTIFIED BY LTDM DEFAULT TABLESPACE test_DATA TEMPORARY TABLESPACE test_TEMP;
--建立資料庫使用者并指定表空間
--create user 使用者名identified by 使用者密碼 default tablespace 所指定的表空間名 temporary tablespace 臨時表空間名
GRANT CONNECT,RESOURCE TO LTDM;
GRANT DBA TO LTDM;
--給使用者賦權限 grant read,write on directory 目錄名 to 需要指派的使用者名
--例:grant read,write on directory expdp_dmp to aaa;
--CONNECT角色:僅具有建立SESSION的權限
--僅具有建立CLUSTER,INDEXTYPE,OPERATOR,PROCEDEURE,SEQUENCE,TABLE,TRIGGER,TYPE的權限。當把ORACLE resource角色授予一個user的時候,還有unlimited tablespace權限,當把resource授予一個role時,就不會授予unlimited tablespace權限。
impdp testorcl/[email protected]:1521/orcl directory=DATA_PUMP_DIR dumpfile=testorcl20151207.dmp logfile=testorcl20151207.log remap_schema=testorcl:testorcl TABLE_EXISTS_ACTION = REPLACE remap_tablespace = test : test ;
以上可能我整理的比亂,可以參考--https://blog.csdn.net/Cow_cz/article/details/70229929