linux導出dmp
⑴ linux下oracle命令導出表中部分欄位
和linux無關,用exp命令就可以實現
導出一個表中的部分數據,使用QUERY參數,如下
導出select * from test where object_id>50000這個條件中的數據
exp charsi/charsi@testdb tables=(TEST) query="'where object_id>50000'" file=aaa.dmp log=aaa.log
其他參數含義:
GRANTS:指定是否導出對象的授權信息,默認參數為Y,即默認導出
INDEXES:指定是否導出表的索引,默認為Y
CONSTRAINTS:指定是否導出標的約束,默認為Y
TRIGGERS:指定是否導出與表相關的觸發器,默認為Y
FILESIZE:如果生成的mp文件超過指定的,需要使用FILE參數指定多個文件
BUFFER:用來指定執行導出時,處理數據所用的緩存區大小,以位元組為單位.這個參數變相用來控制導出時記錄數組單次最大能載入的記錄數.
RECORDLENGTH:該參數用來指定Export的I/O buffer,以位元組為單位,最大不超過65535
⑵ linux oracle 怎麼導入.dmp文件
對於本機安裝了oracle 客戶端,下述命令都可以在 dos 執行,當然 dmp 文件導出在本地。
但在實際研發時,沒人願意在本機上安裝龐大的 oracle 軟體,這時你需要使用 Xshell/puTTY..
遠程工具連接到 Linux 進行操作,進行 Linux 上 dmp 文件的導入導出。
a. 將用戶 system 用戶表導出到指定路徑 D 盤
exp system/password@SID file=d:/chu.dmp full=y
b. 將用戶 system 與 sys 用戶的表導出到指定路徑 D 盤
exp system/password@SID file=d:/chu.dmp owner=(system,sys)
c. 將用戶 system 中的表 table_A、table_B 導出到指定路徑 D 盤
exp system/password@SID file= d:/chu.dmp tables=(table_A,table_B)
d. 將用戶 system 中的表 table1 中的欄位 filed1 以"00"打頭的數據導出
exp system/passwor@SID filed=d:/chu.dmp tables=(table1) query=/" where filed1 like '00%'/"
對於壓縮可以用 winzip 將 dmp 文件進行壓縮,也可以在上面命令後面 加上 compress=y 來實現。
導出 DMP文件適用於大型資料庫完整遷移,對遷移前後兩者伺服器資料庫字元集要求一致,且對CLOB欄位支持不太友好。
對於小數據的導出其實用 PLSQL 能做的更好,更快,導出的SQL也很直觀。
e. 將 D:/chu.dmp 中的數據導入 TEST 資料庫中。
imp system/password@SID file=d:/chu.dmp
imp system/password@HUST full=y file=d:/data/newsmgnt.dmp ignore=y
上面命令如果出現問題,假設有的表已存在,對該表可以不進行導入,後面添加 ignore=y。
f. 將 d:/chu.dmp中的表table1 導入
imp system/passord@SID file=d:/chu.dmp tables=(table1)
⑶ linux oracle .dmp鏂囦歡鏀懼湪鍝涓鐩褰曚笅闈
褰撶劧錛岀敤宸ュ叿瀵煎嚭鏄鏈鏂逛究鐨勶紝瑕佹槸鐩存帴鐢ㄩ粦紿楀彛瀵煎嚭涔熸槸寰堟柟渚跨殑銆
榪欎釜瀵煎嚭鐨勮瘽錛屼綘鍙浠ュ叿浣撶殑涓婄綉鎼滄悳錛屾湰鍦扮殑灝辯洿鎺ュ煎嚭灝辮岋細
鏁版嵁瀵煎嚭錛
1 灝嗘暟鎹搴揟EST瀹屽叏瀵煎嚭,鐢ㄦ埛鍚峴ystem 瀵嗙爜manager 瀵煎嚭鍒癉:\chu.dmp涓
exp system/manager@TEST file=d:\chu.dmp full=y
2 灝嗘暟鎹搴撲腑system鐢ㄦ埛涓巗ys鐢ㄦ埛鐨勮〃瀵煎嚭
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 灝嗘暟鎹搴撲腑鐨勮〃table1 銆乼able2瀵煎嚭
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 灝嗘暟鎹搴撲腑鐨勮〃table1涓鐨勫瓧孌礷iled1浠"00"鎵撳ご鐨勬暟鎹瀵煎嚭
exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"
濡傛灉鏄榪滅▼鐨勮瘽涔熸槸鍙浠ョ殑錛
C:\Documents and Settings\Administrator>exp tmrpt/[email protected]:1521/bocReport file=c:\yuCheng\event_log_realtime.d
mp tables=(event_log_realtime);
⑷ telnet 遠程linux伺服器導出oracle資料庫到本地,命令要怎麼寫
操作順序:
1、打開本地終端,輸入telnet命令:
>> telnet 伺服器ip
輸入用戶名 密碼 登陸成功
2、轉到oracle用戶下,輸入:
>> su - oracle
>> exp
根據Oracle的exp命令提供的到處向導,導出用戶需要的數據到dmp文件中 myxxxoutxxx.dmp
3、接下來是講這個dmp文件傳到本地
兩種方式
1、如果伺服器端開啟了ftpd 或者 sshd ,可以從本地連接過去,把dmp文件下載到本地
重新打開一個本地終端
>> ftp 伺服器ip
輸入用戶名 密碼 登陸成功
>> cd dmp文件目錄的相對路徑
>> get myxxxoutxxx.dmp
2、如果本地伺服器開啟了相關服務 可以從伺服器端上傳dmp文件到本地
>> cd dmp文件目錄的路徑
>> ftp 伺服器ip
輸入用戶名 密碼 登陸成功
>> put myxxxoutxxx.dmp
最後就是本地庫的導入了
在終端中輸入 imp 根據向導一步一步設置導入
或者用開發工具幫助導入