(從虛擬機配置講起,有基礎的可以直接看二,謝謝)
一、虛擬機的安裝和配置
軟件:virtualbox
系統:centos7
工具:Xshell
官網下載centos7,使用virtualbox安裝centos7
使用命令ip addr 查看網絡,發現centos7默認是不開啟網絡的,接下來手動配置:
cd /etc/sysconfig/network-scripts/ #進入網絡配置目錄
ls #查看文件
找到並編輯文件ifcfg-enp0s;

將onboot的no改為yes

重啟網絡:service network restart

網絡配置完成,但是新裝centos7一般是沒有配置yum源的(如有配置請略過此步),接下來手動配置yum系統源:
找到光盤位置dev下的sr0就是iso文件
新建目錄用來掛載系統盤:mkdir /yum
掛載光盤到yum: mount /dev/sr0 /yum(因為臨時掛載,所以每一次安裝包都要重新掛載)umount是卸載命令
進入目錄:cd /etc/yum.repos.d
查看文件發現只有一個系統redhat.repo文件,創建一個自己的:
vi yum.repo
[yum] #名稱隨便寫
name=yum-os #另一個名字隨便寫
baseurl=file:///yum #光盤的掛載目錄
enabled=1 #本倉庫是否開啟 1開啟 0關閉
gpfcheck=0 #檢查源是否合規,因為是系統源,所以不用檢查了
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #這個鑰匙可用可不用
Xshell配置:
yum install lrzsz -y #配置lrzsz包--經過上面的配置 lrzsz 已經可以正常安裝了;

配置Xshell的連接:

很明顯這兩個IP是不對的,經過ping測試發現這兩個IP也不通,后來發現是虛擬機網卡配置問題,改成橋接形式即可

至此前期配置結束;
二、DM8安裝
創建用戶和安裝組:

groupadd dinstall --創建安裝組
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
-g 指定安裝組
-d 指定用戶目錄 -m 目錄不存在自動創建(之前我創建過,不過不影響)
-s 指定bash為shell的解釋器
===================================================
方法一(不推薦):(修改文件最大打開數)
改一下ulimit參數:(這里用的root用戶,可能對服務器有風險,可以換另一種方法)

方法二(推薦):(修改dmdba用戶的文件最大打開數)
使用 vi 編輯器打開 /etc/security/limits.conf 文件
命令:vi /etc/security/limits.conf
在最后添加四條語句,需添加的語句如下:
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

切換到dmdba用戶查看設置:

再用dmdba用戶設置臨時生效:

====================================================================
使用Xshell把安裝文件上傳到Linux服務器

這里發現必須用root用戶才能上傳成功,dmdba用戶切換目錄還是不行;
記下來切換回dmdba用戶,進行鏡像掛載
mount -o loop /opt/dm8_20200907_x86_rh7_64_ent_8.1.1.126.iso /mnt
尷尬的發現只有root用戶才能掛載,切換回root

創建安裝目錄,並改變目錄屬主,和權限的修改

前期准備結束,接下來進行具體安裝:
1 切換回dmdba用戶
2 執行./DMInstall.bin -i 進行安裝
3 根據提示安裝完成(路徑選/dm8,最好不用默認,因為前面設置了權限,默認的話還要再改一遍)
4 切換至 root 用戶執行上圖中的命令 /dm8/script/root/root_installer.sh 創建 DmAPService,否則會影響數據庫備份


數據庫安裝完成需要配置實例才能正常登錄使用:
需要注意的是頁大小 (page_size)、簇大小 (extent_size)、大小寫敏感 (case_sensitive)、字符集 (charset) 這四個參數,一旦確定無法修改,需謹慎設置
接下來用dminit進行實例的初始化:
./dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237
設置頁大小為 32 KB,簇大小為 32 ,大小寫敏感,字符集為 utf_8,數據庫名為 DMDB,實例名為 DBSERVER,端口為 5237

接下來切換到root用戶,為剛才創建的實例注冊服務:
1 cd /dm8/script/root
2 ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DMDB/dm.ini -p DBSERVER

=======================
在這其中出現了幾個問題:
1 注冊服務后,啟動disql系統報Create SOCKET connection failure錯誤,查看日志發現第一次啟動數據庫需要用前台的方式啟動服務
2 前台啟動,進入 DM 安裝目錄下的 bin 目錄下執行啟動命令
./dmserver /dm/data/DAMENG/dm.ini
服務成功啟動,為了可以執行disql,我沒有退出而是直接關閉窗口,重新開的連接窗口,這樣服務會一直運行
3 運行disql,成功連接上服務器
如果root用戶安裝就沒有注冊服務問題了,並且第一次也不用前台啟動數據庫
===================================================
4 接下來解決注冊服務問題(重點)
#進入安裝目錄下root
cd /dm8/script/root
#注冊服務
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DMDB/dm.ini -p DMSERVER
參數解釋:
-t 注冊服務類型,支持一下服務類型:dmap、 dmamon、 dmserver 、dmwatcher、dmmonitor 、dmasmsvr 、 dmcss 、dmcssm、dmdrs、dmdras、dmdcs、dmdss
-dm_ini 指定服務所需要的 dm.ini 文件路徑。
-p 指定服務名后綴,生成的操作系統服務名為“服務腳本模板名稱+服務名后綴”。前綴為DmService
服務注冊成功,但是並不能啟動,用腳本卸載服務,然后重新注冊了幾遍,發現還是不行;
后台服務的啟動,關閉,重啟都不能用;
后來嘗試手動關閉前台開啟的服務,卸載剛才的注冊服務,重新注冊,發現服務可以正常的后台啟動
服務注冊成功后
啟動數據庫
systemctl start DmServiceDMSERVER.service
停止數據庫
systemctl stop DmServiceDMSERVER.service
重啟數據庫
systemctl restart DmServiceDMSERVER.service
查看數據庫服務狀態
systemctl status DmServiceDMSERVER.service
也可進入 DM 安裝目錄下的 bin 目錄下,啟動/停止/重啟數據庫
./DmServiceDMSERVER start/stop/restart
查看數據庫狀態
./DmServiceDMSERVER status
總結:
怎么起的數據庫一定要怎么關,前台起一定要前台關(exit),不然會報錯
tips:
使用圖形界面配置的數據庫實例,dbca會自動注冊服務,命令行dminit配置的實例,需要自己注冊服務
更多資訊請上達夢技術社區了解: https://eco.dameng.com
