假如:
Oracle 用戶限制-->只能用cxdb
表空間 限制-->只能用farmdoab
目錄-->自己創建,目錄名隨意
文件名:CXDB518.DMP
----------------------------------------
首要工作:打開CMD命令窗口,sqlplus,輸入用戶名:system 密碼:
第一步:創建表空間
create tablespace farmdoab datafile 'D:\dzzwpt.dbf' size 100M autoextend on next 50m;
第二步:創建目錄
create or replace directory dp_dir as 'C:\tockup';
PS:把要導入的DMP文件放入目錄下。
第三步:創建用戶,並指定默認的表空間
create user cxdb identified by root default tablespace farmdoab;
--》》(刪除用戶:drop user iteye cascade;)
第四步:授權
4.1:授權dba權限:grant connect, dba to cxdb;
4.2:授權用戶cxdb讀寫目錄文件: grant read, write on directory dp_dir to cxdb;
第五步:導入DMP文件
impdp cxdb/root@orcl directory=dp_dir dumpfile=cxdb518.dmp logfile=emp.log full=y;
PS:lodfile可以不加,不加系統自動創建。
----------------警示:這樣並不一定就OK了,報錯是常事,把心靜下來解決--------------------------------------------
注意事項:
1.要確定這個.DMP文件是expdp導出的還是exp導出的,exp導出的文件上面導入方法不好使
2.要確定導出的數據庫版本和自己的數據庫版本是否相同或不同,低版本到高版本+version=你的數據庫版本
3.一定把要導入的DMP文件放入要導入的目錄下,不然系統找不到
4.導入DMP文件的dumpfile的路徑直接寫文件名字.DMP。因為前面目錄directory已有
5.就這么多,以后找到問題再補充
-----------------------------基於上面文件的查詢sql語句------------------------------------------
1.查詢表空間
1.1 查所有表空間
select * from dba_tablespacer t;
1.2 只查表空間名稱:
select tablespace_name from dba_tablespaces;
也可以進Oracle點擊TABLESPACE里面看。
2.查詢目錄
select * from dba_directories;
也可以進Oracle點擊DIRECTORY里面看.點擊右鍵properties可以看到目錄路徑
3.查看當前數據庫版本號
select * from v$version;