參考部落格:
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...