Dmp檔案匯入(Imp命令)
四種匯入模式
1. 匯入整個資料庫:
Shell:C:> imp user/pwd(使用者名稱/密碼) @網路伺服器 file=\ \ \檔名.dmp full=y(#匯入全部) ignore=y(重新建立資料庫的所有物件,不會因為物件已存在而造成輸入操作錯誤)
2. 匯入特定的表:
Shell:C:> imp user/pwd(使用者名稱/密碼) @網路伺服器 file=\ \ \檔名.dmp
Table=(表名1,表名2……)
匯入過程:
2.1建立表結構
2.2匯入表的資料
2.3建立索引
2.4匯入觸發器
2.5對匯入的表啟用完整性約束
2.6建立所有點陣圖、函式以及其他索引
3. 匯入指定使用者:
資料庫中有多個使用者,每個使用者都有自己的資料庫物件(表,表空間,表索引,序列號,約束等)
Shell:C:> imp user/pwd(使用者名稱/密碼) @網路伺服器 fromuser=需要匯入的使用者名稱 Touser =匯入的使用者名稱 file=\ \ \檔名.dmp { Table=(表名1,表名2……) or full=y }
4. 表空間傳輸限制過多
imp引數設定
1. 匯入一般需要新增表空間自動擴充套件;
2. 在imp的時候,是先imp資料,然後再建立index和建立約束的;
3. exp匯出自動分割多個dmp檔案才能一條語句匯入多個檔案(即同一個匯出分卷檔案);
4. Buffer(資料緩衝區大小):是指資料行的緩衝區大小(表中一行佔用位元組最大值), exp的buffer最好〉64000,imp的buffer最好>100000, 1024000(1M)是一個比較好的值,實驗得出匯出速度提高40%。
5. 回滾端的問題主要出現在commit選項,大資料量的exp和imp中commit=y(資料分批量提交)可以避免回滾段益出。 對含有long或者lob型別欄位,則是一行行提交會減慢速度
6. Log:imp時為將匯入過程記錄到日誌檔案 log=路徑(含檔名).log (日誌檔案、日誌緩衝區)
7. Filesize:每個轉儲檔案的最大大小,在exp設定可避免匯出檔案過大,分為多個dmp檔案匯出
8. 使用system使用者登入,該使用者具有DBA許可權,