DB2資料庫適配NC65
DB2資料庫適配NC65
整理下16年寫的DB2相關文件,換工作以後一直沒用過DB2,忘的差不多了。
NC65適配的資料庫版本:
DB2 中建立表空間
Yonyou NC 6.5 在使用 DB2 資料庫時要求:建立 NNC_DATA01 、 NNC_INDEX01 兩個表空間,對兩個表空間的最小大小有具體要求。具體資料檔案存放位置、存放形式、容器個數等沒有限制,在具體使用中需要根據實際情況修改容器等儲存的位置和大小,達到磁碟最大讀寫效率。
對於表空間的管理建議如下:
1. NNC_DATA01 表空間頁大小選 "16K" ,使用頁大小為 "16K" 的緩衝池
2. NNC_INDEX01 表空間頁大小選擇 "4K" ,使用頁大小為 "4K" 的緩衝池
3. Usertemp 使用者臨時表空間,名稱可以自己確定 , 表空間頁大小選擇 16K ,使用頁大小為 16K 的緩衝池
4. Systemp 系統臨時表空間,名稱可以自己確定 , 表空間頁大小選擇 16K ,使用頁大小為 16K 的緩衝池
2.1 執行指令碼 1.SQL
/* 資料庫名稱,資料檔案目錄,資料檔案大小等根據實際情況而定 */
其中指令碼1.SQL、2.SQL、3.SQL見文章結尾
建立資料庫UAP65 ;
建立快取池;
建立NNC_DATA01 表空間;
建立NNC_INDEX01 表空間;
建立臨時表;
D:\DB2>db2 -tvf 1.sql
2.2 執行指令碼 2.SQL
配置資料庫引數
D:\DB2>db2 -tvf 2.sql
2.3 執行指令碼 3.SQL
建立 analyze_tb 儲存過程,定期收集統計資訊
D:\DB2>db2 -tvf 3.sql
3.sql 指令碼執行結束後會生成收集統計資訊的儲存過程analyze_tb ,可以透過 job 定時收集統計資訊;
Windows 系統: 控制皮膚 \ 所有控制皮膚項 \ 管理工具 \ 任務計劃程式
Linux 系統: 寫一個 runstats.sh 指令碼,指令碼內容如下 :
date
db2 connect to UAP 65
db2 "call analyze_tb"
date
echo "DB2 RUNSTATS END"
然後在db2inst1 使用者下建立一 crontab ,引用此指令碼
0 0 * * * /data2/db2home/db2inst1/runstats.sh >> /data2/db2home/db2inst1/runstats.log
每天晚上00:00:00 開始收集統計資訊
指令碼
1.sql
--------------------
----Create_DB
--------------------
---1 建立資料庫 uap65
CREATE DATABASE uap65 USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM CATALOG TABLESPACE MANAGED BY DATABASE USING ( FILE 'D:\DB2\uap65\Catalogdata1' 128000 ) USER TABLESPACE MANAGED BY DATABASE USING ( FILE 'D:\DB2\uap65\Userdata1' 512000 ) TEMPORARY TABLESPACE MANAGED BY DATABASE USING ( FILE 'D:\DB2\uap65\Tempspace1' 768000 );
---2 連線資料 uap65( 使用者可以新建 )
connect to uap65 ;
---3 建立 bufferpool
CREATE Bufferpool NCUSED4 SIZE 102400 PAGESIZE 4 K ;
CREATE Bufferpool NCUSED16 SIZE 38400 PAGESIZE 16 K ;
CREATE Bufferpool NCTMPUSED16 SIZE 38400 PAGESIZE 16 K ;
---4 建立表空間 NNC_DATA01 和 NNC_INDEX01
CREATE regular TABLESPACE NNC_DATA01 PAGESIZE 16 K MANAGED BY DATABASE USING ( FILE 'D:\DB2\uap65\nnc_data01' 1024000 ) EXTENTSIZE 8 OVERHEAD 24.1 PREFETCHSIZE 8 TRANSFERRATE 0.9 BUFFERPOOL NCUSED16 ;
---1024000*16K=15.6G
--- 表空間不足時可以透過以下命令新增資料檔案
---Alter tablespace NNC_DATA01 add (file ‘ D:\DB2\NC\nnc_data01a ’ 409600)
CREATE regular TABLESPACE NNC_INDEX01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'D:\DB2\uap65\nnc_index01' 1024000 ) EXTENTSIZE 32 OVERHEAD 24.1 PREFETCHSIZE 32 TRANSFERRATE 0.9 BUFFERPOOL NCUSED4 ;
---1024000*4K=3.9G
---Alter tablespace NNC_INDEX01 add (file ‘ D:\DB2\NC\nnc_index01b ’ 409600)
---5 建立 DB2 臨時表空間
CREATE USER TEMPORARY TABLESPACE USERTEMP PAGESIZE 16 K MANAGED BY SYSTEM USING ( 'D:\DB2\uap65\Usertemp1' ) EXTENTSIZE 32 OVERHEAD 10.67 PREFETCHSIZE 32 TRANSFERRATE 0.04 BUFFERPOOL NCTMPUSED16 ;
CREATE SYSTEM TEMPORARY TABLESPACE TEMPSPACE2 PAGESIZE 16 K MANAGED BY SYSTEM USING ( 'D:\DB2\uap65\Tempspace2' ) EXTENTSIZE 32 OVERHEAD 10.67 PREFETCHSIZE 32 TRANSFERRATE 0.04 BUFFERPOOL NCTMPUSED16 ;
---6 授權
GRANT DBADM , CREATETAB , BINDADD , CONNECT , CREATE_NOT_FENCED_ROUTINE , IMPLICIT_SCHEMA , LOAD , CREATE_EXTERNAL_ROUTINE , QUIESCE_CONNECT , SECADM ON DATABASE TO USER db2inst1 ;
GRANT USE OF TABLESPACE NNC_DATA01 TO USER db2inst1 WITH GRANT OPTION ;
GRANT USE OF TABLESPACE NNC_INDEX01 TO USER db2inst1 WITH GRANT OPTION ;
GRANT USE OF TABLESPACE USERTEMP TO USER db2inst1 WITH GRANT OPTION ;
CONNECT RESET ;
2.sql
--------------------
----Update_Parameter
--------------------
---connect to uap65
connect to uap65 ;
---1
update dbm cfg using aslheapsz 768 ;
---2
update dbm cfg using sheapthres 40000 ;
---3
update dbm cfg using maxagents 300 ;
---4
update dbm cfg using NUM_POOLAGENTS 100 ;
---5
update database configuration for uap65 using DBHEAP 10240 automatic ;
---6
update database configuration for uap65 using logbufsz 1024 ;
---7
update database configuration for uap65 using CATALOGCACHE_SZ 3072 ;
---8
update database configuration for uap65 using locklist 10240 automatic ;
---9
update database configuration for uap65 using appl_memory automatic ;
---10
update database configuration for uap65 using sortheap 4096 automatic ;
---11
update database configuration for uap65 using stmtheap 3072 automatic ;
---12
update database configuration for uap65 using applheapsz 1024 automatic ;
---13
update database configuration for uap65 using pckcachesz 10240 automatic ;
---14
update database configuration for uap65 using NUM_IOCLEANERS 1 automatic ;
---15
update database configuration for uap65 using NUM_IOSERVERS 1 automatic ;
---16
---update database configuration for uap65 using maxlocks 80;
--- 和 locklist 引數 automatic 矛盾,先不修改
---17
update database configuration for uap65 using MAXAPPLS 300 ;
---18
update database configuration for uap65 using AVG_APPLS 200 ;
---19
update database configuration for uap65 using logfilsiz 51200 ;
---20
update database configuration for uap65 using logprimary 30 ;
---21
update database configuration for uap65 using logsecond 200 ;
--22
update database configuration for uap65 using MINCOMMIT 1 ;
CONNECT RESET ;
/*
db2stop force
db2start
db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES
db2set DB2_RESTRICT_DDF=TRUE
db2set DB2_COMPATIBILITY_VECTOR=ORA
db2set DB2PORTRANGE=60000:60003
db2set DB2COMM=TCPIP
*/
3.sql
--------------------
---- analyze_tb
--------------------
connect to uap65 user db2inst1 using ufsoft * 123 #
drop PROCEDURE analyze_tb#
CREATE PROCEDURE analyze_tb () LANGUAGE SQL MODIFIES SQL DATA
begin
declare i integer default 0 ;
declare v_date timestamp ;
DECLARE stmt VARCHAR ( 4000 );
declare v_current_schema varchar ( 4000 );
select current_schema into v_current_schema from sysibm.SYSDUMMY1 ;
select count (*) into i from syscat.tables where tabname = 'ANALYZE_LOG' and tabschema = v_current_schema ;
if i = 0 then
set stmt = 'create table analyze_log(tabschema varchar(200),tabname varchar(200),analyze_time timestamp)' ;
execute immediate stmt ;
end if ;
for line as select tabschema , tabname from syscat.tables where type = 'T' and tabschema = v_current_schema and tabname not like 'UT%' and tabname not like 'TEM%' and tabname not like 'TMP%' do
set stmt = 'CALL SYSPROC.ADMIN_CMD(''RUNSTATS ON TABLE ' || rtrim ( line.tabschema )|| '.' || line.tabname || ' on key columns with distribution on key columns and index all'')' ;
execute immediate stmt ;
select current_timestamp into v_date from sysibm.sysdummy1 ;
set stmt = 'insert into analyze_log values(''' || v_current_schema || ''',''' || line.tabname || ''',''' || v_date || ''')' ;
execute immediate stmt ;
end for ;
end#
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2677040/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 應用適配資料庫還是資料庫適配應用資料庫
- Presto適配高斯資料庫REST資料庫
- WebMisCentral-Client 適配MySql資料庫WebclientMySql資料庫
- Oracle資料庫適配哪些國產作業系統?Oracle資料庫作業系統
- Gitee Premium完成與OceanBase開源資料庫適配GiteeREM資料庫
- 東方通中介軟體Tongweb適配瀚高資料庫Web資料庫
- db2 資料庫DB2資料庫
- 生態 | GBASE資料庫2月份適配彙總資料庫
- WTM的專案中EFCore如何適配人大金倉資料庫資料庫
- 鐳速如何適配國產資料庫(達夢)進行高效資料管理與共享資料庫
- db2 建立資料庫與資料放置DB2資料庫
- DB2 資料庫日常管理DB2資料庫
- 某市駕駛培訓監管服務平臺 GreatSQL 資料庫適配之旅SQL資料庫
- DB2 資料庫中的資料型別DB2資料庫資料型別
- DB2中安裝sample資料庫和TOLLSDB資料庫DB2資料庫
- DB2建立聯邦資料庫DB2資料庫
- [DB2]資料庫建立實驗DB2資料庫
- DB2查詢資料庫大小DB2資料庫
- DB2資料庫配置問題??DB2資料庫
- 吶!您有一份GBase資料庫12月份適配清單待查收資料庫
- 資料庫週刊19│ GBASE適配鯤鵬; 疫情啟用COBOL語言;TiDB資料庫的未來......資料庫TiDB
- PK體系“配齊”!亞信科技資料庫與麒麟軟體OS、飛騰CPU完成產品適配資料庫
- DB2資料庫中的各資料型別DB2資料庫資料型別
- 常見資料庫系統之比較 - DB2資料庫(轉)資料庫DB2
- 自定義viewgroup(6)--使用adapter適配資料ViewAPT
- Android適配: 拉伸適配的缺點Android
- flutter 螢幕尺寸適配 字型大小適配Flutter
- 監控DB2資料庫指令碼DB2資料庫指令碼
- DB2資料庫的解除安裝DB2資料庫
- 叮,您有一份GBASE資料庫11月適配清單等待查收資料庫
- 進擊的國產資料庫 GBase11月適配認證46連擊資料庫
- Android 關於資源適配Android
- 生態 | 新春速遞GBASE資料庫1月份適配認證彙總資料庫
- 修改Nacos2.4.1原始碼-適配達夢資料庫&麒麟ARM系統(國產XC化)原始碼資料庫
- DB2資料庫與Oracle資料庫之間遠端複製(轉)DB2資料庫Oracle
- DB2建立資料庫,建立表空間DB2資料庫
- db2備份和恢復資料庫DB2資料庫
- 資料庫對比SQL SERVER 、 ORACLE、DB2資料庫SQLServerOracleDB2