informix數據遷移工具使用介紹

一.dbschemahtml

 USAGE:
    dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname]
             [-hd tabname] -d dbname [-w passwd] [-seq sequence] [-l [num]]
             [-u [ia] udtname [all]] [-it [Type]] [-ss [-si]] [filename]
 EG:
 1)dbschema -d my_dbname -t all my_table.sql
   解析:導出數據庫my_dbname中全部的表結構到文件my_table.sql 
 2)dbschema -d my_dbname -f all my_proce.sql
   解析:導出數據庫my_dbname中全部的存儲過程到文件 my_proce.sql
 3)dbschema -d my_dbname my_all.sql
   解析:導出數據庫my_dbname中全部的對象(表結構,存儲過程,觸發器等等...)到文件my_all.sql
 4)dbschema -d my_dbname -t tab_name  tab_name.sql
    解析:導出數據庫my_dbname中表名稱tab_name到文件.sql tab_name.sql
 5)dbschema -d my_dbname -f pro_name  pro_name.sql
    解析:導出數據庫my_dbname中存儲過程名稱pro_name到文件.sql pro_name.sql
  6)dbschema -d my_dbname -ss   my_dbname .sql
    解析:導出更多的表的信息(EXTENT...)
  7)dbschema -d your_database_name -p all
     dbschema -d your_database_name -r all
     解析:導出數據庫中對用戶或角色的受權信息
  8)dbschema -d your_database_name -s all
     解析:導出數據庫中的同義詞     
  9)dbschema -t all -p all -f all -s all -d mydbname -ss mydbname.sql
   解析:導出數據庫名稱爲mydbname的全部表結構、用戶受權信息、存儲過程、及同義詞到文件mydbname.sql
 
二.dbaccess
   1)使用方法介紹:
   Query-Language→提供管理者一個SQLeditor,可自行輸入SQL指令並執行 
   Connection→創建或斷開與數據庫服務器的鏈接 
   Database→提供管理者管理數據庫的創建、異動與刪除 
   Table→提供管理者管理數據表的創建、異動與刪除 
   Session→描述數據庫服務庫和主機 
   Exit→退出DBACCESS
  
 
   New→清除Editor畫面,輸入SQL指令 若輸入多條SQL語句,請用「;」將SQL語句分割開 
   Run→執行Editor中所輸入之SQL指令 
   Modify→修改Editor中所輸入之SQL指令 
   Use-editor→使用DBEDIT所指定的Editor當編輯器 
   Output→將執行結果產生至打印機或檔案 
   Choose→選擇已創建好的SQL檔案複製到Editor中供使用 
   Save→Editor中所輸入的SQL指令存至Editor中供之後參考使用 
   用戶要保存的目標文件名最大長度爲10個字符,DB-ACCESS自動爲其添加擴展名「.sql」 
   Info→查詢DATABASE與TABLE的資訊 
   
   Columns→顯示指定表的列的信息,包括數據類型和是否容許爲空值 
   Indexes→顯示指定表的索引的名字、擁有者和類型(惟一索引和普通索引)
   Privileges→列出具備表級插入、刪除等權限的用戶列表
   References→列出對指定表中的列具備關聯權限的用戶 
   Status→列出表的狀態信息,字段數、記錄數、行的大小、建立日期 
   Constraints→關聯、主碼、惟一限制和列的默認值 
   Triggers→觸發器的相關信息 
   Table→選擇表 
   Fragments→表的空間分配策略 
   
   Connect→能夠和特定的數據庫創建聯繫 
   Disconnect→能夠斷開當前數據庫服務器的鏈接 
   
   更多信息請查看http://wenku.baidu.com/view/5da801bdf121dd36a32d828a.html 
  
    2)dbaccess my_dbname  my_dbname.sql 
      解析:將文件my_dbname.sql 導入my_dbname數據庫中(與dbschema命令組合使用)
    
  EG:
   A.簡單執行SQL文件

   dbaccess testdb sqlfile.sql 或者  dbaccess testdb@testserver sqlfile.sql
   B.執行輸出打印執行語句及執行結果
   dbaccess -e testdb sqlfile.sql
   C.將執行結果重定向到文件(shell: bash)
   dbaccess -e testdb sqlfile.sql > output.log > 2&1
   cat output.log
   1}執行SQL腳本文件時,當出錯時打印詳細的錯誤信息
   dbaccess -e -m testdb sqlfile2.sql
   2.}執行SQL腳本文件時,當出錯時打印詳細的錯誤信息並在出現第一個錯誤時,中止繼續執行後續的語句
   dbaccess -e -m -a testdb sqlfile2.sqlsql

→能夠和特定的數據庫創建聯繫shell

 

Disconnect數據庫

→能夠斷開當前數據庫服務器的鏈接bash

 
三.dbexport
  做用:dbexport導出數據庫中全部對象的模式腳本和表數據文件,該模式腳本中包含有表等的建立腳本,同時包含了導出的表的對於數據文件的信息;
  Usage:
    dbexport <database> [-X] [-c] [-q] [-d] [-ss [-si]]
  [{ -o <dir> | -t <tapedev> -b <blksz> -s <tapesz> [-f <sql-command-file>] }]
 
  參數詳解: 
-X 若是某個字符串字段中包含二進制數據,加上該參數後,dbexport將從新組織這些數據。
-c 除非很嚴重的錯誤dbexport才中斷,這些錯誤以下:
   不能打開你指定的磁帶設備;
   不能寫磁帶設備或文件;
   不正確的命令行參數;
   不能打開數據庫或沒有鏈接數據庫的權限;
-q 不用將導出過程輸出到屏幕上
-d 讓dbexport只導出BLOB字段的描述符,而不導出BLOB數據
-ss 可以生成更詳細的信息,好比:
    初始和附加extent的尺寸;
    表的分片信息;
    對錶的鎖的模式(行鎖或頁鎖);
    表所在的dbspace或BLOB數據所在的space;
-o <dir>
能夠將數據庫導入到你指定的目錄下
-t <tapedev> -b <blksz> -s <tapesz>
將數據導入到磁帶
-f <sql-command-file>
dbexport在導出數據的同時會產生一個DDL的文件,你能夠指定一個絕對路徑的文件
EG:
1) dbexport stores 
解析:將數據庫stores導出到當前目錄下
2)dbexport stores -q -c
解析:將數據庫stores導出到當前目錄下,不將過程輸出到屏幕,而且忽略小錯
3)dbexport stores -q -c -o /tmp
解析:將數據庫stores導出到指定目錄下
4)dbexport stores -t /dev/tape -b 2048 -s 2000000 -f /tmp
解析:將數據庫stores導出到磁帶上
5)dbexport stores -ss
解析:將數據庫stores導出前目錄下,而且加上額外的信息
 
四.dbimport
做用:dbimport根據模式腳本進行導入,導入過程首先根據模式腳本建立對象,如何導入相應的數據,導入數據過程相似load過程.如要加速導入,能夠首先將數據庫的日誌模式選擇爲nolog模式.導入完成後進行日誌模式的改變便可.
  Usage:

    dbimport <database> [-X] [-c] [-q] [-d <dbspace>]
    [-l [{ buffered | <log-file> }] [-ansi]]
    [{ -i <dir> | -t <tapedev> [ -b <blksz> -s <tapesz> ] [-f <script-file>] }]
    NOTE: <log-file> must be a complete path服務器

  dbimport  -v 顯示軟件版本號
 *運行dbimport的用戶將對所建立的數據庫擁有DBA權限
 dbimport實用程序的語法:
 -c 指示dbimport在沒有發生致命錯誤的狀況下完成裝入工做.
 -q 指示在標準輸出設備上不顯示錯誤信息和警告.
 -X 標識符符字段中的HEX二進制數據.
 輸入文件位置選項:
 -i 指定存儲ASCII文件和模式文件的磁盤目錄,以便dbimport查找.
 -t 指定含有ASCII文件和模式文件的磁帶設備名.
 -b 指定磁帶設備塊大小.block以KB爲單位,該值必須能爲所使用的設備接受.
 -s 指定磁帶的最大數據存儲量.
 -f 指定磁盤上模式文件的路徑名,以便dbimport查找模式文件,並以此爲輸入創建數據庫.
 建庫選項:
 -d 指定用來存儲新建數據庫的OnLine數據庫空間(dbspace).若是沒有使用-d選項指定dbspace,
 則數據庫缺省創建在根dbspace中.
 -l 若是沒有使用buffered參數,爲裝入的數據庫創建無緩衝事務日誌;若是使用了buffered參數,爲裝入的數據庫創建有緩衝事務日誌,
 -l選項等價於CREATEDATABASE語句的WITH LOG字句,若是沒有使用-l選項,新建數據庫不帶日誌.
 -ansi 爲裝入的數據庫創建ANSI方式兼容的事務日誌.
 
 EG:dbimport  mydbname -d mydbs [DBSPACE]
 ( 注:導入完成後,進行數據庫級別的統計更新  update statistics ) 
 
 修改數據庫的日誌模式:
 ondblog unbuf 數據庫名 
 ontape -s -L 0 -U  數據庫名

 
五.load
EG:用dbaccess命令進入informix操做數據庫操做界面,選擇須要從中導出數據的庫(sysadmin),輸入下面sql 語句:
load from 【目錄】test.txt insert into table_name;
 
六.unload
EG:
unload to 【目錄】test.txt select * from table_name;
相關文章
相關標籤/搜索