設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 432|回復: 0
打印 上一主題 下一主題

Informix-4gl數據庫的dbexport導出與dbimport還原

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2019-12-9 14:48:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 一、IMFORMIX數據庫使用dbexport 備份。       進入到UNIX系統環境下,使用IMFORMIX用戶登錄。
       輸入i4gl,看看能不能入到4gl程序員環境中,這個其實就是在確認已經配置好IMFORMIX數據庫環境。 成功進入環境的界面如下:
         

       看到這裏的圖的話,恭喜你,你已經配置好4gl的環境了。然後選擇上圖中的Exit。進入UNIX環境中,以$開頭的。接下來你就可以輸入dbexport語句了。英文好的也可以看這個官網的一個解釋。
        https://www.ibm.com/support/knowledgecenter/en/SSGU8G_11.70.0/com.ibm.mig.doc/ids_mig_120.htm   
   
         輸入語句:   
      
        dbexport   後面加了一個  -o   後面接的是一個目錄地址,這個目錄地址就是你要備份出來數據庫文件存放的地址。 stores_demo就是你要備份數據庫名。


       備份成功後得到一個stores_demo.exp(數據庫名.exp)的文件夾。裏面有以後綴名爲.url以及.sql的文件。
       使用ls /word/exports  命令就可以查看得到。
        



一、IMFORMIX數據庫使用dbimport 還原。           1、還原也很簡單就是一個語句。            如果你所在UNIX的目錄在store_demo.exp的/word/exports中。那你可以直接寫dbimport  store_demo  命令。就可以執行了。


           這樣執行的過程中問題出現。
           還原失敗了。提示錯誤no free disk space
           
         


           這是因爲直接寫dbimport  store_demo來還原數據庫,它默認將數據庫還原在了rootdbs空間中。而rootdbs的空間不夠了。
         
            使用onstat -d命令就可以查看空間的大小了。輸入命令得到如下結果:
            
           可以看到  rootdbs   free 的空間爲0了。從上圖可以看出我係統裏面有5個dbspaces 分別是
           
           dbspace  下面又有6個chunk
            
          這裏面可以看到datadbs 裏面有兩個chunks分別是datadbs 和datadbs1
          因爲我這個數據庫是從零幾年就開始用了。2個datadbs的chunk是不夠的。所以要增加chunk
          增加chunk的之前用  命令  ls -l  空間所在的文件夾   我的datadbs 從上面那個圖就可以看出是在/usr/informix/dbs中。所以我輸入的命令是:
          ls -l  /usr/informix/dbs
、      
         如果看到上圖的第一列中 -rw-rw-r--  是以  -  開頭的。說明是file system,那麼你就跟我做下面這些步驟:
          1、cd   /usr/informix/dbs      //進入到datadbs所在的文件夾下面
          2、toudh datadbs2//創建一個名叫datadbs2的chunk
          3、chmod 777 datadbs2chmod 777  datadbs2   //datadbs2 的權限改爲777
          4、onspaces  -a  datadbs    -p   /usr/informix/dbs/datadbs2   -o  0  -s 2000000   //-o  後面爲偏移量  -s後面加的是chunk的大小 、、、、 、、  
          執行完 4 步之後成功增加chunk  ,onspace的詳細用法見 onspace用法
         
現在就可以進行dbimport 了。
       進入到stores_db.exp的文件夾所在的目錄
        dbimport   stores_db     -c -d  datadbs    //  dbimport 數據庫名   -c  -d  dbspaces空間名
                                                                      ,這裏不加-l的增加緩衝日誌的數據庫原因是我加了-l還原就出錯了。無法還原成功。
      
      這裏dbimport會執行可能很長一段時間(看數據庫的大小)執行完成之後我們再用ontape命令增加緩衝的事務日誌。
      
       執行ontape 命令前請你打開  informix/etc/onconfig.fgb文件,查看TAPEDEV   是不是dev/null,如果不是請改成dev/null,
      千萬不要寫成dev/console。我一開始就是百度看到文章寫說要改成dev/console,後悔死我了。執行了一晚上ontape -s  -B
       最後回來上班看到還執行出錯,數據庫整個被鎖住了。說多都是淚啊,下面是ontape命令
      
        ontape  -s   -B    store_db


        執行完這個ontape。你的數據庫真的就還原成功了。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-6-12 07:33 , Processed in 0.277026 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表