db2建庫腳本
你用來執行建庫命令的用戶是否具有你提到的/boot目錄的相應許可權?預設的db2inst1用戶只具有它用戶home目錄下面的許可權。如果不加on參數,庫都是建在這個目錄下的,所以許可權不會出問題。但如果你制定了on參數,那目標路徑必須開許可權。grant一下吧。
B. db2常用命令
操作資料庫命令
1、 啟動資料庫實例
#db2start
2、 停止資料庫實例
#db2stop
如果你不能停止資料庫由於激活的連接,在運行db2stop前執行db2 force application all就可以了 /db2stop force
3、 創建資料庫
#db2 create db [dbname]
4、 連接到資料庫
#db2 connect to [dbname] user[username] using [password]
5、 斷開資料庫連接
#db2 connect reset

操作數據表命令
1、 列出所有用戶表
#db2 list tables
2、列出所有系統表
#db2 list tables for system
3、列出所有表
#db2 list tables for all
4、 列出系統表
#db2 list tables for system
5、列出用戶表
#db2 list tables for user
6、 列出特定用戶表
#db2 list tables for schema[user]
C. db2 25000錯誤怎麼解決
DB2相關問題及解決方法:
一、DB2中的代碼頁(codepage)問題。
DB2備份時發生過代碼頁錯誤的問題,修改代碼頁後備份正常,但創建資料庫時又發生代碼頁的錯誤。這是DB2伺服器使用的代碼頁配置和客戶端使用的代碼頁配置不同造成的(註:DB2伺服器的代碼頁配置是獨立的,用代碼頁不同的客戶端操作伺服器就會產生錯誤。本機操作伺服器稱為本地客戶端,操作系統使用的代碼頁有可能和DB2伺服器的配置不同,和遠程客戶端一樣會產生上面的問題)。代碼頁和系統使用的字元集有關,這也是windows下的資料庫備份和Linux下的資料庫備份不能相互恢復的原因(Windows的codepage為819,一般的國標庫/GBK為1386)。可用db2set命令對伺服器的代碼頁進行設置。(具體設置見後文)
locale命令查看本地字元集
二、TIANJIN資料庫備份不能恢復的問題
TIANJIN資料庫備份恢復時,在Linux系統下提示container被佔用,這是由於TIANJIN資料庫採用了系統以外的表空間引起的,不能採用常規方法進行恢復。
恢復步驟為:
db2 create db targetdb using codeset GBK territory zh_CN
(創建資料庫供恢復)
db2 connect to tianjin
(連接到TIANJIN資料庫)
db2 list tablespaces
(查看TIANJIN資料庫使用的表空間)
db2 list tablespace containers for 3
(查看錶空間3使用的容器)
…………
db2 list tablespace containers for 7
(查看錶空間7使用的容器。)
(TIANJIN資料庫用到了7個表空間,其中1、2為系統默認,其他為自己創建,若已知道資料庫表空間,以上步驟可省略)
mkdir [directory]
(創建表空間用到的容器所在目錄。需要多少容器,創建多少個目錄,這個目錄必須是DB2用戶有許可權的目錄)
db2 connect reset
(釋放所有連接)
db2 restore db sourcedb from /DB2Data/backupdata/ into targetdb redirect
(恢復資料庫)
db2 "set tablespace containers for 3 using (path '/home/db2inst1/tt/1')"
(設置表空間的容器,path後是容器存放的路徑)
db2 "set tablespace containers for 4 using (path '/home/db2inst1/tt/2',path '/home/db2inst1/tt/3')"
(表空間用了多個路徑的情況)
…………
db2 "set tablespace containers for 7 using (path '/home/db2inst1/tt/6')"
db2 restore db tianjin continue
(完成資料庫恢復)
連接資料庫驗證安裝即可
三、不同操作系統中資料庫的移動(db2move)
由於我們的系統中使用了多個用戶、多個表空間,不能直接用db2move進行恢復,必須先生成相關表空間和表,再插入數據。
1、 生成ddl文件
db2look -d 資料庫別名 -e -p -l -o 目標文件的名字-i 用戶名 -w 密碼
-d指定資料庫,-o指定目標文件,-l表示生成表空間,-i指定用戶名,-w指定密碼。
如:db2look -d jsyrem -e -p -l -o jsyrem.ddl -i zgc3 -w zgc
注意:源資料庫必須在本地客戶端編目,生成的文件存放在當前目錄下。
2、 生成db2move的導出文件
db2move資料庫別名export -l 大對象存放目錄(可省略) -u 用戶名 -p 密碼
如:db2move jsyrem export -l lob -u zgc3 -p zgc
注意:源資料庫必須在本地客戶端編目,大對象存放目錄可以不用事先建立,由系統自動生成,生成的文件存放在當前目錄下。
3、 新建目標資料庫
4、 在目標資料庫里創建表空間和表
db2 -tvf ddl文件名
例如:db2 -tvf jsyrem.ddl
注意:
①兩個資料庫里的代碼頁必須設置為一致
②執行命令前必須先修改ddl文件,設置裡面的connection連接至目標資料庫(文件里可能會有多處需要對連接進行設置)。
③執行命令前必須先修改ddl文件,設置表空間地址,為目標資料庫建立表空間指定存放位置。這些目錄可能需要事先建好。(目錄1、2……n可以不用建,由系統自動生成)
④執行命令必須在生成的文件存放的目錄下進行。
5、 導入數據
db2move 資料庫名 import -io insert -l大對象存放目錄
-io 指定導入方式,為create表示資料庫中不存在該表時自動生成表,為replace表示替換原有內容,為insert表示僅僅插入數據;-l指定大對象存放目錄。
db2move jsy2 import –u 用戶名 –p 密碼
注意:執行命令必須在生成的文件存放的目錄下進行。
6、 其他:由於資料庫表之間存在鍵關系,數據導入時可能會發生沖突,需要記下發生沖突的表,並修改db2move.lst文件,把這些表對應的行挪到文件的最後生成。
7、 可通過EXPORT文件和IMPORT文件查看數據導入導出時的系統信息,通過tablennn.msg文件查看某個表導入導出時的系統信息。
注意:以上操作針對的客戶端是windows操作系統,linux系統下會發生錯誤。
資料庫創建
首先建立文件夾
#mkdir /ecdsdbfs
授權給db2inst1訪問ecdsdbfs文件夾的許可權
#chown db2inst1:db2adm1 /ecdsdbfs
執行建庫腳本:
#su – db2inst1
$db2 create database test on '/opt/ibm/data' using codeset utf-8 territory cn
注意:本資料庫採用utf-8格式
1> 連接到DB2 Server,打開DB2 Command,創建一個名為cogsam83的資料庫,並為其建立緩存大小
create db cogsam83 alias cogsam83 using codeset UTF-8 territory CA
change db cogsam83 comment with 'Sample Data for Cognos 8.3'
connect to cogsam83
update db cfg using applheapsz 1024 deferred
update db cfg using locktimeout 240 deferred
connect reset
如果是在Linux上剛裝完DB2即刻建立database,可能會遇到錯誤DB21019E An error occurred while accessing the directory "/root". 該錯誤原因為使用「su username」而非「su - username」在終端切換用戶,前者相當於簡單地同時登錄有用戶,而後者相當於注銷後重新登錄新用戶,所以不會維持之前用戶的ENV設置。
2> 創建緩沖池和表空間
connect to cogsam83
create bufferpool cog04kbp immediate size 250 pagesize 4k
create bufferpool cog08kbp immediate size 250 pagesize 8k
create bufferpool cog16kbp immediate size 250 pagesize 16k
create regular tablespace cogsample pagesize 16k managed by automatic storage extentsize 16 prefetchsize 16 overhead 10.5 transferrate 0.33 bufferpool cog16kbp
comment on tablespace cogsample is 'Cognos Sample Data'
grant use of tablespace cogsample to public
connect reset
3> 創建幾個資料庫模式(Database Schema)
connect to cogsam83
create schema gosl
comment on schema gosl is 'GO Sales'
create schema gosldw
comment on schema gosldw is 'GO Sales Data Warehouse'
create schema gohr
comment on schema gohr is 'GO Sales Human Resources'
create schema gort
comment on schema gort is 'GO Retailers'
create schema gomr
comment on schema gomr is 'GO Multilingual Retailers'
create schema godmt
comment on schema godmt is 'GO Data Manager Target'
#授予用戶cognos資料庫管理許可權
grant dbadm on database to user cognos
connect reset
4> 修改資料庫配置頁
connect to cogsam83
update dbm cfg using intra_parallel NO
update dbm cfg using federated NO
update dbm cfg using fed_noauth NO
update db cfg for cogsam83 using maxlocks 22
update db cfg for cogsam83 using locklist 50
update db cfg for cogsam83 using dft_degree 1
update db cfg for cogsam83 using avg_appls 1
update db cfg for cogsam83 using stmtheap 2048
update db cfg for cogsam83 using dft_queryopt 5
connect reset
5> 編目資料庫
catalog tcpip node dbnode remote dbhost server 50000
catalog database cogsam83 at node dbnode with 'Sample Data for Cogsam 8'
6> 導入Samples內容到資料庫中
適用於DB2的Samples文件在 Cognos安裝目錄/c8/webcontent/samples/datasources/db2 下,將GS_DB.tar解壓出來,用DB2管理員帳號登錄,使用DB2MOVE命令導入。
DB2MOVE dbname IMPORT -U username -P password
在Linux下使用DB2MOVE命令可能會出現錯誤提示Error opening report file. Terminating,該錯誤原因為當前用戶對解壓出的文件許可權不夠,設置所有解壓的文件Permission為可寫操作即可。
導入資料庫後可以運行 Cognos安裝目錄/c8/webcontent/samples/datasources/db2下的gs_db_modify.bat(需要先更改gs_db_modify.sql第一行中的dbname, user, password為你自己的配置),在Linux下可以先刪除gs_db_modify.log,然後在終端手動輸入以下命令運行gs_db_modify.sql
DB2 -f gs_db_modify.sql -z gs_db_modify.log
四、聯合數據對象的建立
聯合數據對象提供將一個資料庫里的用戶和表映射到另一個資料庫的功能。用戶可通過對後者的訪問達到訪問前者的目的。
建立步驟:
1、 前期工作1:配置資料庫實例名的參數,設置「管理」下的FEDERATED為「」;是
2、 前期工作2:源資料庫編碼到客戶端
3、 在聯合資料庫對象中創建包裝器。(DB2àDB2的映射包裝器名選擇DRDA,庫名使用預設的預設db2drda.dll即可)
4、 創建伺服器。(遠程數據源的名稱填寫資料庫編碼的別名,DB2àDB2的映射伺服器類型選擇DB2/UDB,選擇正確的版本號,用戶標示和密碼填寫目標庫的用戶名密碼,其餘內容默認即可)
5、 建立用戶映射。選擇遠程用戶和本地用戶進行映射。
6、 建立別名映射,即是表的映射。
五、DB2中的常用命令
1、 db2set命令
db2set:查看db2的常用設置
db2set –lr:查看db2的所有變數
db2set 變數名 = 變數值:設置db2中的變數。如:db2set db2codepage = GBK;db2set db2country = zh_CN。(這是最常用的兩個設置,設置codepage為GBK國標庫,country為zh_CN中國。設置後可解決資料庫創建、備份時代碼頁錯誤的問題。設置完後用db2 terminate中止一下即可起作用)
2、 查看資料庫配置
查看Database Manager配置:db2 get dbm cfg
查看某資料庫配置:
兩種方法:
第一、 db2 get db cfg for 資料庫名。如db2 get db cfg for tianjin
第二、 先用connect命令連接上資料庫,再用db2 get db cfg。如:
connect to tianjin(或:connect to tianjin user zgc3 using zgc)
db2 get db cfg
可以只查看其中某一項的配置,如查看territory
db2 get db cfg for tianjin|grep terr
修改資料庫配置:db2 update db cfg using 參數 參數值
3、 資料庫備份、資料庫創建、資料庫恢復
資料庫備份:db2 backup database 資料庫名 to 備份位置(DB2用戶必須對備份位置有許可權)。如:db2 backup database tianjin to /home/db2inst1/backup。注意: 備份資料庫時應用db2 connect reset將所有連接去掉。
資料庫創建:db2 create database資料庫名。如:db2 create database dbname
用特定的字元集創建資料庫:db2 create database 資料庫名 using codeset [codeset] territory [terriroty]。如:db2 create database dbname using codeset GBK territory CN
資料庫恢復幾點說明:若文件夾中只有一個備份文件,可以不用寫taken at。若資料庫恢復中產生錯誤,可用restore database dbname continue/abort來對恢復進行繼續和取消。
或者用控制台創建資料庫時,第六步region處選擇PRC(People』s Republic Of China)
4、 其他常用命令
db2move:在不同操作系統中移植資料庫。但因存在外鍵約束,應對文件進行編輯。
db2level;查看DB2的修訂版本
db2look:導出ddl?
db2 list table/tablespaces/db at……列出相應內容
(具體參看IBM紅皮書)
5、 在客戶端增加、查看結點和資料庫編目
增加結點編目:db2 catalog tcpip node 結點名字 remote 結點所在ip地址 server 50000
查看結點編目:db2 list node directory
刪除結點編目:db2 uncatalog node 結點別名
增加資料庫編目:db2 catalog db 遠程資料庫名字 as 資料庫別名 at node 結點名字
查看資料庫編目:db2 list db directory
刪除資料庫編目:db2 uncatalog db資料庫別名
6、 不同操作系統的倒庫(db2move):
export:db2move dbname export
import:db2move dbname import(-io replace/create -u username –p password)
load:db2move dbname load
注意:執行export命令,生成的文件存放在當前目錄下,dbname是catalog上的別名。import也是從當前目錄讀取文件。在將庫import入一個新庫時,應該先建立一個庫,然後db2move 新庫名稱 import……。-io參數表示導入的庫里的表覆蓋/新建到新庫里,-u、-p表示用於建庫的用戶名和密碼。
7、 遠程操作資料庫
db2 attach to 資料庫別名 user 用戶名 using 密碼
即可在本地操作遠程資料庫(create db、drop db等操作)
注意:要操作的資料庫必須在本地編目
要取消attach可用命令db2 detach,或attach到其他資料庫。
8、 將資料庫操作的控制台信息存入文檔
要執行的命令名>控制台信息文件名
9、 DB2里的幫助
db2 ? 要查詢的內容(如:db2 ? sql30082n)
或者直接輸入命令(db2move)不帶參數
10、 停止application
資料庫操作過程中可能會發生錯誤,導致資料庫不可用。此時可用force application命令停止這種操作。命令格式可以是db2 force application application號(停掉單個application)或db2 force application all(停掉所有application)兩種形式。
11、 其他
六、對於系統優化的建議
1、 增加buffpage的配置
2、 增加sortheap的配置(一般4M以上)
3、 將鎖定超時 locktimeout設置為on或yes
4、 恢復的日誌保留
(具體設置參看IBM紅皮書)
命令:
db2 connect to tianjin
db2 update db cfg using LOGRETAIN yes
db2 backup db tianjin //設置完LOGRETAIN後應備份資料庫
/home/db2inst1/sqllib/bin //進入此目錄下
db2empfa tianjin; //Multi-page file allocation enabled
db2 update db cfg for tianjin using BUFFPAGE 25000 // 或更多
db2 update db cfg for tianjin using LOCKLIST 1000;
db2 update db cfg for tianjin using LOCKTIMEOUT 15
db2 update db cfg for tianjin using SORTHEAP 1000 //或更多
db2 update db cfg for tianjin using LOGFILSIZ 10000
db2 alter bufferpool ibmdefaultbp size -1
db2 update dbm cfg using SHEAPTHRES 25000 //Max to half of the total mem.
七、在root窗口下啟動DB2控制台
1、 以db2inst1登錄:su – db2inst1(-表示登錄同時讀取db2inst1的環境變數)
2、 export DISPLAY=127.0.0.1:0.0
3、 xhost +
4、 db2cc
方法二。
-- *(1) 作為 root 用戶登錄。
-- *(2) 在命令行上,運行以下命令:xhost + localhost
-- *(3) 運行以下命令:su - db2inst1
-- *(4) 運行以下命令:db2cc
vnc 啟動 vncserver 啟動圖形界面
八、數據導出
1、 EXPORT TO 'c:/UR_ENTERPRISE.del' OF DEL SELECT * FROM ZGC3.UR_ENTERPRISE
2、 EXPORT TO 'c:/UR_ENTERPRISE.ixf' OF ixf SELECT * FROM ZGC3.UR_ENTERPRISE
九、查看node
1、list node directory
2、刪除node:? uncatalog
十、建序列
CREATE SEQUENCE "ZGC3 "."SP_SEQ_MO_wbk" AS INTEGER
MINVALUE 0 MAXVALUE 2147483647
START WITH 21 INCREMENT BY 1
CACHE 20 NO CYCLE NO ORDER;
十一授權
如果遇到DB2 License過期的問題,可以使用以下命令對DB2的License進行授權。
以管理員身份進入DB2環境,鍵入:db2licm -a [License目錄中的db2ese.lic文件]
系統提示成功後,可通過 db2licm -l 顯示授權信息
如果是,則激活方法如下:
1.cp /cdrom/db2/license/db2ese.lic /var/db2/db2ese.lic
2.su - db2inst1
3.db2licm -a /var/db2/db2ese.lic
D. DB2未初始化命令行環境 怎麼使用命令行運行db2
根據你的截圖,可以看出你裝的是db2客戶機,這樣的話,你使用create database建庫語句不可能會成功(你的錯誤提示:SQL2014N,資料庫連接不存在),因為你沒有連接伺服器端,你本機也沒有裝db2伺服器端。 解決方法: 安裝db2伺服器端,一般是企業級安裝,安裝後也就800M大小不到,一般pc機都行(默認瀏覽器為IE,要不會報錯),安裝完成後: a、windows點擊運行,命令行輸入db2cmd(初始化db2語言環境) b、進入實例用戶,可以鍵入db2,進入db2命令行,然後create database建立資料庫,建立好資料庫後就可以操作資料庫了
E. db2資料庫create database on語句是什麼意思
C:\Documents and Settings\tstbd>db2 ? create database
CREATE DATABASE database-name
[AT DBPARTITIONNUM | [AUTOMATIC STORAGE {NO | YES}]
[ON drive[{,drive}...][DBPATH ON drive]]
[ALIAS database-alias] [USING CODESET codeset TERRITORY territory]
[COLLATE USING {SYSTEM | IDENTITY | IDENTITY_16BIT | COMPATIBILITY | NLSCHAR | U
[PAGESIZE integer [K]]
[NUMSEGS numsegs] [DFT_EXTENT_SZ dft_extentsize] [RESTRICTIVE]
[CATALOG TABLESPACE tblspace-defn] [USER TABLESPACE tblspace-defn]
[TEMPORARY TABLESPACE tblspace-defn] [WITH "comment-string"] ]
[AUTOCONFIGURE [USING config-keyword value [{,config-keyword value}...]]
[APPLY {DB ONLY | DB AND DBM | NONE}]]
on 代表數據創建在哪個目錄下面。
參數詳解
1. DATABASE database-name
給資料庫指定名稱,在本地和系統庫中,都必須唯一的,不能包含空格。
2. AT DBPARTITIONNUM
指定資料庫將要被創建在發出命令的分區。當創建一個新庫,不要指定這個參數。可以用它重建一個因為損壞而刪除的數
據庫分區。當用這個參數創建庫,資料庫將處於restore pending狀態。不切斷應用可能導致不一致,用時謹慎。
3. AUTOMATIC STORAGE NO | YES
指定自動存儲打開或關閉。默認是打開的。
4. ON path or drive
這個子句和AUTOMATIC STORAGE的值有關,它指定了DB表空間的容器位置。詳細的目錄結構如下
/Path or Drive ----------> 資料庫目錄
|
|------ InstanceName ----------> 實例名
|
|------ NODEnnnn ----------> 節點名
|
|------ DataBaseName ----------> 資料庫名
|
|------Tnnnnnnn ----------> 表空間容器
對於AUTOMATIC STORAGE NO:只有一個path可以包含在ON後,它指定了DB的位置。如果沒有指定這個參數,DB創建到默認路徑中,該默認路徑為dbm cfg的dftdbpath指定。
對於AUTOMATIC STORAGE YES:可以列出多個路徑,有逗號分隔,這些路徑作為存儲路徑和保存自動存儲表空間的容器。對於多分區DB,相同的存儲路徑被用在所有分區中。
創建資料庫後將創建三個預設表空間:
T0000000子目錄中包含帶有系統目錄表的目錄表空間。
T0000001子目錄中包含預設臨時表空間。
T0000002子目錄中包含預設用戶數據表空間。
每個子目錄或容器中都會創建一個名為 SQLTAG.NAM 的文件。這個文件可以標記正在使用中的子目錄,因此在以後創建其他表空間時,不會嘗試使用這些子目錄。
此外,名為 SQL*.DAT 的文件中還存儲有關子目錄或容器包含的每個表的信息。星號(*)將被唯一的一組數字取代,用來識別每個表。對於每個 SQL*.DAT 文件,可能有一個或多個下列文件,這取決於表類型、表的重組狀態或者表是否存在索引、LOB 或 LONG 欄位:
SQL*.BKM(如果它是一個 MDC 表,那麼它包含塊分配信息)
SQL*.LF(包含 LONG VARCHAR 或 LONG VARGRAPHIC 數據)
SQL*.LB(包含 BLOB、CLOB 或 DBCLOB 數據)
SQL*.XDA(包含 XML 數據)
SQL*.LBA(包含有關 SQL*.LB 文件的分配和可用空間信息)
SQL*.INX(包含索引表數據)
SQL*.IN1(包含索引表數據)
SQL*.DTR(包含用於重組 SQL*.DAT 文件的臨時數據)
SQL*.LFR(包含用於重組 SQL*.LF 文件的臨時數據)
SQL*.RLB(包含用於重組 SQL*.LB 文件的臨時數據)
SQL*.RBA(包含用於重組 SQL*.LBA 文件的臨時數據)
5、DBPATH ON指定了資料庫基礎文件(控制文件,日誌文件等)的創建位置。如果沒有指定,則資料庫在ON後面第一
個路徑指定。如果沒有指定路徑,則在默認位置創建,該默認路徑為dbm cfg的dftdbpath指定。資料庫路徑裡面創建了
分層目錄結構。這個結構保存了資料庫操作需要的文件,目錄結構具體如下
/Path or Drive ----------> 資料庫目錄
|
|------ InstanceName ----------> 實例名
|
|------ NODEnnnn ----------> 節點名
|
|------ SQLxxxxx ----------> 資料庫編號
| |
| |------SQLOGDIR ----------> 資料庫日誌目錄
|
|------sqldbdir ----------> 本地資料庫編目
其中SQLOGDIR目錄用來存放資料庫日誌文件,建庫後可以更改日誌文件位置
SQLxxxxx目錄下包含如下文件
SQLBP.1 和 SQLBP.2 文件中都包含緩沖池信息。這兩個文件中具有相同的副本,從而提供備份。
SQLSPCS.1 和 SQLSPCS.2 文件中都包含表空間信息。這兩個文件中具有相同的副本,從而提供備份。
SQLSGF.1 和 SQLSGF.2 文件中都包含與資料庫的自動存儲器相關的存儲路徑信息。這兩個文件中具有相同的副本,從而提供備份。
SQLDBCON 文件中包含資料庫配置信息。切勿編輯此文件。要更改配置參數,請使用控制中心或者使用 UPDATE DATABASE CONFIGURATION 和 RESET DATABASE CONFIGURATION 命令。
db2rhist.asc 歷史記錄文件及其備份 db2rhist.bak 中包含關於備份、復原、表裝入、表重組、表空間改變和其他資料庫更改的歷史記錄信息。
DB2TSCHNG.HIS文件中包含日誌文件級別的表空間更改的歷史記錄。對於每個日誌文件,DB2TSCHG.HIS中包含有助於確定日誌文件影響哪些表空間的信息。表空間恢復使用此文件中的信息來確定在進行表空間恢復期間要處理哪些日誌文件。可以在文本編輯器中檢查這兩個歷史記錄文件中的內容。
日誌控制文件 SQLOGCTL.LFH 和 SQLOGMIR.LFH 中包含有關活動日誌的信息。
恢復處理過程使用這些文件中的信息來確定要在日誌中後退多遠來開始恢復。SQLOGDIR子目錄中包含實際的日誌文件。
注:您應確保不要將日誌子目錄映射到用於存儲數據的磁碟。這樣,在磁碟發生問題時,只會影響到數據或日誌,而不會同時影響這兩者。由於日誌文件與資料庫容器不會爭用同一磁碟磁頭的移動,因此這可提供很多性能方面的好處。要更改日誌子目錄的位置,請更改 newlogpath資料庫配置參數。
SQLINSLK文件用於確保一個資料庫只能由資料庫管理器的一個實例使用。
在創建資料庫的同時,還在db2event目錄下創建了詳細死鎖事件監視器。詳細死鎖事件監視器文件存儲在目錄節點的資料庫目錄中。當事件監視器達到它要輸出的最大文件數 時,它將取消激活,並且將把一條消息寫入通知日誌中。這樣可防止事件監視器消耗過多的磁碟空間。除去不再需要的輸出文件將允許在下一次資料庫激活時再次激 活事件監視器。
DBPATH ON選項可以被用來把以上文件和信息,放在一個與資料庫數據存儲路徑分開的路徑中。當使用automatic storage時,建議將資料庫的information和資料庫的data分開。
對於MPP系統,資料庫不能建在NFS文件夾中,不能是相對路徑。每個給出的路徑必須在每個資料庫分區中存在並可訪問。
database path最長215字元,storage path最長175字元。
5. ALIAS database-alias
在database directory中,資料庫的別名。如果沒指定,就用資料庫名稱。
6. USING CODESET codeset
指定數據進入資料庫所使用的編碼集。創建資料庫後,不能修改。
7. TERRITORY territory
指定資料庫進入資料庫所使用的區域標示符或本地標示符。創建資料庫後,不能修改。code set和territory的組合,必須是有效的。
F. 如何用Powerdesigner的PDM生成資料庫及逆向生成
首先,這是我從我自己的希賽BLOG上搬來並稍稍修改滴,本人自從上了csdn,感覺還是把blog搬到csdn比較好!嘿嘿!下面是正文:
pdm做好後,最終是要將其轉化為資料庫實體的。這里pdm想必大家都知道是什麼文件,對的,英文是physiyc data model 也就是物理數據模型。
1.確認當前Powerdesigner設置的dbms是否正確,即是否是我們要生成的資料庫類型,我在這里使用的是sqlserver2000:
Powerdesigner->資料庫->更改當前dbms,選擇您的資料庫類型。
2.配置Powerdesigner與數據源的連接
Powerdesigner->資料庫->配置連接->用戶dsn(或系統dsn)->選擇、添加您的數據源
3.連接
Powerdesigner->資料庫->連接->設置好您剛才建立的dsn確定。
OK,設置好連接後我們就可以將pdm生成sql語句了。
4.資料庫生成
Powerdesigner->資料庫->生成資料庫->配置好(默認就可以)後選擇確定就好了。
拿到sql腳本語句,大家都知道應當如何做了吧,放到sql查詢分析器里執行吧。
Powerdesigner逆向工程從現有資料庫生成PDM
在數據建模過程中,我們建立概念數據模型,通過正向工程生成物理數據模型,生成資料庫建庫腳本,最後將物理數據模型生成關系資料庫,現在反過來,通過逆向工程將關系資料庫,生成物理數據模型。
優點:
在丟失數據模型或者資料庫模型同現有的資料庫不一致,可以通過該方法生成使用中資料庫的模型
缺點:
還原回的模型中,可能會沒有中文注釋,沒有表外鍵對應關系(欄位還有,索引關系沒了)
前提:
1,確認要生成模型的資料庫是最新的,並且可以使用
2,安裝Powerdesigner軟體
具體操作步驟:
一,建立ODBC數據源
1, 打開系統ODBC數據源,位置「控制面板--管理工具--數據源(ODBC)
2,選擇系統DSN,點擊添加按鈕,會彈出如下界面,選擇與資料庫相匹配的驅動程序
3,點擊完成,彈出數據源名稱(自定),和選擇你要連接的資料庫,如下圖所示
4,選擇確定後,該數據源建立成功,可以雙擊該數據源名稱進行連接測試,如下圖所示
5,至此數據源建立完成,當然這些也可以不用在這里建立,在powerdesigner里也可以建立,建立方法為
選擇Database->configure connections,轉到system dsn標簽,點擊Add按鈕,選資料庫類型DB2,點擊完成。顯 示如下:輸入DataSource Name「PDMTest」;輸入ServerName「Database」, 配置完成。如下所示:
二,在Powerdesigner中逆向生成
1,打開Powerdesigner工具,創建一個PDM文件,選擇與之匹配的資料庫類型「ibm db2 udb 8.x common server」。創建方法為:右鍵點擊左側面板中的WorkSpace---->new------>physical data nodel ,在DBMS中選擇你要的數據類型,選擇好後點擊確定,則新建立了一個工作空間。
2,選擇Database菜單下的Reverse Engineer Database,彈出Database Reverse Engineering對話框,選Using an ODBC data source選ODBC數據源「s2ms」,如下圖所示:
3,點擊確定後,顯示此資料庫中所有表、視圖、用戶(這個選擇一下該資料庫的用戶)。根據需要選擇後,轉換成pdm。圖示如下
4,選擇好後,點擊OK,則生成模型。
三,利用腳本生成模型
如果你不光有個正在使有的資料庫,你還有一下建立庫的腳本,那你發財了!因為用.sql的腳本生成的模型,就不存在用資料庫生成的缺點了,具體操作如下:
二、 通過SQL腳本逆向工程生成PDM
1、 資料庫SQL腳本文件crebas.sql。下為腳本實例:
/*==============================================================*/
/* Database name: PhysicalDataModel_1 */
/* DBMS name: ORACLE Version 9i */
/* Created on: 2003-07-13 10:49:08 */
/*==============================================================*/
/*==============================================================*/
/* Table: "class" */
/*==============================================================*/
create table "class" (
"classID" NUMBER(2) not null,
"className" VARCHAR2(24),
constraint PK_CLASS primary key ("classID")
)
/
/*==============================================================*/
/* Table: "student" */
/*==============================================================*/
create table "student" (
"studentID" NUMBER(10) not null,
"studentName" VARCHAR2(4),
"classID" NUMBER(2),
constraint PK_STUDENT primary key ("studentID")
)
/
alter table "student"
add constraint FK_STUDENT_REFERENCE_CLASS foreign key ("classID")
references "class" ("classID")
/
2、 還是創建一個pdm,選擇Database--->Reverse Engineer Database,選擇Using files。
3、 看到由腳本自動生成相關的PDM如下所示:
四,生成模型後要導出資料庫建庫腳本
導好的模型,當然是用來修改和導出建庫腳本的,操作方法如下
1,選擇database--->generate database彈出如下窗口
在用戶的none中選擇資料庫用戶,同時可選要導出的表,最後點擊確定,如果不能正常生成腳本提示模型錯誤,則在上圖中的options中將check modle 的選項去掉,點擊確定,生成sql腳本,
這時生成的腳本不要著急去用,因為可能是有問題,用記事本或其它工具打開這個腳本,你會發現在所屬名上也就是s2ms上都會加上""號,用Ctrl+H,將所有"替換為空,就大功告成了
轉載
G. 為什麼用DB2建庫時總出現『未發出啟動資料庫管理器命令』的提示
你先關閉所有應用連接
db2
force
application
all
然後再啟動資料庫
db2start
試試看看
H. 求power designer 教程
地址: http://web.52im.net/article.php?articleid=6747
Power Designer是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統進行分析設計,它幾乎包括了資料庫模型設計的全過程。利用Power Designer可以製作數據流程圖、概念數據模型、物理數據模型,可以生成多種客戶端開發工具的應用程序,還可為數據倉庫製作結構模型,也能對團隊設計模型進行控制。Power Designer的4種模型:概念數據模型 (CDM)物理數據模型 (PDM) 面向對象模型 (OOM) 業務程序模型 (BPM) 我主要介紹一下PDM:PDM 敘述資料庫的物理實現,幫助你考慮真實的物理實現的細節。你能通過修正PDM來適合你的表現或物理約束。主要目的是把CDM中建立的現實世界模型生成特定的DBMS腳本,產生資料庫中保存信息的儲存結構,保證數據在資料庫中的完整性和一致性。PDM是適合於系統設計階段的工具。簡單說:就是PDM可以自動生成諸如'create table'之類的sql腳本.在數據建模過程中,我們建立概念數據模型,通過正向工程生成物理數據模型,生成資料庫建庫腳本,最後將物理數據模型生成關系資料庫。系統資料庫設計人員希望能夠將資料庫設計和關系資料庫生成無縫地集成起來,如何保證物理數據模型與其對應資料庫之間的雙向同步成為數據建模非常關鍵的一點。Powerdesigner作為強大的Case工具,為我們提供了方便的逆向工程特性。可以將目前所有流行的後端資料庫(包括Sybase、DB2、Oracle等)的結構信息通過逆向工程加入到PowerDesigner的物理數據模型和概念數據模型中,包括表、索引、觸發器、視圖等。下面說一下如何用PowerDesigner進行逆向工程.1.我用的資料庫是oracle9i,我為了訪問oracle資料庫,在我的機器上安裝了oracle客戶端(提供了oracle客戶端的驅動程序,而精簡客戶端則不可以),配置一個名稱為mylcl的服務:MYLCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.106)(PORT = 1521)) ) (CONNECT_DATA = (SID = pwsc) ) )用戶名為:testuser,密碼為test. 2.在pd中,新建一個pdm,選擇資料庫為oracle9i3.選擇Database->configure connections,轉到system dsn標簽,點擊"添加",選擇驅動程序,由於我的資料庫是oracle,所以我選擇"oracle in oraclient10g_home1"(安裝了oracle客戶端才有這個驅動,而精簡客戶端沒有此驅動)4.在data source name 中,可以隨便命名一個"ora-test",在tns-server name中選擇第一步中的服務名稱:mylcl.點擊"test connection",輸入用戶名密碼,connection ok!5.點擊database->reverse engineer database ,選擇odbc datasource:ora-test.然後點擊確定哈哈,看見什麼了.我就不說了吧pdm的圖表如何?其實pd還可以通過sql來進行反向工程,我就不說了特此存檔.同時也希望對大家有幫助.
I. db2 aix 下的數據文件如何導入windows的資料庫當中
使用db2look和db2move工具。
1.首先利用db2look -d 資料庫名稱 -e -a -l -o 文件名.sql 導出資料庫建庫腳本
2.再利用db2move 資料庫名稱 export 導出資料庫。
在到windows操作系統上
3.建庫
4.修改並執行1中的腳本創建資料庫中的對象。
5.使用db2move 資料庫名稱 load 導入上面導出的數據。
J. DB2資料庫在linux下使用提示錯誤
db2 "create table dep_sum(XXOO)"
你的寫法誰教你的
