天天看點

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

前言

對于常年占據國産資料庫排行榜前三的 達夢 資料庫,早已 “垂涎a已久” (¯﹃¯)!

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

要想學習一門資料庫技術,第一步當然是要安裝資料庫,然後才能學習使用它,順便記錄下作者的安裝初體驗!❤️

💬 介紹

達夢資料庫管理系統(以下簡稱DM)是基于客戶/伺服器方式的資料庫管理系統,可以安裝在多種計算機作業系統平台上,典型的作業系統有:

  • Windows(Windows2000/2003/XP/Vista/7/8/10/Server等)
  • Linux
  • HP-UNIX
  • Solaris
  • FreeBSD
  • AIX

對于不同的系統平台,有不同的安裝步驟。

根據不同的應用需求與配置,DM提供了多種不同的産品系列:

  • 标準版Standard Edition
  • 企業版Enterprise Edition
  • 安全版Security Edition

相較于 Oracle 的全英文官方文檔來說,達夢的官方文檔就顯得親切多了,一眼看去就很喜歡!❤️

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

作為一款熱門的國産資料庫,對于平台的支援必然是廣泛的。下面👇🏻列出一些安裝部署基礎要求:

名稱 要求
CPU Intel Pentium4(建議Pentium 41.6G以上)處理器
記憶體 256M(建議512M以上)
硬碟 5G以上可用空間
網卡 10M以上支援TCP/IP協定的網卡
作業系統 Windows(簡體中文伺服器版sp2以上)/Linux(glibc2.3以上,核心2.6,已安裝KDE/GNOME桌面環境,建議預先安裝UnixODBC元件)

💦 安裝媒體下載下傳

🔥 達夢8安裝包

達夢官方提供的最新版本為DM8,可以直接下載下傳:

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

達夢8的資料庫安裝媒體下載下傳位址:

https://eco.dameng.com/download

💥 Centos7 box

Linux作業系統我選擇的是 centos7,打算使用 vagrant 進行安裝:

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

centos7 box鏡像下載下傳位址:

https://app.vagrantup.com/luciferliu/boxes/centos7.9

至此,安裝媒體都準備好了!

🏆 Linux 下 DM 的安裝

資料庫
CentOS7 x86_64 架構 dm8_20210630_x86_rh6_64_ent

🍭 Centos7 環境安裝

vagrant 啟動 centos7

進入自定義目錄啟動主機:

mkdir -p /Volumes/DBA/dm8
cd /Volumes/DBA/dm8
## vagrant 初始化
vagrant init luciferliu/centos7.9
## vagrant 建立并啟動主機
vagrant up      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

如上圖所示,Centos7.9 的主機就已經啟動了,下面我們連接配接并且上傳 DM8 安裝包。

上傳安裝媒體

将 DM8 安裝包拷貝到目前 /Volumes/DBA/dm8 目錄下,使用 vagrant ssh 連接配接主機:

## 拷貝 DM 安裝包
cd /Volumes/DBA/dm8
cp /Users/lpc/Downloads/dm8_20210630_x86_rh6_64_ent.zip .      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

初始化配置

## 連接配接主機
vagrant ssh
## 修改 root 使用者密碼,密碼為 dm
echo dm | sudo passwd --stdin root
## 切換至 root 使用者
su - root
## 修改主機名
hostnamectl set-hostname dm8 && exec bash
## 配置時區
timedatectl set-timezone Asia/Shanghai
## 配置系統中文
echo 'export LANG=zh_CN.UTF-8' >> /etc/profile
## 建立 DM 軟體包目錄
mkdir /soft
## 拷貝 DM 安裝包至軟體包目錄
cp /vagrant/dm8_20210630_x86_rh6_64_ent.zip /soft
## 安裝 unzip 和 lsb_release
yum install -y unzip lsb*
## 解壓 DM 安裝包
cd /soft
unzip dm8_20210630_x86_rh6_64_ent.zip      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

如上圖所示,DM8 安裝包已解壓至至主機 /soft 目錄下。

🍰 安裝前準備

使用者在安裝DM之前需要檢查或修改作業系統的配置,以保證 DM 正确安裝和運作。

檢查Linux(Unix)系統資訊

## 擷取系統位數
getconf LONG_BIT
## 查詢作業系統release資訊
lsb_release -a
## 查詢系統資訊
cat /etc/issue
## 查詢系統名稱
uname -a      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

建立安裝使用者

為了減少對作業系統的影響,使用者不應該以root系統使用者來安裝和運作DM。使用者可以在安裝之前為DM建立一個專用的系統使用者。

## 建立 dinstall 組
groupadd -g 12349 dinstall
## 建立 dmdba 使用者
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
## 修改 dmdba 使用者密碼
echo dmdba | passwd --stdin dmdba      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

建立安裝目錄及授權

mkdir /dm
mkdir -p /dm{arch,bak,data}
chown -R dmdba.dinstall /dm /soft /dmdata /dmarch /dmbak
chmod -R 775 /dm{arch,bak,data} /dm      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

關閉防火牆和Selinux

## 關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
## 關閉selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

關閉透明大頁和numa

Linux6:

cat >>/etc/rc.d/rc.local <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi      

Linux7:

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

配置系統參數

cat <<EOF >>/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
vm.swappiness = 0
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
EOF
## 激活參數配置
sysctl -p      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

配置作業系統限制

在Linux(Unix)系統中,因為ulimit指令的存在,會對程式使用作業系統資源進行限制。為了使DM能夠正常運作,建議使用者檢查目前安裝使用者的ulimit參數。

## 配置pam.d
cat <<EOF >>/etc/pam.d/login
session required pam_limits.so 
session required /lib64/security/pam_limits.so
EOF
## 檢視 pam.d
cat /etc/pam.d/login | grep -v "^$" | grep -v "^#"
## 檢視作業系統資源限制
ulimit -a
## 解除 nice,as fsize,nproc,nofile,core,data 限制
cat <<EOF>>/etc/security/limits.conf
dmdba - nice   0     
dmdba - as     unlimited
dmdba - fsize  unlimited
dmdba - nproc  131072
dmdba - nofile 131072
dmdba - core   unlimited
dmdba - data   unlimited
root  - nice   0     
root  - as     unlimited
root  - fsize  unlimited
root  - nproc  131072
root  - nofile 131072
root  - core   unlimited
root  - data   unlimited
EOF
## 檢查配置檔案
cat /etc/security/limits.conf | grep -v "^$" | grep -v "^#"
## 檢視 dmdba 使用者的資源限制
su - dmdba -c "ulimit -a"      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

檢查系統記憶體

為了保證DM的正确安裝和運作,要盡量保證作業系統至少1GB的可用記憶體(RAM)。如果可用記憶體過少,可能導緻DM安裝或啟動失敗。

## 擷取記憶體總大小
grep MemTotal /proc/meminfo
## 擷取交換分區大小
grep SwapTotal /proc/meminfo
## 擷取記憶體使用詳情
free -m      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

檢查存儲空間

DM完全安裝需要1GB的存儲空間,使用者需要提前規劃好安裝目錄,預留足夠的存儲空間。使用者在DM安裝前也應該為資料庫執行個體預留足夠的存儲空間,規劃好資料路徑和備份路徑。

## 查詢目錄 /dm 可用空間
df -h /dm
## /tmp目錄保證1GB的存儲空間
df -h /tmp      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

配置環境變量

## 配置 dmdba 環境變量
cat <<EOF>>/home/dmdba/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export DM_HOME="/dm"
export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH:\$DM_HOME/bin"
export PATH=/usr/sbin:\$PATH
export PATH=\$DM_HOME/bin:\$PATH
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
alias ds='disql sysdba'
EOF
## 檢視環境變量
cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#"      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

🍯 安裝 DM8 資料庫

安裝同時支援圖形化安裝,指令行安裝,靜默安裝三種方式。由于我沒有安裝圖形化界面,是以使用 指令行安裝 方式進行安裝。

使用者應登入或切換到安裝系統使用者,進行以下安裝步驟的操作(注:不建議使用root系統使用者進行安裝)。

挂載 DM ISO 鏡像

官網下載下傳的 DM8 安裝包解壓下來是一個 ISO 鏡像檔案,是以需要挂載取出安裝檔案,才能開始安裝。

## 挂載 DM iso 鏡像檔案
cd /soft/dm8_20210630_x86_rh6_64_ent
mount -o loop dm8_20210630_x86_rh6_64_ent_8.1.2.18_pack7.iso /opt
## 拷貝安裝檔案至 /soft
cp /opt/DM* /soft
## 取消挂載
umount /opt
## 目錄授權
chown -R dmdba:dinstall /soft
chmod -R 775 /soft
ll /soft      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

指令行安裝

1、執行安裝指令:

## 切換至 dmdba 使用者
su - dmdba
cd /soft/
## 執行指令行安裝
./DMInstall.bin -i      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

2、按需求選擇安裝語言,預設為中文。本地安裝選擇【不輸入 Key 檔案】,選擇【預設時區 21】。

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

3、選擇【1-典型安裝】,按已規劃的安裝目錄 /dm 完成資料庫軟體安裝,不建議使用預設安裝目錄。

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

4、root 使用者執行 root 腳本:

su - root
/dm/script/root/root_installer.sh      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

指令行配置執行個體

使用 dmdba 使用者配置執行個體,使用 dminit 指令初始化執行個體。

su - dmdba
## 使用預設參數初始化執行個體,需要附加執行個體存放路徑 /dmdata
dminit path=/dmdata      

📢 注意:dminit 指令可設定多種參數,可執行如下指令檢視可配置參數。

達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)

需要注意的是 頁大小 (PAGE_SIZE)、簇大小 (EXTENT_SIZE)、大小寫敏感 (CASE_SENSITIVE)、字元集 (CHARSET/UNICODE_FLAG)、VARCHAR類型長度(LENGTH_IN_CHAR) 這幾個參數,一旦确定無法修改,需謹慎設定。

  • EXTENT_SIZE 資料檔案使用的簇大小(16),可選值:16, 32, 64,機關:頁,預設使用 16 頁。指資料檔案使用的簇大小,即每次配置設定新的段空間時連續的頁數。
  • PAGE_SIZE 資料頁大小(8),可選值:4, 8, 16, 32,機關:K,選擇的頁大小越大,則 DM 支援的元組長度也越大,但同時空間使用率可能下降,預設使用 8 KB。
  • CASE_SENSITIVE 大小敏感(Y),可選值:Y/N,1/0,預設值為 Y 。當大小寫敏感時,小寫的辨別符應用雙引号括起,否則被轉換為大寫;當大小寫不敏感時,系統不自動轉換辨別符的大小寫,在辨別符比較時也不區分大小寫,隻能是 Y、y、N、n、1、0 之一。
  • CHARSET/UNICODE_FLAG 字元集(0),可選值:0[GB18030],1[UTF-8],2[EUC-KR];1 代表 UTF-8;2 代表韓文字元集 EUC-KR;取值 0、1 或 2 之一。預設值為 0。
  • LENGTH_IN_CHAR VARCHAR類型長度是否以字元為機關(N),可選值:Y/N,1/0。

以下指令設定頁大小為 32 KB,簇大小為 32 KB,大小寫敏感,字元集為 utf_8,資料庫名為 DMDB,執行個體名為 LUCIFER,端口為 5237。

dminit path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=LUCIFER      
達夢 DM8 資料庫安裝詳細手冊(Windows+Linux+Docker)(一)