首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle EXP/IMP 用戶級導出導入全流程操作指南(非歸檔模式小型庫適用)

     編輯:Oracle 資料庫基礎

雖然 Data Pump 已成主流,但傳統 exp/imp 在非歸檔模式、小數據量、需快速按用戶級備份恢復的場景下依然實用。本文記錄 Windows Server 2003 + Oracle 10g 環境下,按用戶導出導入的標準化操作步驟,含 TNS 配置、導出參數解析、導入前對象清理重建、權限授予全流程。

環境準備:TNS 別名配置

# tnsnames.ora
CANWAY =
  (DESCRIPTION =
    (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.43)(PORT = 1521)))
    (CONNECT_DATA = (SERVICE_NAME = ORCL))
  )

導出操作

exp system/canway@CANWAY owner=目標用戶 file=backup.dmp log=export.log compress=y direct=n rows=y

參數說明:

  • owner:指定導出的 Schema 擁有者
  • compress=y:導入時嘗試將初始 Extent 合併為一個(適用小表,大表慎用)
  • direct=n:常規路徑導出(直接路徑 y 速度快但不支持某些類型)
  • rows=y:導出表數據行

導入前置條件:目標用戶環境重建

關鍵:imp 不會覆蓋現有對象,必須先清理目標 Schema。

  1. 查詢默認表空間
    SELECT username, DEFAULT_TABLESPACE FROM dba_users WHERE username = '目標用戶';
  2. 刪除用戶及其對象(保留表空間)
    DROP USER 目標用戶 CASCADE;

    若用戶有活動會話,先 Kill:

    SELECT sid, serial# FROM v$session WHERE username = '目標用戶';
    ALTER SYSTEM KILL SESSION 'sid,serial#';
  3. 重建用戶並指定默認表空間
    CREATE USER 目標用戶 IDENTIFIED BY 密碼 DEFAULT TABLESPACE 表空間名;
  4. 授予必要權限
    GRANT CONNECT, RESOURCE, DBA TO 目標用戶;

導入操作

imp system/canway@CANWAY file=I:\backup\backup.dmp log=I:\backup\import.log FROMUSER=導出用戶 TOUSER=導入用戶

參數說明:

  • FROMUSER:Dump 文件中的源 Schema 名
  • TOUSER:目標 Schema 名(可實現 Schema 重命名遷移)

適用場景與局限性

適用不適用
非歸檔模式小型庫(<50 GB)TB 級大庫、需並行化的場景
用戶級邏輯備份/恢復/遷移物理備份、時間點恢復(需 RMAN)
跨平台異構遷移(配合 FILE 參數)包含 Data Pump 專有特性的對象

總結

exp/imp 雖屬「古老」工具,但在小型非歸檔庫的用戶級邏輯備份、Schema 克隆、表空間遷移中仍具不可替代的簡易性。大型倉庫級環境請轉向 RMAN 或 Data Pump。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved