程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> SYBASE 數據庫遷移到AS 400 db2的FAQ(五)

SYBASE 數據庫遷移到AS 400 db2的FAQ(五)

編輯:SyBase綜合文章
以下是我最後的一篇文章。

41.quiesce是一種持續狀態的鎖,它屬於一個連接,當該連接失敗時,quIEsce狀態依然存在。如何將表空間的狀態置為正常狀態?

答:除去quIEsce狀態:
1. 連接到數據庫

2. 用 list tablespaces 判斷哪個tablespace處於quIEsce狀態和和取得對象(object)ID

3. 判斷對象ID對應的表

用 db2 "select tabname from syscat.tables where tablid=對象ID" 得到表名

b)用 db2 list history 判斷是那個表

4. 用 db2 quiesce tablespaces for table 表名 reset 去除quIEsce狀態

42.在DB2 UDB中如何創建用戶定義臨時表?

答:可使用 DECLARE GLOBAL TEMPORARY TABLE 語句來定義臨時表。此語句需在應用程序中使用。只有在應用程序與數據庫斷開連接之前,用戶定義臨時表才是持續的。
此表的說明並不出現在系統目錄中,使其對於其他應用程序而言不是持續的,也不能與其他應用程序共享此表。
當使用此表的應用程序終止或與數據庫斷開連接時,此表中的數據被刪除, 此表被隱式卸下。
下面是定義臨時表的一個示例:
   DECLARE GLOBAL TEMPORARY TABLE gbl_temp
      LIKE empltabl
      ON COMMIT DELETE ROWS
      NOT LOGGED
      IN usr_tbsp
此語句創建一個名為 gbl_temp 的用戶臨時表。定義此用戶臨時表 所使用的列的名稱和說明與 empltabl 的列的名稱和說明完全相同。隱式定義只包括列名、數據類型、可為空特性和列缺省值屬性。未定義所有其他列屬性,包括唯一約束、外部關鍵字約束、觸發器和索引。執行 COMMIT 操作時, 若未對該表打開 WITH HOLD 游標,則該表中的所有數據都被刪除。不記錄 對用戶臨時表所作的更改。用戶臨時表被放在指定的用戶臨時表空間中。此表空間必須存在,否則此表的聲明將失敗。



43.在使用IMPORT命令向數據庫出入數據時,如何避免日志空間滿錯誤?

答:在執行IMPORT命令時, 如果使用循環日志, 有時會出現日志滿錯誤,
這時可用COMMITCOUNT參數來解決.
因為日志空間滿往往是因為所有的日志均處於活動狀態導致的.
而COMMIT執行後, 會釋放所占據的資源, 其中包括日志 .
這樣, 被當前事務使用的日志在COMMIT命令執行後, 即變成非活動狀態了

44.怎麼樣檢查數據庫連接有關的錯誤?

答:以TCP/IP連接為例, 若連接失敗,您可以檢查下列項目:
A) 在服務器上: 1) db2comm 注冊表值包括值 tcpip。
輸入 db2set DB2COMM 命令, 以檢查 db2comm 注冊表值的設置。有關詳情,請參考管理指南。
2) 正確地更新了 services 文件。
3) 在數據庫管理程序配置文件中正確地更新了服務名 (svcename) 參數。
4) 安全服務已啟動。輸入 net start db2ntsecserver 命令(僅對於 Windows NT 服務器)。
5) 正確地創建並編目了數據庫。
6) 數據庫管理程序已停止並再次啟動(在服務器上輸入 db2stop 和 db2start 命令)。
* 如果在啟動一個協議的連接管理程序時出現問題,則會出現警告信息,並將錯誤信息記錄在 db2diag.log 文件中。

B) 在客戶機上: 1) 正確地更新了 services 和 hosts 文件(若使用過的話)。
2) 使用正確的主機名 (hostname) 或 IP 地址 (ip_address)編目了此節點。
3) 端口號必須匹配,或服務名必須映射為服務器上所用的端口號。
4) 在數據庫目錄中指定的節點名 (node_name) 指向節點目錄中的正確項目。
5) 數據庫已正確編目, 它使用在服務器上創建該數據庫時編目的服務器的數據庫別名(database_alias),作為客戶機上的數據庫名 (database_name)。

驗證這些項目後,若連接仍失敗,則參考 DB2 Troubleshooting Guide

45.一種可以繞開刪除整個表操作時遇到交易日志已滿的辦法

答:以空文件為數據文件導入(IMPORT)並替換(REPLA
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved