天天看點

Oracle導入導出詳解

當所需要導出的檔案較小時可以直接使用用戶端工具導出為.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