日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【数据库】Kingbase金仓数据库工程维护简明手册

發布時間:2025/5/22 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据库】Kingbase金仓数据库工程维护简明手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 導出:##

方法一:通過sysmodel界面工具導出

  • 確認SMARTSYS_HOME/conf目錄下的配置文件db_mainten_mng.ini中,db_type=kingbase。
  • 打開sysmodel工具,選擇數據庫維護功能。
  • 在數據庫導入導出(database dump/restore)標簽頁下,輸入數據庫IP地址,點擊連接數據庫按鈕。會看到彈出數據庫連接成功的提示。
  • 選擇文件名,文件名需包含幾個部分:數據庫類型(例如:kdb表示金倉)、數據庫備注(例如:test)、導出日期(例如:20170503),以dmp結尾。
  • 如果導出全庫,則僅保持“導出整庫/dump full”前的復選框選中,直接點擊導出按鈕(dump)即可;如果導出不含歷史數據的庫,則還需要勾選“不導出指定表”選項,并在下方的列表中選中scada_event表。如圖中藍色圈所示。
  • 等待導出結束后,右側命令顯示窗口會顯示導出命令行,以及操作執行提示。
  • 方法二:通過命令行導出
    導出全庫:

    sys_dump --host=localhost --port=54321 -U smartsys -W****** --encoding=UNICODE --schema=smartsys --format=c --file=D:/tmp/kdb_test_20170503.dmp

    導出全庫(排除歷史表):

    sys_dump --host=localhost --port=54321 -U smartsys -W****** --encoding=UNICODE --schema=smartsys --format=c -T scada_event --file=D:/tmp/kdb_test_20170503.dmp

    2. 導入:##

    方法一:通過sysmodel界面工具導入

  • 確認SMARTSYS_HOME/conf目錄下的配置文件db_mainten_mng.ini中,db_type=kingbase。
  • 打開sysmodel工具,選擇數據庫維護功能。
  • 填好IP地址,連接數據庫。
  • 選擇數據轉儲文件。
  • 如果庫中原先有數據,務必先點擊“清除數據”按鈕。
  • 點擊導入按鈕。
  • 【重要】導入結束后需確認導入過程中沒有出現警告。
  • 方法二:通過命令行導入
    導入全庫:

    sys_restore --host=localhost --port=54321 -USMARTSYS -W****** --schema=SMARTSYS -c -x --no-tablespace-definition -dSMARTSYS D:/tmp/kdb_test_20170503.dmp

    【注意】上述命令行導入過程會自動清除原先的數據庫。


    3. 執行升級腳本:##

    現場數據庫需要升級時,執行升級腳本是一個常見的辦法。腳本通常是一個后綴名為sql的文件(例如upgrade.sql)。有兩種方式可以執行。

    方法一:使用數據庫自帶圖形界面工具執行。

  • 打開金倉數據庫“查詢分析器”,連接數據庫。
  • 打開一個編輯窗口,選擇“SMARTSYS”數據庫。
  • 將upgrade.sql文件中的內容復制粘貼到編輯窗口中,按“一個小人跑步”按鈕執行。
  • 執行完成后要注意檢查下面的窗口中是否有顯示“0條語句執行失敗”。
  • 方法二:使用isql命令行執行。

    isql -Usmartsys -W****** -h127.0.0.1 -p54321 -dsmartsys -fupgrade.sql

    【注意】
    一般的數據庫管理語句(DML語句,包含select,insert,update,delete等)都可以在一行內結束并以分號結尾。但是部分數據庫描述語句(DDL語句,包含create,alter,drop等)或由begin-end包住的匿名塊,往往無法在一行內結束。以下面的函數創建腳本為例:

    create or replace function test_f1() returns void asa_var int; beginselect 1 into a_var; end;

    如果在查詢分析器中,可以直接執行,但是在isql中直接執行會報錯,必須在其開頭和結尾處增加“塊標簽”。如下:

    \set SQLTERM / create or replace function test_f1() returns void asa_var int; beginselect 1 into a_var; end; / \set SQLTERM ;

    其中:
    “\set SQLTERM /”是塊起始標簽;
    “/”是塊執行標簽;
    “\set SQLTERM ;”是塊結束標簽(分號前必須要有一個空格)。

    【問題是】:帶“塊標簽”的腳本不能在查詢分析器中執行,不帶“塊標簽”的腳本不能在isql中執行。
    所以所有發往現場的升級腳本統一不帶“塊標簽”,如果現場希望在isql中執行升級腳本,請在***每一個***塊或匿名塊的前面***自行***添加“起始標簽”,并且在***每一個***塊或匿名塊的后面***自行***添加“執行標簽”和“結束標簽”。或者指明請研發人員代為添加。

    總結

    以上是生活随笔為你收集整理的【数据库】Kingbase金仓数据库工程维护简明手册的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。