用exp/imp備份數據庫:
Oracle數據導入導出imp/exp
功能:Oracle數據導入導出imp/exp就相當與oracle數據還原與備份。
大多情況都可以用Oracle數據導入導出完成數據的備份和還原(不會造成數據的丟失)。
Oracle有個好處,雖然你的電腦不是服務器,但是你裝了oracle客戶端,並建立了連接
(通過Net Configuration Assistant添加正確的服務命名,其實你可以想成是客戶端與服務器端 修了條路,然后數據就可以被拉過來了)
這樣你可以把數據導出到本地,雖然可能服務器離你很遠。
你同樣可以把dmp文件從本地導入到遠處的數據庫服務器中。
利用這個功能你可以構建倆個相同的數據庫,一個用來測試,一個用來正式使用。
操作步驟:
1.進入oracle用戶 su - oracle
2.然后在oracle用戶下執行導出命令: exp test1/test1pwd file=/home/oracle/vpntable/daochu.dmp owner=test1
:上句是導出密碼為test1的用戶test1的整個數據庫,導出文件到路徑/home/oracle/vpntable/daochu.dmp。
此處注意的時,在設置導出路徑時候可能會出現寫入權限問題,可通過給路徑對應權限解決,如解決不了,就如上示例將導出路徑寫到oracle用戶下。
2.1 導出指定表:exp test1/test1pwd file=/home/oracle/daochu.dmp tables=table1, table2...
3.將備份導入到另一個數據庫 :imp test2/test2 file=/home/oracle/vpntable/daochu.dmp full=y ignore=y
:full=y ignore=y full=y 表示全部導入,ingore =y表述忽略已經存在的對象。
3.1 導入指定表:imp test1/test1 file=/home/oracle/daochu.dmp tables = table1 fromuser=olduser touser=newuser commit=y ignore=y
其他:
1.exp 與 expdp 區別 :http://blog.csdn.net/wyzxg/article/details/5853590
2.進入SQL命令行步驟:1、su -oracle 2、lsnrctl start 3、sqlplus /nolog 4、conn /as sysdba 5、startup
3.導入單個表的數據: sqlplus gedb/gegedb@sid @/home/oracle/date.sql
ref:
1.http://www.cnblogs.com/fjfzhkb/archive/2007/09/03/879807.html
2.http://www.cnblogs.com/zdz8207/p/3793246.html
3.http://www.blogjava.net/lushengdi/archive/2010/07/14/326099.html