A. 請問oracle資料庫如何導出資料庫的表結構
oracle資料庫導出資料庫的表結構:
1、電腦鍵盤同時按windows鍵和R鍵
(1)oracle命令行導出資料庫擴展閱讀:
數據導出數族返據庫的命令總結:
1 將資料庫zxcc完全導出,用戶名kf 密碼zx 導出到D:zxcc.dmp中
exp kf/zx@zxcc file=d:zxcc.dmp full=y (一般full=n,否則會全庫的所有對象導出)
(exp user/[email protected]/orcl10g file=F:/fileSys.dmplog=F:/fileSys.log
statistics=nonetables=file_attach,file_tree,file_permission)
full=y 表示全庫導出。full總共有2個可選項yes(y)/no(n),預設情況下full=no,這時只會將該用戶下的對象導出。
2 將資料庫zxcc中kf用戶與cc用戶的表導出
exp kf/zx@zxcc file=d:zxcc_ur.dmp owner=(kf,cc)
full方式可以備份所有用戶的資料庫對象,包括表空間、兆飢飢用戶信息等,owner=XX只能備份指定用戶的對象,其他用戶下的就不備份了肢攜,EXP中full=y和owner=XX是不能同時使用的。
3 將資料庫zxcc中的表kf_operator、kf_role導出
exp kf/zx@zxcc file= d:zxcc_tb.dmp tables=(kf_operator,kf_role)
tables=xx 表示備份相關表,不能同時和owner、full使用。
B. oracle資料庫如何使用批處理命令導出導入資料庫
1)導出資料庫命令exp
exp jmlsfd/jmlsfd file=F:\jmlsfd.dmp log=F:\0709.log owner=jmlsfd
jmlsfd/jmlsfd為需要導出資料庫的用缺山配戶名伏指及密碼
jmlsfd.dmp備份資料庫文件所在位置
log導出數據的日誌文件
ower備份數據的所有者唯神
2)導入資料庫命令imp
Imp jmlsfd/jmlsfd file=D:\jmlsfd.dmp log=D:\jmlsfd.log fromuser=jmlsfd touser=jmlsfd
具體參數跟導出類似
C. oracle資料庫里的數據怎麼導出
Oracle數據導入導出imp/exp
功能:Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。
大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)。
Oracle有個好處,雖然你的電腦不是伺服器,但是你裝了oracle客戶端,並建立了連接
(通過Net Configuration Assistant添加正確的服務命名,其實你可以想成是客戶端與伺服器端 修了條路,然後數據就可以被拉過來了)
這樣你可以把數據導出到本地,雖然可能伺服器離你很遠。
你同樣可以把dmp文件從本地導入到遠處的資料庫伺服器中。
利用這個功能你可以構建倆個相同的資料庫,一個用來測試,一個用來正式使用。
執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
DOS中可以執行時由於 在oracle 8i 中 安裝目錄\$ora10g\BIN被設置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
oracle用java編寫,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE這倆個文件是被包裝後的類文件。
SQLPLUS.EXE調用EXP.EXE、IMP.EXE他們所包裹的類,完成導入導出功能。
下面介紹的是導入導出的實例,向導入導出看實例基本上就可以完成,因為導入導出很簡單。
數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:\chu.dmp中
exp system/manager@TEST file=d:\chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)
3 將資料庫中的表table1 、table2導出
exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的導出,對於壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
不過在上面命令後面 加上 compress=y 就可以了
數據的導入
1 將D:\chu.dmp 中的數據導入 TEST資料庫中。
imp system/manager@TEST file=d:\chu.dmp
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
在後面加上 ignore=y 就可以了。
2 將d:\chu.dmp中的表table1 導入
imp system/manager@TEST file=d:\chu.dmp tables=(table1)
基本上上面的導入導出夠用了。不少情況我是將表徹底刪除,然後導入。
注意:
你要有足夠的許可權,許可權不夠它會提示你。
資料庫時可以連上的。可以用tnsping TEST 來獲得資料庫TEST能否連上。
數據導出:
exp hkb/hkb@boss_14 full=y file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbfull.log;
導出注意事項:導出的是當前用戶的的數據,當前用戶如果有DBA的許可權,則導出所有數據!
同名用戶之間的數據導入:
imp hkb/hkb@xe file=c:\orabackup\hkbfull.dmp log=c:\orabackup\hkbimp.log full=y
不同名之間的數據導入:
imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmp
log=c:\orabackup\hkbimp.log;
D. 遠程oracle資料庫導出本地
遠程Oracle資料庫導出到本地用exp命令。
導出一個完整資料庫:
1、win鍵+R鍵,輸入cmd,打開命令提示符。
E. Oracle導入導出資料庫的語法
導讀:oracle中除或裂稿了在Oracle編輯器中用圖形化的方式導入導出文理文件的數據方式外,還可以採用命令行的方式導入導出資料庫,其語法實示例如下:
imp [username[/password[@service]]]
步驟:1、首先在進入 dos, 然後切換到 oracle 資料庫物理文件所在的目錄即(dmp文件所在的目錄)。接下來輸入下述語句!
imp username/password@service file=psmis.dmp fromuser=psmis touser=psmis log=psmis.log 下面就語句的語法做一下解釋:
imp :是導入資料庫的語法前綴;
username/password@service:意思是登陸指定的service;
file :指的是已經分離的oracle資料庫物理文件;
fromuser:指的是來源用戶;
touser:指的是目標用戶;
log:指的是當前源螞目錄下的日誌文件;
在 dos 中查看oracle中的imp,exp命令:
imp help=y
exp help=y
1. 導出表數據:
文件名以backup_yyMMddHHmm.dmp 表示
dateString=`date +%y%m%d%H%M`
#echo $dateString
su - oracle -c "exp userid/password tables=table1,table2 file= path/backup_$dateString.dmp BUFFER=8192 grants=y compress=N"
compress:N表明導出來的文件不需要壓縮放在一個數據塊中,當資料庫中的表數據特別大的時候,若放在不同的資料庫,在恢復的時候會有問題。
導出的數據包括表創建語句,序列,觸發器等。
2. 導入表數據
表導入的過程:創建表,導入數據,創建序列
echo backup file:$1
fileName=$1
echo $fileName
#if [ "$fileName" = ""]
#then
# echo "請指定備份恢復的文件名,請指定絕對文件路徑"
# exit 0;
#fi
#echo fileName=$fileName
su - oracle -c "imp userid/password file=$fileName show=n buffer=2048000 ignore=Y commit=y grants=y full=y"
ignore:Y表明忽略表創建的過程,只是將表中的數據導入表中。
第二部分:
如何在oracle中導入dmp資料庫文件?
2006/2/16 zhanghua first create
Oracle數據導入導出imp/exp就相當於oracle數據還原與備份。exp命令可以把數據從遠程資料庫伺服器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。
執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,
DOS中可以執行時由於 在oracle 8i 中 安裝目錄ora81BIN被設置為全局路徑,
該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。
oracle用java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個文件有可能是被包裝後的類文件。衫孝
SQLPLUS.EXE調用EXP.EXE、IMP.EXE所包裹的類,完成導入導出功能。
下面介紹的是導入導出的實例。
數據導出:
1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:chu.dmp中
exp system/manager@TESTfile=d:chu.dmp full=y
2 將資料庫中system用戶與sys用戶的表導出
exp system/manager@TESTfile=d:chu.dmp owner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat導出
exp aichannel/aichannel@TESTDB2file= d:dataewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的數據導出
exp system/manager@TESTfile=d:chu.dmp tables=(table1) query=" where filed1 like ༼%'""
上面是常用的導出,對於壓縮,既用winzip把dmp文件可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。
數據的導入
1 將D:chu.dmp 中的數據導入 TEST資料庫中。
imp system/manager@TEST file=d:chu.dmp
imp aichannel/aichannel@HUSTfull=y file=file= d:dataewsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
在後面加上 ignore=y 就可以了。
2 將d:chu.dmp中的表table1 導入
imp system/manager@TEST file=d:chu.dmp tables=(table1)
基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然後導入。
注意:
操作者要有足夠的許可權,許可權不夠它會提示。
資料庫時可以連上的。可以用tnsping TEST 來獲得資料庫TEST能否連上。
到這里關於Oracl導入導出資料庫的語法就全部介紹完了,希望大家通本文的學習之後,以後再遇到涉及到Oracle導入導出的問題能夠輕松解決,希望能夠幫助到大家。
"
F. Oracle的導入導出命令是什麼
用exp、imp試試
導出全庫>>>>>>
導入:導入之前需創造一個空庫(可以和前一個庫名不一樣)、一個一樣的用戶
cmd>>
imp username/password@資料庫名稱 file=文件路徑 full=Y
導出:
exp username/password@資料庫名稱 file=文件路徑(生成的文件)
我導出的時候文件直接設成.sql,蠻好
導出部分表>>>>
打開cmd
導出表,確定監聽是否開啟,資料庫服務是否開啟
exp scott/tiger@orcl file=F:sign.sql tables=表名,表名 grants=y
導入表,確定新資料庫服務是否開啟
imp scott/tiger@資料庫名 file=F:sign.sql fromuser=scott ignore=y commit=y grants=y
G. oracle怎麼導出數據
Oracle導出導出有兩中方式:一、利用exp imp導出導入;二、利用Oracel數據泵expdp impdp導出導入。
一、利用exp imp導出導入
exp imp 語法如下:
exp:
1) 將資料庫orcl完全導出
exp system/manager@orcl file=d:\orcl_bak.dmp full=y
2) 將資料庫中system用戶的表導出
exp system/manager@orcl file=d:\system_bak.dmp owner=system
3) 將資料庫中表table1,table2導出
exp system/manager@orcl file=d:\table_bak.dmp tables=(table1,table2)
4) 將資料庫中的表customer中的欄位mobile以"139"開頭的數據導出
exp system/manager@orcl file=d:\mobile_bak.dmp tables=customer query=\"where mobile like '139%' \"
imp:
1) 將備份文件bak.dmp導出資料庫
imp system/manager@orcl file=d:\bak.dmp
如果數據表中表已經存在,會提示錯誤,在後面加上ignore=y就可以了。
2) 將備份文件bak.dmp中的表table1導入
imp system/manager@orcl file=d:\bak.dmp tables=(table1)
exp imp導出導入數據方式的好處是只要你本地安裝了Oracle客戶端,你就可以將伺服器中的數據導出到你本地計算機。同樣也可以將dmp文件從你本地導入到伺服器資料庫中。但是這種方式在Oracle11g版本中會出現一個問題:不能導出空表。Oracle11g新增了一個參數deferred_segment_creation,含義是段延遲創建,默認是true。當你新建了一張表,並且沒用向其中插入數據時,這個表不會立即分配segment。
解決辦法:
1、設置deferred_segment_creation參數為false後,無論是空表,還是非空表,都分配segment。
在sqlplus中,執行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
該值設置後,只對後面新增的表起作用,對之前建立的空表不起作用,並且注意要重啟資料庫讓參數生效。
2、使用 ALLOCATE EXTEN
使用 ALLOCATE EXTEN可以為資料庫對象分配Extent,語法如下:
alter table table_name allocate extent
構建對空表分配空間的SQL命令:
SQL>select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
批量生成要修改的語句。
然後執行這些修改語句,對所有空表分配空間。
此時用exp命令,可將包括空表在內的所有表導出。
二、利用expdp impdp導出導入
在Oracle10g中exp imp被重新設計為Oracle Data Pump(保留了原有的 exp imp工具)
數據泵與傳統導出導入的區別;
1) exp和imp是客戶端工具,他們既可以在客戶端使用,也可以在服務端使用。
2) expdp和impdp是服務端工具,只能在Oracle服務端使用。
3) imp只適用於exp導出文件,impdp只適用於expdp導出文件。
expdp導出數據:
1、為輸出路徑建立一個資料庫的directory對象。
create or replace directory mpdir as 'd:\';
可以通過:select * from dba_directories;查看。
2、給將要進行數據導出的用戶授權訪問。
grant read,write on directory mpdir to test_expdp;
3、將數據導出
expdp test_expdp/test_expdp directory=mpdir mpfile=test_expdp_bak.dmp logfile=test_expdp_bak.log schemas=test_expdp
注意:這句話在cmd窗口中運行,並且最後不要加分號,否則會提示錯誤。因為這句話是操作系統命令而不是SQL。
impdp導入數據:
1、給將要進行數據導入的用戶授權訪問。
grant read,write on directory mpdir to test_impdp;
2、將數據導入
impdp test_impdp/impdp directory=mpdir mpfile=test_expdp_bak.dmp remap_schema=test_expdp:test_impdp
H. 如何遠程將oracle資料庫導出本地
在虛擬機中打開運行輸入cmd
在頃吵逗彈出的命令行碰胡中輸入:exp用戶名/密碼@遠程oralce資料庫的IP:埠號/實例file=存放位置:文件名.dmpfull=y。
如果不是dba的話會有如下提示