一、創建表空間 在導入 dmp 文件之前,你要在資料庫裡面給它分配一片存儲它的地方(表空間)。 如果我們知道需要導入的資料庫的表空間直接創建就可以,如果不不知道,也沒有關係,我們可以用 txt 打開 dmp 文件,使用快捷鍵 Ctrl+F,查找 tablespace,就可以找到這個 dmp 文件所對 ...
一、創建表空間
在導入 dmp 文件之前,你要在資料庫裡面給它分配一片存儲它的地方(表空間)。
如果我們知道需要導入的資料庫的表空間直接創建就可以,如果不不知道,也沒有關係,我們可以用 txt 打開 dmp 文件,使用快捷鍵 Ctrl+F,查找 tablespace,就可以找到這個 dmp 文件所對應資料庫的表空間,然後創建我們找到的表空間就可以。
create tablespace "表空間名"
datafile 'D:\app\*****\oradata\orcl\表空間名.dbf' size 50M
default storage (initial 500K
Next 500K
minextents 1
maxextents unlimited
pctincrease 0);
註意:datafile 路徑為 oracle 資料庫安裝對應的目錄,為方便查看將表空間的文件設置為表空間的名字。
二、創建用戶
使用資料庫 dba 用戶創建用戶並賦予相應的導入導出等許可權。
第一步:選擇New。
第二步:選擇User。
第三步:點選General標簽。選擇第一步創建的表空間,並填寫用戶名密碼。
第四步:點選Role Privileges標簽。Role選擇connect,勾選“Default”。
第五步:點選System Privileges標簽。選擇“create any table”、“create any type”、“create any sequence”,右側不勾選。
第六步:點選Quotas標簽。tablespace中選擇“users”表空間,勾選“Unlimited”(無限許可權)。
第七步:“Apply” 之後,即可用此用戶以普通用戶(Normal)的身份登錄了。
三、導入dmp
建議使用命令行進行導入,避免使用PLSQL,會產生各種靈異問題。比如:1)導入的時候一閃而過,顯示導入成功,但資料庫里找不到任何數據。2)選擇From User、To User時顯示“Not logged on”問題。所以,在最後附上命令行的導入方式。可以跳過使用PLSQL導入,直接看命令行導入方式
第一步:使用創建的用戶登錄
可以看到新創建的用戶有表空間 CDP
第三步:選擇tools(工具)菜單下的import tables..(導入表);
第四步:在oracle import選項卡界面勾選相應的選項;
第五步:選擇buffer size(緩衝池大小);
第六步:填寫from user導出dmp文件的用戶;
第七步:填寫to user導入dmp文件的用戶,即當前登錄的用戶;
第八步:import executable選擇預設;
第九步:選擇dmp文件;
第十步:import(導入)。
附:命令行導入方式
註意:1、導入前同樣需要創建表空間。2、設置表空間的自動增長(否則導入數據大於表空間的存儲量會導入失敗)。
1、設置表空間自動增長(其中路徑為表空間的路徑)
ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON;//打開自動增長
ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON NEXT 200M ;//每次自動增長200m
ALTER DATABASE DATAFILE 'D:\app\1234\oradata\orcl\CDP.DBF' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自動增長200m,數據表最大不超過1G
2、導入dmp文件
註意:此語句要使用Windows自帶的命令行,不要使用oracle的SQL Plus
imp root/root@orcl file=E:\CDP\cdpnew_20160706\backup\oracle11g_dmp\cdp\cdpnew_20160706.dmp full=y