隨筆 - 100  文章 - 50  trackbacks - 0
          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          我收藏的一些文章!

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          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:\daochu.dmp中
             exp system/manager@TEST file=d:\daochu.dmp full=y
           2 將數據庫中system用戶與sys用戶的表導出
             exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
           3 將數據庫中的表table1 、table2導出
             exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 
           4 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
             exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like  '00%'\"
            
               上面是常用的導出,對于壓縮我不太在意,用winzip把dmp文件可以很好的壓縮。
                               不過在上面命令后面 加上 compress=y  就可以了

          數據的導入
           1 將D:\daochu.dmp 中的數據導入 TEST數據庫中。
             imp system/manager@TEST  file=d:\daochu.dmp
             上面可能有點問題,因為有的表已經存在,然后它就報錯,對該表就不進行導入。
             在后面加上 ignore=y 就可以了。
           2 將d:\daochu.dmp中的表table1 導入
           imp system/manager@TEST  file=d:\daochu.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;

          posted on 2014-07-17 20:51 fly 閱讀(127) 評論(0)  編輯  收藏 所屬分類: 數據庫學習
          主站蜘蛛池模板: 上杭县| 宽城| 昌图县| 宕昌县| 沽源县| 浠水县| 文安县| 三门峡市| 马公市| 静宁县| 抚松县| 常宁市| 永修县| 陈巴尔虎旗| 连平县| 衡南县| 同德县| 陆河县| 遂昌县| 横峰县| 安平县| 昌宁县| 梅州市| 罗源县| 山丹县| 巴东县| 安平县| 高唐县| 甘谷县| 平潭县| 泸定县| 盐城市| 阳江市| 泽普县| 原平市| 保定市| 大连市| 稷山县| 林口县| 哈尔滨市| 扬州市|