用exp/imp把遠端資料匯入到本地資料庫中

zhenghaishu發表於2016-01-28

需求:

把遠端192.168.1.76主機中的herendh使用者下的資料,匯入到本機的herendh使用者下。

 

步驟:

1)在cmd視窗中執行匯出命令

exp herendh/herendh@192.168.1.76:1522/orcl file=f:\test76.dmp log=f:\test76.log

這裡herendh/herendh是遠端庫中的使用者名稱和密碼,192.168.1.76是遠端主機的IP1522是遠端資料庫監聽的埠,file引數則指定了資料檔案儲存在本地的路徑。log引數指定了日誌檔案,裡面記錄了匯出時的所有日誌資訊。

注意,這個語句導的是herendh使用者下所有的表。若只想匯出部分表,則可用tables引數來實現:

exp herendh/herendh@192.168.1.76:1522/orcl file=f:\test76.dmp log=f:\test76.log tables=(tablesA,tablesB,tablesC)

 

2)進入本機的sqlplus環境

sqlplus / as sysdba    #本句等價於sqlplus sys/oracle as sysdba

sqlplus system/oracle

 

3)若之前已建立過表空間和使用者,需要先刪除掉

SQL> drop tablespace herendh including contents and datafiles;

SQL> drop user herendh cascade;

 

4)建立表空間

SQL>

create tablespace HERENDH

datafile 'F:\app\Administrator\oradata\orcl\HERENDH.dbf'  

size 1024M

autoextend on

next 50M maxsize 20480M

extent management local;

這裡指定了表空間的名稱是HERENDH

表空間檔案存放於路徑F:\app\Administrator\oradata\orcl\HERENDH.dbf,注意,這個路徑要根據你安裝Oracle時的具體路徑而定。假設你的資料庫是安裝在D:\oracle目錄下,則應寫成D:\oracle\oradata\orcl\HERENDH.dbf

初始大小為1024M,若此表空間存放的資料達到此值,則表空間檔案會自動增加大小,每次增加50M,最大值為20G,超過此值後無法再自動增加。

extent manaagement local表示區間管理為本地管理。Oracle管理區間有兩種方式:本地管理和資料字典管理,預設就是本地管理,所以這句也可以不寫。

 

5)建立使用者,並給使用者指定空間和臨時表空間

SQL>

create user herendh identified by herendh 

default tablespace HERENDH 

temporary tablespace TEMP;

注意,這裡TEMP是預設的臨時表空間,資料庫裝好後就已存在,不用手工建立。

 

6)給使用者授權

SQL> grant dba to herendh;

注意:這裡因為是測試,直接給herendh授予最大的dba許可權。若是生產環境,則要酌情考慮。

 

7)退出sqlplus環境

SQL> exit

 

8)在cmd視窗執行匯入命令

imp herendh/herendh file=f:\test76.dmp full=y log=f:\imp76.log

注意:上面的命令是匯入使用者herendh下所有的表。如果只是匯入部分表,比如要匯入tableAtableBtableC,則應該改成

imp herendh/herendh file=f:\test76.dmp tables=(tableA,tableB,tableC) log=f:\imp76.log

 

9)幫助命令

假如要查閱expimp的其它語法,只需要在cmd視窗輸入

exp help=y

imp help=y

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29485627/viewspace-1983675/,如需轉載,請註明出處,否則將追究法律責任。

相關文章