🌲 前言
對于常年占據國產數(shù)據庫排行榜前三的 達夢
數(shù)據庫,早已 “垂涎a已久” (ˉ﹃ˉ)!
要想學習一門數(shù)據庫技術,第一步當然是要安裝數(shù)據庫,然后才能學習使用它,順便記錄下作者的安裝初體驗!??
💬 介紹
達夢數(shù)據庫管理系統(tǒng)(以下簡稱DM)是基于客戶/服務器方式的數(shù)據庫管理系統(tǒng),可以安裝在多種計算機操作系統(tǒng)平臺上,典型的操作系統(tǒng)有:
Windows(Windows2000/2003/XP/Vista/7/8/10/Server等) Linux HP-UNIX Solaris FreeBSD AIX
對于不同的系統(tǒng)平臺,有不同的安裝步驟。
根據不同的應用需求與配置,DM提供了多種不同的產品系列:
標準版Standard Edition 企業(yè)版Enterprise Edition 安全版Security Edition
相較于 Oracle 的全英文官方文檔來說,達夢的官方文檔就顯得親切多了,一眼看去就很喜歡!??
作為一款熱門的國產數(shù)據庫,對于平臺的支持必然是廣泛的。下面👇🏻列出一些安裝部署基礎要求:
名稱 要求 CPU Intel Pentium4(建議Pentium 41.6G以上)處理器 內存 256M(建議512M以上) 硬盤 5G以上可用空間 網卡 10M以上支持TCP/IP協(xié)議的網卡 操作系統(tǒng) Windows(簡體中文服務器版sp2以上)/Linux(glibc2.3以上,內核2.6,已安裝KDE/GNOME桌面環(huán)境,建議預先安裝UnixODBC組件)
💦 安裝介質下載
🔥 達夢8安裝包
達夢官方提供的最新版本為DM8,可以直接下載:
達夢8的數(shù)據庫安裝介質下載地址: https://eco./download
💥 Centos7 box
Linux操作系統(tǒng)我選擇的是 centos7,打算使用 vagrant 進行安裝:
centos7 box鏡像下載地址: https://app./luciferliu/boxes/centos7.9
至此,安裝介質都準備好了!
🏆 Linux 下 DM 的安裝
操作系統(tǒng) CPU 數(shù)據庫 CentOS7 x86_64 架構 dm8_20210630_x86_rh6_64_ent
🍭 Centos7 環(huán)境安裝
vagrant 啟動 centos7
進入自定義目錄啟動主機:
mkdir -p /Volumes/DBA/dm8
cd /Volumes/DBA/dm8
## vagrant 初始化
vagrant init luciferliu/centos7.9
## vagrant 創(chuàng)建并啟動主機
vagrant up
如上圖所示,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 .
初始化配置
## 連接主機
vagrant ssh
## 修改 root 用戶密碼,密碼為 dm
echo dm | sudo passwd --stdin root
## 切換至 root 用戶
su - root
## 修改主機名
hostnamectl set-hostname dm8 && exec bash
## 配置時區(qū)
timedatectl set-timezone Asia/Shanghai
## 配置系統(tǒng)中文
echo 'export LANG=zh_CN.UTF-8' >> /etc/profile
## 創(chuàng)建 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 安裝包已解壓至至主機 /soft
目錄下。
🍰 安裝前準備
用戶在安裝DM之前需要檢查或修改操作系統(tǒng)的配置,以保證 DM 正確安裝和運行。
檢查Linux(Unix)系統(tǒng)信息
## 獲取系統(tǒng)位數(shù)
getconf LONG_BIT
## 查詢操作系統(tǒng)release信息
lsb_release -a
## 查詢系統(tǒng)信息
cat /etc/issue
## 查詢系統(tǒng)名稱
uname -a
創(chuàng)建安裝用戶
為了減少對操作系統(tǒng)的影響,用戶不應該以root系統(tǒng)用戶來安裝和運行DM。用戶可以在安裝之前為DM創(chuàng)建一個專用的系統(tǒng)用戶。
## 創(chuàng)建 dinstall 組
groupadd -g 12349 dinstall
## 創(chuàng)建 dmdba 用戶
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
## 修改 dmdba 用戶密碼
echo dmdba | passwd --stdin dmdba
創(chuàng)建安裝目錄及授權
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
關閉防火墻和Selinux
## 關閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
## 關閉selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
關閉透明大頁和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
配置系統(tǒng)參數(shù)
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
## 激活參數(shù)配置
sysctl -p
配置操作系統(tǒng)限制
在Linux(Unix)系統(tǒng)中,因為ulimit命令的存在,會對程序使用操作系統(tǒng)資源進行限制。為了使DM能夠正常運行,建議用戶檢查當前安裝用戶的ulimit參數(shù)。
## 配置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 "^#"
## 查看操作系統(tǒng)資源限制
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"
檢查系統(tǒng)內存
為了保證DM的正確安裝和運行,要盡量保證操作系統(tǒng)至少1GB的可用內存(RAM)。如果可用內存過少,可能導致DM安裝或啟動失敗。
## 獲取內存總大小
grep MemTotal /proc/meminfo
## 獲取交換分區(qū)大小
grep SwapTotal /proc/meminfo
## 獲取內存使用詳情
free -m
檢查存儲空間
DM完全安裝需要1GB的存儲空間,用戶需要提前規(guī)劃好安裝目錄,預留足夠的存儲空間。用戶在DM安裝前也應該為數(shù)據庫實例預留足夠的存儲空間,規(guī)劃好數(shù)據路徑和備份路徑。
## 查詢目錄 /dm 可用空間
df -h /dm
## /tmp目錄保證1GB的存儲空間
df -h /tmp
配置環(huán)境變量
## 配置 dmdba 環(huán)境變量
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
## 查看環(huán)境變量
cat /home/dmdba/.bash_profile | grep -v "^$" | grep -v "^#"
🍯 安裝 DM8 數(shù)據庫
安裝同時支持圖形化安裝,命令行安裝,靜默安裝三種方式。由于我沒有安裝圖形化界面,因此使用 命令行安裝
方式進行安裝。
用戶應登錄或切換到安裝系統(tǒng)用戶,進行以下安裝步驟的操作(注:不建議使用root系統(tǒng)用戶進行安裝)。
掛載 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
命令行安裝
1、執(zhí)行安裝命令:
## 切換至 dmdba 用戶
su - dmdba
cd /soft/
## 執(zhí)行命令行安裝
./DMInstall.bin -i
2、按需求選擇安裝語言,默認為中文。本地安裝選擇【不輸入 Key 文件】,選擇【默認時區(qū) 21】。
3、選擇【1-典型安裝】,按已規(guī)劃的安裝目錄 /dm 完成數(shù)據庫軟件安裝,不建議使用默認安裝目錄。
4、root 用戶執(zhí)行 root 腳本:
su - root
/dm/script/root/root_installer.sh
命令行配置實例
使用 dmdba 用戶配置實例,使用 dminit 命令初始化實例。
su - dmdba
## 使用默認參數(shù)初始化實例,需要附加實例存放路徑 /dmdata
dminit path = /dmdata
📢 注意:dminit 命令可設置多種參數(shù),可執(zhí)行如下命令查看可配置參數(shù)。
需要注意的是 頁大小 (PAGE_SIZE)、簇大小 (EXTENT_SIZE)、大小寫敏感 (CASE_SENSITIVE)、字符集 (CHARSET/UNICODE_FLAG)、VARCHAR類型長度(LENGTH_IN_CHAR) 這幾個參數(shù),一旦確定無法修改,需謹慎設置。
EXTENT_SIZE 數(shù)據文件使用的簇大小(16),可選值:16, 32, 64,單位:頁,缺省使用 16 頁。指數(shù)據文件使用的簇大小,即每次分配新的段空間時連續(xù)的頁數(shù)。 PAGE_SIZE 數(shù)據頁大小(8),可選值:4, 8, 16, 32,單位:K,選擇的頁大小越大,則 DM 支持的元組長度也越大,但同時空間利用率可能下降,缺省使用 8 KB。 CASE_SENSITIVE 大小敏感(Y),可選值:Y/N,1/0,默認值為 Y 。當大小寫敏感時,小寫的標識符應用雙引號括起,否則被轉換為大寫;當大小寫不敏感時,系統(tǒng)不自動轉換標識符的大小寫,在標識符比較時也不區(qū)分大小寫,只能是 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,數(shù)據庫名為 DMDB,實例名為 LUCIFER,端口為 5237。
dminit path = /dmdata PAGE_SIZE = 32 EXTENT_SIZE = 32 CASE_SENSITIVE = y CHARSET = 1 DB_NAME = DMDB INSTANCE_NAME = LUCIFER
命令行注冊服務
注冊服務需使用 root 用戶進行注冊。使用 root 用戶進入數(shù)據庫安裝目錄的 /script/root 下,如下所示:
cd /dm/script/root
## 注冊服務
./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMDB/dm.ini -p DMSERVER
## 配置服務開機自啟
systemctl enable DmServiceDMSERVER.service
## 開啟服務
systemctl start DmServiceDMSERVER.service
## 查看服務狀態(tài)
systemctl status DmServiceDMSERVER.service
命令行啟停數(shù)據庫
服務注冊成功后,啟停數(shù)據庫,如下所示:
cd /dm8/bin
## 查看當前數(shù)據庫服務狀態(tài)
systemctl status DmServiceDMSERVER.service
## 關閉數(shù)據庫
systemctl stop DmServiceDMSERVER.service
## 打開數(shù)據庫
systemctl start DmServiceDMSERVER.service
或者
dmserver /dmdata/DMDB/dm.ini
## 重啟數(shù)據庫
systemctl restart DmServiceDMSERVER.service
也可以通過以下命令執(zhí)行:
DmServiceDMSERVER start/stop/restart/status
連接訪問數(shù)據庫
disql sysdba
🥈 Docker 下 DM 的安裝
🏈 安裝前準備
軟硬件 版本 終端 X86-64 架構 Docker 19.0 及以上版本
🏀 下載 Docker 安裝包
## 在根目錄下創(chuàng)建 /dm8 文件夾,用來放置下載的 Docker 安裝包。命令如下:
mkdir -p /Volumes/DBA/dm8
## 切換到 /dm8 目錄,下載 DM Docker 安裝包。命令如下:
cd /Volumes/DBA/dm8
wget -O dm8_docker.tar -c https://download./eco/dm8/dm8_docker.tar
?? 導入鏡像
下載完成后,導入安裝包,打開 docker ,使用如下命令:
docker import dm8_docker.tar dm8:v01
導入完成后,可以使用 docker images 來查看導入的鏡像,命令如下:
docker images
查看結果如下:
?? 啟動容器
鏡像導入后,使用 docker run 來啟動容器,默認的端口 5236 默認的賬號密碼 ,啟動命令如下:
docker run -itd -p 5236 :5236 --name dm8_01 dm8:v01 /bin/bash /startDm.sh
容器啟動完成后,使用 docker ps 來查看鏡像的啟動情況,命令如下:
docker ps
啟動完成后,可以查看日志來查看啟動情況,命令如下:
docker logs -f dm8_01
顯示內容如下,則表示啟動成功。
🎾 數(shù)據庫啟停
命令如下:
docker stop/start/restart dm8_01
🎱 連接 docker
## 獲取容器 ID
docker ps
## 連接容器
docker exec -it acd3a2211b52 /bin/bash
## 切換 dmdba 用戶
su - dmdba
## 連接數(shù)據庫
cd /dm8/bin
./disql
📢 注意:如果使用docker容器里面的 disql ,進入容器后,先執(zhí)行 source /etc/profile 防止中文亂碼。
🏅 Windows 下 DM 的安裝
🍎 安裝前準備
檢查系統(tǒng)信息
用戶在安裝 DM 數(shù)據庫前,需要檢查當前操作系統(tǒng)的相關信息,確認 DM 數(shù)據庫安裝程序與當前操作系統(tǒng)匹配,以保證 DM 數(shù)據庫能夠正確安裝和運行。
用戶可以在終端通過 Win+R 打開運行窗口,輸入 cmd,打開命令行工具,輸入 systeminfo
命令進行查詢,如下圖所示:
檢查系統(tǒng)內存
為了保證 DM 數(shù)據庫的正確安裝和運行,要盡量保證操作系統(tǒng)至少 1 GB 以上的可用內存 (RAM)。如果可用內存過少,可能導致 DM 數(shù)據庫安裝或啟動失敗。
用戶可以通過【任務管理器】查看可用內存,如下圖所示:
檢查存儲空間
DM 完全安裝需要至少 1 GB 以上的存儲空間,用戶需要提前規(guī)劃好安裝目錄,預留足夠的存儲空間。
用戶在 DM 安裝前也應該為數(shù)據庫實例預留足夠的存儲空間,規(guī)劃好數(shù)據路徑和備份路徑。
🍉 安裝 DM8 數(shù)據庫
上傳安裝包,解壓掛載,復制出安裝文件,開始安裝!
選擇語言與時區(qū)
雙擊運行【setup.exe】安裝程序,請根據系統(tǒng)配置選擇相應語言與時區(qū),點擊【確定】按鈕繼續(xù)安裝。如下圖所示:
安裝向導
點擊【下一步】按鈕繼續(xù)安裝,如下圖所示:
許可證協(xié)議
在安裝和使用 DM 數(shù)據庫之前,需要用戶閱讀并接受許可證協(xié)議,如下圖所示:
查看版本信息
用戶可以查看 DM 服務器、客戶端等各組件相應的版本信息。
驗證 Key 文件環(huán)節(jié)可跳過,如果沒有 Key 文件,點擊【下一步】即可。
選擇安裝組件
DM 安裝程序提供四種安裝方式:“典型安裝”、“服務器安裝”、“客戶端安裝”和“自定義安裝”,此處建議選擇【典型安裝】,如下圖所示:
典型安裝包括:服務器、客戶端、驅動、用戶手冊、數(shù)據庫服務。 服務器安裝包括:服務器、驅動、用戶手冊、數(shù)據庫服務。 客戶端安裝包括:客戶端、驅動、用戶手冊。 自定義安裝包括:用戶根據需求勾選組件,可以是服務器、客戶端、驅動、用戶手冊、數(shù)據庫服務中的任意組合。
選擇安裝目錄
DM 默認安裝在 C:\dmdbms 目錄下,不建議使用默認目錄,改為其他任意盤符即可,以 E:\dmdbs 為例,如下圖所示:
這里我只有一個 C 盤,因此直接默認安裝!
📢 注意:安裝路徑里的目錄名由英文字母、數(shù)字和下劃線等組成,不建議使用包含空格和中文字符的路徑等。
安裝前小結
顯示用戶即將進行的數(shù)據庫安裝信息,例如產品名稱、版本信息、安裝類型、安裝目錄、可用空間、可用內存等信息,用戶檢查無誤后點擊【安裝】按鈕進行 DM 數(shù)據庫的安裝,如下圖所示:
數(shù)據庫安裝
安裝過程需耐心等待 1~2 分鐘,如下圖所示:
數(shù)據庫安裝完成
數(shù)據庫安裝完成后,請選擇【初始化】數(shù)據庫:
🍏 配置實例
選擇操作方式
此處建議選擇【創(chuàng)建數(shù)據庫實例】,點擊【開始】進入下一步驟,如下圖所示:
創(chuàng)建數(shù)據庫模板
此處建議選擇【一般用途】即可,如下圖所示:
選擇數(shù)據庫目錄
本例中數(shù)據庫安裝路徑為 C:\dmdbs,如下圖所示:
輸入數(shù)據庫標識
輸入數(shù)據庫名稱、實例名、端口號等參數(shù),如下圖所示:
數(shù)據庫文件所在位置
此處選擇默認配置即可,如下圖所示:
用戶可通過選擇或輸入確定數(shù)據庫控制、數(shù)據庫日志等文件的所在位置,并可通過右側功能按鈕,對文件進行添加或刪除。
數(shù)據庫初始化參數(shù)
此處選擇默認配置即可,如下圖所示:
用戶可輸入數(shù)據庫相關參數(shù),如簇大小、頁大小、日志文件大小、選擇字符集、是否大小寫敏感等。
常見參數(shù)說明:
EXTENT_SIZE 數(shù)據文件使用的簇大小 (16),可選值: 16、 32、 64,單位:頁 PAGE_SIZE 數(shù)據頁大小 (8),可選值: 4、 8、 16、 32,單位: KB LOG_SIZE 日志文件大小 (256),單位為: MB,范圍為: 64 MB~2 GB CASE_SENSITIVE 大小敏感 (Y),可選值: Y/N, 1/0 CHARSET/UNICODE_FLAG 字符集 (0),可選值: 0[GB18030], 1[UTF-8], 2[EUC-KR]
口令管理
此處選擇默認配置即可,默認口令與登錄名一致,如下圖所示:
用戶可輸入 SYSDBA,SYSAUDITOR 的密碼,對默認口令進行更改,如果安裝版本為安全版,將會增加 SYSSSO 用戶的密碼修改。
選擇創(chuàng)建示例庫
此處建議勾選創(chuàng)建示例庫 BOOKSHOP 或 DMHR,作為測試環(huán)境,如下圖所示:
創(chuàng)建數(shù)據庫摘要
在安裝數(shù)據庫之前,將顯示用戶通過數(shù)據庫配置工具設置的相關參數(shù)。點擊【完成】進行數(shù)據庫實例的初始化工作,如下圖所示:
安裝完成
安裝完成后將彈出數(shù)據庫相關參數(shù)及文件位置。點擊【完成】即可,如下圖所示:
數(shù)據庫啟停
數(shù)據庫安裝路徑下 tool 目錄,雙擊運行 dmservice.exe 程序可以查看到對應服務,選擇【啟動】或【停止】服務。如下圖所示:
當然,也可以通過 cmd 命令行進行啟動:
cd C:\ dmdbms\ bin
dmserver.exe C:\ dmdbms\ data\ DAMENG\ dm.ini
🎯 寫在最后
達夢8 數(shù)據庫安裝總體來說,還算簡單。但是有一說一,官方文檔確實比較簡單,不夠細致,有待改進!