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

Oracle exp/imp 跨平台跨用戶匯出匯入實戰操作手冊

     編輯:Oracle 資料庫基礎

任務需求

  1. Windows Server A 匯出 Test1 用戶所有物件,匯入 Linux Server B 的 Test2 用戶
  2. B 機器 Test2 可能不存在或已存在(較複雜)
  3. 授予適當權限

操作步驟

1. A 機器匯出資料

sqlplus /nolog
conn / as sysdba
exp Test1/Test1passwd owner=Test1 file=D:\files\Test1.dmp

2. 查詢來源用戶預設表空間

SQL> SELECT username, default_tablespace FROM dba_users WHERE username='TEST1';
USERNAME  DEFAULT_TABLESPACE
TEST1     CMIS

3. 查詢用戶使用的表空間

SQL> SELECT DISTINCT owner, tablespace_name FROM dba_extents WHERE owner LIKE 'TEST1';
OWNER  TABLESPACE_NAME
TEST1  XSL
TEST1  CMIS

4. 查詢表空間對應資料檔大小(供 B 機器建檔參考)

SQL> SELECT file_name, tablespace_name FROM dba_data_files WHERE tablespace_name IN ('CMIS','XSL');
FILE_NAME                                                TABLESPACE_NAME
D:\Oracle\...\CMIS.DBF                                   CMIS
D:\Oracle\...\CMIS01.ORA                                 CMIS
... (多筆資料檔)
D:\Oracle\...\XSL.ORA                                    XSL

後續需在 B 機器建立相同表空間與資料檔,再以 imp 指定 FROMUSER=Test1 TOUSER=Test2 匯入。若 Test2 已存在需先刪除(含級聯刪除物件)並重建授權。

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