1. 程式人生 > >Oracle 匯出匯入資料庫

Oracle 匯出匯入資料庫

好久在windows環境下沒進行過匯入匯出資料庫操作,最近操作了一下,出現了一些小問題,重新嘗試了下各種匯出,做過記錄。

環境準備

window環境下執行資料庫匯入匯出,其先決條件有兩個:

1,安裝了oracle的客戶端或伺服器端;

2,在windows路徑設定了相應的oracle路徑。

在以上情況下,在dos環境中可以通過輸入 exp 匯出資料庫資料,imp 匯入資料庫資料。

引數說明

可通過輸入命令 exp help=y 查詢檢視具體exp的各項引數情況如下

C:\Users\Administrator>exp help=y

Export: Release 11.2.0.1.0 - Production on 星期三 10月 24 11:50:09 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

通過輸入 EXP 命令和您的使用者名稱/口令, 匯出
操作將提示您輸入引數:

     例如: EXP SCOTT/TIGER

或者, 您也可以通過輸入跟有各種引數的 EXP 命令來控制匯出
的執行方式。要指定引數, 您可以使用關鍵字:

     格式:  EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
     例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
               或 TABLES=(T1:P1,T1:P2), 如果 T1 是分割槽表

USERID 必須是命令列中的第一個引數。

關鍵字   說明 (預設值)         關鍵字      說明 (預設值)
--------------------------------------------------------------------------
USERID   使用者名稱/口令           FULL        匯出整個檔案 (N)
BUFFER   資料緩衝區大小        OWNER        所有者使用者名稱列表
FILE     輸出檔案 (EXPDAT.DMP)  TABLES     表名列表
COMPRESS  匯入到一個區 (Y)   RECORDLENGTH   IO 記錄的長度
GRANTS    匯出許可權 (Y)          INCTYPE     增量匯出型別
INDEXES   匯出索引 (Y)         RECORD       跟蹤增量匯出 (Y)
DIRECT    直接路徑 (N)         TRIGGERS     匯出觸發器 (Y)
LOG      螢幕輸出的日誌檔案    STATISTICS    分析物件 (ESTIMATE)
ROWS      匯出資料行 (Y)        PARFILE      引數檔名
CONSISTENT 交叉表的一致性 (N)   CONSTRAINTS  匯出的約束條件 (Y)

OBJECT_CONSISTENT    只在物件匯出期間設定為只讀的事務處理 (N)
FEEDBACK             每 x 行顯示進度 (0)
FILESIZE             每個轉儲檔案的最大大小
FLASHBACK_SCN        用於將會話快照設定回以前狀態的 SCN
FLASHBACK_TIME       用於獲取最接近指定時間的 SCN 的時間
QUERY                用於匯出表的子集的 select 子句
RESUMABLE            遇到與空格相關的錯誤時掛起 (N)
RESUMABLE_NAME       用於標識可恢復語句的文字字串
RESUMABLE_TIMEOUT    RESUMABLE 的等待時間
TTS_FULL_CHECK       對 TTS 執行完整或部分相關性檢查
TABLESPACES          要匯出的表空間列表
TRANSPORT_TABLESPACE 匯出可傳輸的表空間元資料 (N)
TEMPLATE             呼叫 iAS 模式匯出的模板名

成功終止匯出, 沒有出現警告。

常用匯出匯入方式

-- 全量匯出
           exp system/[email protected] file=d:\daochu.dmp full=y

-- 將資料庫中system使用者與sys使用者的表匯出
           exp system/[email protected] file=d:\daochu.dmp owner=(system,sys)

-- 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
           exp system/

[email protected] file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

-- 將資料庫中的表table1/table2匯出
           exp system/[email protected] file=d:\daochu.dmp tables=(table1,table2)

--不同名之間的資料匯入:
           imp system/[email protected]

fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
 

錯誤

該原因主要在於匯出的時候使用了full 引數,同時使用限制引數 如,owner