Oracle資料庫匯入 匯出

2021-08-08 05:30:13 字數 3646 閱讀 3359

(1)、匯出,如圖所示:用紅色框框出來的兩個是必須要有的,第乙個框,即匯出可執行檔案,這個是可以通過最後面那個按鈕來確定預設匯出可執行檔案的,但是本人這裡,不知道是因為資料庫是64位而pl/sql是32位的原因還是安裝的oracle資料是精簡版的,不是完全版的原因,去網上搜了一下,說的是:「在確保oracle客戶端安裝完整的情況下,出現這種情況的原因是安裝目錄下的exp.exe檔案缺失。」具體原因沒有找到,若讀者有好的建議或方法,歡迎與我共同分享。

(2)、匯入,如圖:問題和上面匯出的一樣。

以上方法如果環境允許的話,操作起來還是非常簡便的,但是如果遇到我這種情況,不妨換一下其他方式,畢竟重新安裝oracle或pl/sql還是挺麻煩的。

(1)、資料的匯出:找到目標資料庫,根據個人所需,在dos環境下執行相應語句,便可完成匯出操作。

具體步驟:

<1>、因為是直接在dos環境下進行操作,所以在正式執行匯出:

操作之前,我們需要確定目標資料庫是否存在和可連線

d:\oracle

\product\10.1.0\client_1\network\admin目錄下有個tnsname.ora檔案,內容如下:

cmstar =

(description =

(address_list =

(address = (protocol = tcp)(host = 172.18.13.200)(port = 1521))

)(connect_data =

(service_name = cmstar)))

<2>、使用dos命令,測試資料庫是否可連線,輸入:tnsping databasename

<3>、資料的匯出:

[1]、將資料庫databasenamea完全匯出,使用者名稱:username,密碼:password匯出到d:\data.dmp中

exp username/password@databasenamea  file = d:\data.dmp full = y

expdp username/password@databasenamea  directory=vbm_data dumpfile=資料報名.dmp 

[2]、將資料庫中usera使用者和userb使用者的表匯出

exp usera/password@databasenamea  file = d:\data.dmp owner=(usera,userb)

[3]、將資料庫中的表table1和table2匯出

exp username/password@databasenamea  file = d:\data.dmp tables=(table1,table2)

[4]、將資料庫的表table1中的字段filed1以「00」開頭的資料匯出

exp username/password@databasenamea  file = d:\data.dmp tables=(table1) query =\ "where filed1 like '00%'\"

注:如果想匯出的檔案是壓縮檔案,在上面的命令後面加上compress=y即可。

(2)、資料的匯入:在正式執行匯入命令之前,為了一些實際情況,我們可以做一些處理,具體情況具體而論。比如:我現在要將庫a的表匯入到庫b,但是在此之前,庫b其實是有庫a中所有的表的,但是因為庫a經常維護,而庫b就偶爾維護,所以,庫a的表結構與最新要求更匹配,但是我現在又要用庫b,所以需要維護一下庫b,即將庫a的的表重新匯入到庫b中(現目前只知道這種方法),所做處理如下:

<1>、刪除庫b中的使用者a,並及時清理相應表空間。此操作在pl/sql環境下進行。

--刪除使用者

drop user usera cascade;

--刪除表空間tablespacea和tablespaceb及其包含的內容和資料檔案

<2>、建立臨時表空間和永久表空間。此操作在pl/sql環境下進行。

--建立臨時表空間(temporary tablespace tablespacea)並指定存放地點(tempfile 'd:\oracle_data\data\tbs_fmis_temp.dbf')、表空間資料檔案的初始大小(size 50m)、表空間自動增長的大小(autoextend on  next 50m)、表空間最大的大小(maxsize 2048m)和管理方式(extent management local)

create temporary tablespace tablespacea

tempfile 'd:\oracle_data\data\tbs_fmis_temp.dbf'

size 50m  

autoextend on  

next 50m maxsize 2048m  

extent management local;

--建立表空間

create tablespace tablespaceb

logging  

datafile 'd:\oracle_data\data\tbs_fmis_data1.dbf'

size 50m  

autoextend on  

next 50m maxsize 20480m  

extent management local;

<3>、建立目錄『、使用者,並給使用者設定預設表空間和授權。此操作在pl/sql環境下進行。

--建立目錄

create  directory  directoryname  as  'f:\oracle_data\vbm_data'

--建立使用者並設定預設表空間

create user fmis identified by 1  

default tablespace tablespaceb

temporary tablespace tablespacea;

--給使用者授權

grant connect,resource,dba to usera;

<4>、資料匯入。此操作在dos環境下進行。

[1]、將」資料報名.dmp」中的資料匯入到資料庫databasename中去

impdp user/password@databasename directory = directoryname  dumpfile =資料報名.dmp remap_schema = usera:userb

注:在匯出時,資料報中有可能帶出當時的使用者名稱,例:user.tablea,如果直接到入的話,會出現錯誤,所以remap_schema = usera:userb的功能就是將使用者usera的資料匯入到使用者userb中去。

[2]、將「資料報名.dmp」中的表table1匯入

imp user/password@databasename file =資料報名.dmp tables = (table1)

Oracle 資料庫 匯入匯出

匯入匯出時要,通過 執行 進行到oracle的安裝目錄的 bin 目錄下導 例如 d oracle product 10.1.0 db 1 bin 匯出分三種 匯出 表 方案 資料庫 1.1.1 匯出自己的表 說明 使用者 密碼 資料庫例項 表名 可多個 檔案路徑 exp userid scott ...

oracle資料庫匯入匯出

用工具匯入 匯出 資料 工具 t 匯出表 x 工具 t 匯出表 x 所選執行檔案位置 e oracle product 10.2.0 db 1 bin imp.exe exp.exe 命令匯入匯出 oracle匯入dmp檔案命令 1 dmp檔案中的資料匯入資料庫 1.首先進入cmd命令視窗 2.執行...

Oracle資料庫匯入匯出

我們經常會在資料備份或環境移至的時候用到oracle的匯入匯出 下面我們來詳細看一下匯入匯出的步驟 1.命令列下匯出dmp檔案 資料匯出,可以帶版本 expdp bp oracle bp oracle orcl directory dump dir dumpfile bp oracle.dmp ve...