PROGRESS 9.1D一般創建多卷模式的資料庫,所以創建結構檔是首要的...
一、資料庫結構檔的創建:
Progress 9.1D一般創建多卷模式的資料庫,所以創建結構檔是首要的!Progress資料庫結構檔副檔名是st,比如生產系統資料庫prod的結構檔是prod.st,和DB檔同目錄!
PROGRESS資料庫結構檔的格式如下:
①指定Area的類型,比如是DB還是BI,如果以“#”字元開始,該行被認為是注釋,具體規定如下:
a --- After-image (AI) Area
b --- Before-image(BI) Area 另外又稱為Primary Recovery Area
d --- Schema Area and Application Data
Areas
t ---
Transaction log (for two-phase commit)
【目前主要用到b & d 】
②Area的信息:"Area名稱":Database engine-generated area number ,The records per block
///關於Database engine-generated area number和The records per block,媽的我也沒搞懂
③資料庫Area對應的檔案名和路徑(可以用絕對路徑和相對路徑,建議用絕對路徑)
④Area資料存放的形式:
f --- Fixed,就是固定大小,後面帶一個固定的數值
v --- Variable,可變大小,初始值128KB;通常後面帶一個數值作為這個可變大小的最大值
r --- Raw Device
空 --- 表示無限制的可變大小(這時需要考慮作業系統的檔大小限制;比如HP-UX檔通常有2G限制)
⑤Area的大小(單位:Kb,該值必須是16的整數倍,否則會被資料庫自動調整為最合適的16的整數倍大小)
二、資料庫的創建:
例,假設progress安裝目錄是/mfg/dlc91,st檔已經創建且在目前的目錄,那麼在目前的目錄下創建資料庫命令如下:
# /mfg/dlc91/bin/prostrct create prod prod.st
如果st檔沒問題,那麼會出現正在formating extents等提示,然後OK!如果要指定資料庫的block size:
# /mfg/dlc91/bin/prostrct create prod prod.st -blocksize 8192
Block size 必須是2的整數倍,一般是1024 / 2048 / 4096 / 8192中選一個,原則是OS File System Block Size的1-2倍。注意-blocksize參數必須放在最後。
三、資料庫原始結構的拷貝:
用prostrct create創建的資料庫是完全空的,用pro等命令是沒法起來的,必須拷貝一個空的結構,比如:
#/mfg/dlc91/bin/procopy /mfg/dlc91/empty8 prod
選擇empty多少,需要根據你創建的DB的Block size大小:
empty1 1024
empty2 2048
empty4 4096
empty8 8192
四、啟動資料庫導入結構檔:
# /mfg/dlc91/bin/pro prod
按F3啟動功能表,選擇Tools -> Data Dictionary
再選擇Admin -> Load Data and
Definitions -> Data Definitions
在提示對話方塊輸入要導入的結構檔,比如prod.df
說明:如果是做DB refiling,那麼一般.df檔是事先做好並保存在目前的目錄下的!
五、Bulkload數據:
# /mfg/dlc91/bin/proutil prod -C bulkload ./prod.fd -d ymd -yy 1950
說明:如果是做DB refiling,那麼.fd檔和必須的.d文件一般事先準備就緒並保存在目前的目錄下。
六、索引重建:
# /mfg/dlc91/bin/proutil prod -C idxbuild all
為了獲取更好的性能,通常加上-TB和-TM參數,比如:
# /mfg/dlc91/bin/proutil prod -C idxbuild all -TB 16
-TM 32
/*強烈推薦增加TB和TM參數,實際上佔用很少的資源卻大大減少了資料庫索引重建的時間*/
注意:也可以用prodb等其它工具創建資料庫,但推薦用prostrct方式!
留言列表