使用exp imp遷移oracle資料庫

2021-08-20 08:07:53 字數 2858 閱讀 9098

參考部落格:

exp/imp使用詳解

1.根據使用者匯出匯入

匯出:只匯出某個使用者的資料:

exp test/test@orcl owner=coop

file=/data/oradata/data_dbbak/data_coop/exp_data_2018.2.23.dmp

log=/data/oradata/data_dbbak/data_coop/dbbak_coop_2018.2.23.16.25.txt

buffer=1024000

buffer是指資料行的緩衝區大小,預設值根據系統而定,通常應設定為高值,exp的buffer最好》64000,

imp的buffer最好》100000,1024000是乙個比較好的值,這也是別人的經驗。

其中的test/test是資料庫的登陸使用者名稱和密碼,匯出使用者coop的資料。

orcl為本地配置的連線檔案的name名稱

將檔案傳送到待匯入資料的伺服器上(scp)

在其他oracle資料庫匯入上面匯出的資料,匯入前先建好表空間、使用者、根據資料集大小建立合適的資料檔案

imp coop/coop  file= /data/data_dbbak/data_coop/exp_data_2018.2.23.dmp ignore=y 

log=/data/oradata/data_dbbak/data_coop/imp_data_gz86_2018.2.23.17.13.txt fromuser=cooper touser=cooper

匯入時:coop/coop為資料庫的使用者名稱和密碼,fromuser為匯出時資料的歸屬使用者,touser指定匯入到某使用者的表空間中

資料檔案為匯出的資料檔案

同時匯出多個使用者的資料:

exp coop/coop@orcl

owner="(coop,test1,test2)"

file=/data/oradata/backup/data_dbbak/exp_data_2.18.2.26dmp

log=/data/oradata/backup/data_dbbak/exp_data__2.18.2.26.txt

注意()要加上"",否則會報錯

匯入:

imp coop/coop

file= /data/oradata/backup/data_dbbak/exp_data_2.18.2.26dmp

ignore=y log=/data/oradata/backup/data_dbbak/imp_data_2.18.2.26.txt

fromuser="(coop,test1,test2)" touser="(coop,test1,test2)"

檢視表空間使用率:

select a.tablespace_name "表空間名", total "表空間大小", free "表空間剩餘大小",

(total - free) "表空間使用大小", total / (1024 * 1024 * 1024) "表空間大小(g)",

free / (1024 * 1024 * 1024) "表空間剩餘大小(g)",

(total - free) / (1024 * 1024 * 1024) "表空間使用大小(g)",

round((total - free) / total, 4) * 100 "使用率 %" from (select tablespace_name,

sum(bytes) free from dba_free_space group by tablespace_name) a,

(select tablespace_name, sum(bytes) total from dba_data_files group by tablespace_name)

b where a.tablespace_name = b.tablespace_name;

表空間不足會導致匯入失敗,匯入前根據備份集檔案大小規劃表空間,建立資料檔案

建立表空間:

create tablespace dataspace 

datefile '/data/oradata/data/tablespace_dataspace/orcl_tablespace.dbf'

size 20g

autoextend on next 50m extent management local;

為表空間增加資料檔案:

alter tablespace dataspace add datafile 

'/data/oradata/data/tablespace_dataspace/dataspace_6.dbf' size 30g autoextend on next 50m;

有dba許可權的使用者檢視資料檔案位置:

select file_name, tablespace_name, autoextensible from dba_data_files;
建立使用者並指定表空間:

create user coop identified by gzuncoop default tablespace dataspace ;
給使用者授權:

grant connect,resource,dba to coop;
刪除使用者及使用者資料:

drop user gzunicom cascade;
重複匯入同一備份集(資料可能有差異,類似備份集)前需要刪除所有資料,否則匯入後會出現重複資料。

exp imp資料庫遷移

源系統 雙機熱備 windows 2003 64位 oracle 10.2.0.1 目標系統 rac aix7.1 oracle 11.2.0.1 1 鎖定使用者 2 停止服務後再開啟 目的切斷所有使用者連線 shutdown 開啟服務 startup 4 exp 全庫匯出資料 5 目標庫執行建立表...

Oracle使用exp,imp遷移資料庫

語法 exp user1 pwd1 test1 file e test.dmp 示例 exp tianzhi smart tianzhi smart 192 168 56.60 1521 orcl file e tianzhi smart.dmp 應用截圖 本人愚鈍,初次使用時,都不知道在 輸入這匯...

資料遷移 從SqlServer到Oracle

要把sqlserver中的資料遷移到oracle有多種方法。如果資料量小,可以直接使用sql語句生成器 sqldatatoscript.exe 直接生成sql語句。如果資料量大,建議使用sql loader工具進行資料遷移。具體步驟如下 1.建立中間庫表。之所以需要建立中間庫表是因為,sqlserv...