<DB2>《DB2使用期間一些注意事項》

1 建存儲過程時 Create 后不能使用 TAB 鍵

create procedure 

create 后只能用空格,而不可用 tab 健,否則編譯會通不過。

2 查看語句執行計劃

dynexpln -d testdb -f test.sql -o test.out -g -z ';' 

sql 語句放在 test.sql 中,結果輸出到 test.out。

3 查看SP存儲過程執行計劃

db2expln -c kstar -d testdb -o test.out -p P2806220 -s 0

-p 是存儲過程的 id

4 手工做數據庫別名配置及去除該別名配置

db2 catalog db gtjazb on /gtjadb2(目錄) 
db2 uncatalog db gtjazb

5 查看及停止數據庫當前的應用程序

db2 list applications show detail 

授權標識 | 應用程序名 | 應用程序句柄 | 應用程序標識 | 序號# | 代理程序 | 協調程序 | 狀態 | 狀態更改時間 | DB 名 | DB 路 徑 | | 節點號 | pid/線程

1、應用程序標識的第一部分是應用程序的 IP 地址,不過是已 16 進制表示的。
2、pid/線程即是在 unix 下看到的線程號

停止應用程序::該 236 是查看中的應用程序句柄

db2 "force application(236)" 
db2 “force application all

6 更改 dbheap 的大小

db2 update db cfg for testdb using DBHEAP 4096 

該值是對 db 的。 Dbheap>catalogcache_sz+logbufsz

7 改 catalogcache 的大小

db2 update db cfg for testdb using catalogcache 2048 

和表的數量和字段數量有關,如果表及字段較多,最好將該指標改
大一些。該值的大小可以開為和建表 script 的大小相當,再稍大一點。
當然,如果有動態創建表的話,根據實際情況可能要開得更大一些。

8 改工具堆大小

UTIL_HEAP_SZ
這個指標值是用于對 import,export,load 等工具來分配內存的。

9 改排序堆的大小

db2 update db cfg for testdb using SORTHEAP 2048 

將排序堆的大小改為 2048 個頁面,查詢比較多的應用最好將該
值設置比較大一些。
該指標值是對每個連接分配的內存,如果連接數比較多,注意不要
開得太大。如果看到了 sort overflow 的話,可以將改值調大一些。
這個內存是只在用的時候才申請,平時是不會申請的。

10 改 stmtheap 的大小

db2 update db cfg for head using STMTHEAP 4096 

該指標值是對每個連接分配的內存,如果連接數比較多,注意不要
開得太大。該數據值和解釋語句有關,如果太小,可能比較大的語句會解釋不了。這個內存是只在用的時候才申請,平時是不會申請的。

11 改鎖的相關參數的大小

db2 update db cfg for head using LOCKLIST 40000 

這個是整個 db 的最大鎖資源占的內存。鎖資源的消耗是每條共享鎖
占 36 個字節,獨占鎖占用 72 個字節。鎖資源的大小要考慮應用來設置。

db2 update db cfg for head using MAXLOCKS 10 

這個參數是設定單個應用程序能夠使用的最大鎖資源,這是個百分
比的值。實際上單個應用程序能夠使用的鎖資源的大小為
LOCKLIST* MAXLOCKS

db2 update db cfg for head using LOCKTIMEOUT 60 

這個參數是設定應用程序鎖等待的最大時間。單位是秒,這個值的
設定要比較適當,對并發較多的情況下,鎖等待可能是不可避免的,如
果設定不適當,可能會發生太多的 time out 錯誤。

db2 update db cfg for head using DLCHKTIME 10000 

這個參數是設定系統檢測死鎖發生的時間,單位是毫秒,不要設得
太小,耗系統資源且沒太多必要

12 升級后消除版本問題

db2 bind @db2ubind.lst 
db2 bind @db2cli.lst

13 數據庫性能下降后做 runstats 及 rebind 包。

在表(大表)的記錄的條數有 30%的變化以后,就應該做一次 runstats
從方便管理的角度,直接從 syscat.tables 中建 script。

 db2 “select 'runstats on table db2inst1.' || tabname || ' and indexes all' from syscat.tables where tabschema='DB2INST1' and type='T'>stats.sql 

將 stats.sql 中的多余的信息刪除后,運行該腳本。

db2 -tvf stats.sql 

請注意在做 runstats 時,將其他應用全部斷開。
為了提高速度,可以調整一下 database 的參數,將 applheapsz ,
sortheadp,stmtheap 先擴大 10 倍,但注意做完 rebind 后將參數恢復回來。

注意:在作完 runstats 后,相關的 sp 如果不做 rebind,性能不會有任何變 化,不會使用新的統計數據來計算。

db2 “select 'rebind package '||pkgname from syscat.packages where pkgschema='DB2INST1’ “ >rebind.sql 

將 stats.sql 中的多余的信息刪除后,運行該腳本。

db2 -tvf rebind.sql

15 修復診斷數據庫 db2dart 的使用

 db2dart testdb//對一個表做診斷(從這里可以得到該表的 index 的 id號) 
db2dart testdb/T //對一個表的 index 做修復 
db2dart gtjazb /MI

db2dart 還有一些功能,但 db2dart 是個比較深的用法,一般情況下不要使用。具體可以看幫助。

16 獲取數據庫的信息 db2support 的使用

db2support /gtja_emc/dream/ -d testdb

17 有關鎖的知識

在 db2 get snapshot for Locks on head >snap.log 時,經常會看到一些
鎖的類型,不是很明白:
S:share 鎖,共享鎖,加上后,其他應用程序可以讀,但不可 update,
每個占用 36 個字節。
X:exclusive,獨占鎖,加上后,其他程序除非使用 UR 隔離級,
否則不可讀。每個占用 72 個字節。

**** 表鎖 
IN (Intenet None)不需要行鎖 
IS (Intent Share) 需要行鎖配合 
IX (Intent eXclusive) 需要行鎖配合 
SIX (Share with Intent exclusive)需要行鎖,共享排他鎖 
S (Share) 不需要行鎖配合 
U (Update) 不需要行鎖配合 
X (eXclusive) 不需要行鎖配合 
Z (Super Exclusive)不需要行鎖配合 
***** 行鎖 
S (Share)共享鎖 
U (Update) 更改鎖 
X (eXclusive) 排他鎖 
W (Weak eXclusive)弱排他鎖 
NS (Next Key Share) 下一行共享鎖 
NX (Next Key eXclusive)下一行排他鎖 
NW (Next Key Weak eXclusive)下一行弱排他鎖

鎖的疊加情況:
S 鎖和 S 鎖是可以多個程序對一個對象加。
X 鎖和 S 鎖不兼容。

Object Type= Row (行鎖)
Object Type= Table (表鎖)
Object Type= Key Value
Object Type= Internal P Lock
Object Type= Internal V Lock
Object Type= Internal C Lock

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210399.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210399.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210399.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git 拉取項目指定目錄或者指定文件

因為要做數據庫自動更新,需要拉取Gitlab項目中/bm-server-biz/docs目錄下的表更新sql文件,其他的都不需要,這時候可以利用git的“sparse checkout”方法(設置稀疏檢出)來實現。 1、在項目目錄下git 初始化 [rootxcc-…

開源軟件:JumpServer、DataEase、MeterSphere

FIT2CLOUD 認識開源軟件之前,先了解一下開發團隊FIT2CLOUD。FIT2CLOUD(飛致云)是一家中國領先的開源軟件公司,成立于2014年。公司專注于提供工業操作系統技術平臺與解決方案,是中國工業互聯網行業的領軍企業&#xff…

矩陣處理—Zigzag矩陣打印

與其明天開始,不如現在行動! 文章目錄 Zigzag矩陣打印1.1 題目描述1.2 解決思路1.3 代碼實現 💎總結 Zigzag矩陣打印 1.1 題目描述 有一個n行m列的矩陣,要求按照Z字形打印出數據,如圖: 1.2 解決思路 用一…

Weblogic T3協議反序列化漏洞

文章目錄 1. Weblogic T3協議反序列化漏洞1.1 漏洞描述1.2 基本原理1.3 漏洞復現1.4 修復建議 1. Weblogic T3協議反序列化漏洞 1.1 漏洞描述 說明內容漏洞編號CVE-2018-2628漏洞名稱Weblogic T3協議反序列化漏洞漏洞評級高危影響范圍Weblogic 10.3.6.0Weblogic 12.1.3.0Webl…

基于JavaWeb+SSM+Vue居住證申報系統小程序的設計和實現

基于JavaWebSSMVue居住證申報系統小程序的設計和實現 源碼獲取入口KaiTi 報告Lun文目錄前言主要技術系統設計功能截圖訂閱經典源碼專欄Java項目精品實戰案例《500套》 源碼獲取 源碼獲取入口 KaiTi 報告 1.1題目背景 隨著時代的發展,人口流動越來越頻繁&#xff0…

生活、工作常用API免費接口

身份證識別OCR:傳入身份證照片,識別照片文字信息并返回,包括姓名、身份證號碼、性別、民族、出生年月日、地址、簽發機關及有效期。二維碼識別OCR:對圖片中的二維碼、條形碼進行檢測和識別,返回存儲的文字內容。銀行卡…

pycharm安裝

1.先去官網下載pycharm 2.下載python3.8 3.修改pip鏡像 4.如果有環境變量沒加的加一下

Gazebo基本使用

參考文章 熟悉Gazebo界面 : ROS自學筆記八:Gazebo 搭建環境:Gazebo仿真環境搭建 搭建環境+加載機器人:gazebo仿真環境搭建配置小車運動仿真

全國農服進萬家系列活動——中國農業生產托管萬里行在河北玉田舉行

12月8日,“全國農服進萬家系列活動-中國農業生產托管萬里行”在河北省玉田縣圓滿舉行。來自全國各地農業農村領域的嘉賓齊聚一堂,交流農業社會化服務典型經驗,共話農業社會化服務高質量發展大事。 原農業部總農藝師、中國合作經濟學會會長孫中…

【戀上數據結構】前綴樹 Tire 學習筆記

Tire 需求分析 如何判斷一堆不重復的字符串是否以某個前綴開頭? 用 Set\Map 存儲字符串(不重復)遍歷所有字符串進行判斷缺點:時間復雜度 O(n) 有沒有更優的數據結構實現前綴搜索? Tire(和 Tree 同音&a…

Rust測試字符串的移動,Move

代碼創建了一個結構體,結構體有test1 字符串,還有指向字符串的指針。一共創建了兩個。 然后我們使用swap 函數 交換兩個結構體內存的內容。 最后如上圖。相同的地址,變成了另外結構體的內容。注意看指針部分,還是指向原來的地址…

input、el-input輸入框輸入規則

一、input 只能輸入框只能輸入正整數&#xff0c;輸入同時禁止了以0開始的數字輸入&#xff0c;防止被轉化為其他進制的數值。 <!-- 不能輸入零時--> <input typetext οninput"valuevalue.replace(/^(0)|[^\d]/g,)"><!-- 能輸入零時--> <inp…

luceda ipkiss教程 43:畫漸變圓弧型波導

案例分享&#xff1a; from si_fab import all as pdk import ipkiss3.all as i3 from ipcore.properties.restrictions import RestrictTuple from ipkiss.geometry.shapes.modifiers import __ShapePathBase__ import numpy as np from math import atan2class ShapePathTa…

[java]學生管理系統

一、學生類 首先創建一個學生類&#xff0c;定義學號姓名年齡居住地 public class Student {private String id;private String name;private String age;private String address;//構造函數public Student(String id, String name, String age, String address) {this.id i…

54.grpc實現文件上傳和下載

文章目錄 一&#xff1a;簡介1. 什么是grpc2. 為什么我們要用grpc 二&#xff1a;grpc的hello world1、 定義hello.proto文件2、生成xxx_grpc.pb.go文件3、生成xxx.pb.go結構體文件4、編寫服務代碼service.go5、編寫客戶端代碼client.go 三、服務端流式傳輸&#xff1a;文件下載…

AIOps、微服務和云平臺

數字景觀正在從整體轉向微服務、基于云的服務。企業和公司需要適應不斷變化的技術格局并跟上變化。系統變得越來越復雜并且不容易管理。我將嘗試解釋一些較新的架構方法、趨勢&#xff0c;并提供對 AIOps 的見解以及它如何幫助解決這個問題。 微服務 微服務架構正在成為最受歡…

什么是web組態?一文讀懂web組態

隨著工業4.0的到來&#xff0c;物聯網、大數據、人工智能等技術的融合應用&#xff0c;使得工業領域正在經歷一場深刻的變革。在這個過程中&#xff0c;web組態技術以其獨特的優勢&#xff0c;正在逐漸受到越來越多企業的關注和認可。那么&#xff0c;什么是web組態&#xff1f…

android-android源碼目錄

android源碼目錄 Android.bp art bionic bootable bootstrap.bash build build.sh compatibility cts dalvik developers development device external frameworks hardware IMAGE javaenv.sh kernel libcore libnativehelper Makefile mkcombinedroot mkimage_ab.sh mkimage.…

我的創作紀念日——一年

機緣 初心始于對技術的熱愛和分享知識的渴望。最初&#xff0c;我在一次練習中遇到了一些問題&#xff0c;通過解決這些問題并將解決方案記錄下來&#xff0c;我意識到分享經驗對自己和他人都非常有價值。于是&#xff0c;我開始在博客和社交平臺上記錄日常學習過程、撰寫技術…

uni-app 獲取PAD激光測溫方式 (uni-app安卓獲取廣播內容)

直接在onload執行下列代碼 var main plus.android.runtimeMainActivity(); //獲取activityvar context plus.android.importClass(android.content.Context); //上下文var receiver plus.android.implements(io.dcloud.feature.internal.reflect.BroadcastReceiver, {onRece…