佛山網(wǎng)站建設(shè)兼職今天剛剛發(fā)生的新聞事故
1、環(huán)境描述
2、安裝前準(zhǔn)備
2.1 操作系統(tǒng)信息調(diào)研
Linux平臺需要通過命令查看操作系統(tǒng)版本、位數(shù)、磁盤空間、內(nèi)存等信息。
CPU信息
[root@ray1 ~]# cat /proc/cpuinfo | grep -E "physical id|core id|cpu cores|siblings|cpu MHz|model name|cache size"|tail -n 7
model name : AMD Ryzen 9 7945HX with Radeon Graphics
cpu MHz : 2495.312
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
操作系統(tǒng)位數(shù)
[root@ray1 ~]# getconf LONG_BIT
64
內(nèi)核版本
[root@ray1 ~]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@x86-034.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Feb 18 16:39:12 EST 2020
操作系統(tǒng)版本
[root@ray1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.8 (Maipo)
[root@ray1 ~]#
[root@ray1 ~]# uname -a
Linux ray1 3.10.0-1127.el7.x86_64 #1 SMP Tue Feb 18 16:39:12 EST 2020 x86_64 x86_64 x86_64 GNU/Linux
內(nèi)存信息
[root@ray1 ~]# free -gtotal used free shared buff/cache available
Mem: 3 0 3 0 0 3
Swap: 3 0 3
磁盤信息
[root@ray1 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 13M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 46G 3.9G 42G 9% /
/dev/sda1 xfs 997M 170M 828M 18% /boot
tmpfs tmpfs 394M 0 394M 0% /run/user/0
網(wǎng)卡信息
[root@ray1 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255inet6 fe80::8e68:33f4:c4a:b8bf prefixlen 64 scopeid 0x20<link>ether 00:0c:29:3a:5f:91 txqueuelen 1000 (Ethernet)RX packets 1035 bytes 115699 (112.9 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 594 bytes 98878 (96.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 68 bytes 5448 (5.3 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 68 bytes 5448 (5.3 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:bb:76:33 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500ether 52:54:00:bb:76:33 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.2 下載達(dá)夢數(shù)據(jù)庫安裝介質(zhì)
可通過達(dá)夢官網(wǎng)根據(jù)操作系統(tǒng)類型、版本、CPU等信息下載相應(yīng)版本的數(shù)據(jù)庫安裝介質(zhì)。達(dá)夢官網(wǎng)下載鏈接為:https://eco.dameng.com/download/。
2.3 操作系統(tǒng)配置
2.3.1 配置主機(jī)名
[root@ray1 ~]# hostnamectl set-hostname ray1
[root@ray1 ~]# vi /etc/hosts
添加:
192.168.0.1 ray1
2.3.2 關(guān)閉防火墻
[root@ray1 ~]# systemctl stop firewalld
[root@ray1 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ray1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: inactive (dead) since Wed 2024-08-14 14:35:51 CST; 7s agoDocs: man:firewalld(1)Process: 876 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)Main PID: 876 (code=exited, status=0/SUCCESS)
Aug 14 13:54:33 ray1 systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 14 13:54:34 ray1 systemd[1]: Started firewalld - dynamic firewall daemon.
Aug 14 14:35:51 ray1 systemd[1]: Stopping firewalld - dynamic firewall daemon...
Aug 14 14:35:51 ray1 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@ray1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@ray1 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@ray1 ~]# getenforce
Enforcing
[root@ray1 ~]# setenforce 0
[root@ray1 ~]# getenforce
Permissive
2.3.3 關(guān)閉操作系統(tǒng)Transparent Huge Pages
[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@ray1 ~]# echo "[vm]">>/usr/lib/tuned/throughput-performance/tuned.conf
[root@ray1 ~]# echo "transparent_hugepages=never">>/usr/lib/tuned/throughput-performance/tuned.conf
重啟操作系統(tǒng)后驗(yàn)證:
[root@ray1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
2.3.4 更改磁盤調(diào)度算法
Linux 6 上的默認(rèn)磁盤調(diào)度算法為CFQ(完全公平排隊(duì)I/O調(diào)度算法),該算法的I/O分配是基于進(jìn)程/線程平均分配的,并不適用于數(shù)據(jù)庫這樣希望大部分I/O都應(yīng)用到數(shù)據(jù)庫進(jìn)程的系統(tǒng)。DEADLINE算法(截止時間調(diào)度)確保一個截止時間內(nèi)服務(wù)請求,更適用與數(shù)據(jù)庫系統(tǒng)。但是LINUX 7已經(jīng)將默認(rèn)的磁盤調(diào)度算法更改為DEADLINE。查看磁盤的調(diào)度算法:
[root@ray1 ~]# cat /sys/block/sda/queue/scheduler
noop [deadline] cfq
若調(diào)度算法為cfq,需要更改為deadline,可通過如下命令:
[root@ray1 ~]# echo "deadline" > noop anticipatory deadline [cfq]
2.3.5 關(guān)閉NUMA
NUMA(Non-Uniform Memory Access)架構(gòu)是為了解決多CPU下內(nèi)存訪問沖突,簡單來說不在將整個物理內(nèi)存作為一個整體,而是根據(jù)不同的CPU區(qū)分不同的內(nèi)存塊,如2顆CPU每顆CPU使用64G內(nèi)存。當(dāng)NUMA參數(shù)zone_reclaim_mode在設(shè)置為1時,內(nèi)核將要求多路CPU 盡量從距離較近的系統(tǒng)內(nèi)存節(jié)點(diǎn)(服務(wù)器的整體內(nèi)存在numa架構(gòu)下將被分成若干個節(jié)點(diǎn))分配內(nèi)存而不是在整個服務(wù)器可訪問內(nèi)存的范圍內(nèi)進(jìn)行內(nèi)存分配,因此在較高內(nèi)存占用壓力下內(nèi)存申請會觸發(fā)內(nèi)存頻繁回收整理的機(jī)制嚴(yán)重影響了系統(tǒng)整體性能(長期處于內(nèi)核態(tài)sys很高)。進(jìn)而可能導(dǎo)致SQL卡頓問題的發(fā)生。
查看NUMA是否啟用:
[root@ray1 ~]# dmesg|grep -i numa
[ 0.000000] NUMA: Node 0 [mem 0x00000000-0x0009ffff] + [mem 0x00100000-0x7fffffff] -> [mem 0x00000000-0x7fffffff]
#NUMA:Node 0表示NUMA已啟用
關(guān)閉NUMA:
1、修改grub文件
[root@ray1 ~]# vi /etc/default/grub
2、重建grub文件
[root@ray1 ~]# grub2-mkconfig -o /etc/grub2.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e
Found initrd image: /boot/initramfs-0-rescue-5df2d14ceffd4a389d53b7508bc2bb0e.img
done
3、重啟操作系統(tǒng)后檢查numa狀態(tài)
[root@ray1 ~]# dmesg | grep -i numa
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off
[ 0.000000] NUMA turned off
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quietnuma=off
[root@ray1 ~]# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/rhel-root ro rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet numa=off
2.3.6 創(chuàng)建用戶組和用戶
[root@ray1 ~]# groupadd dinstall -g 2001
[root@ray1 ~]# useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba
[root@ray1 ~]# passwd dmdba
Changing password for user dmdba.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
2.4 配置內(nèi)核參數(shù)
[root@ray1 ~]# vi /etc/security/limits.conf
添加:
dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited
重啟后驗(yàn)證:
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:16:38 CST 2024 on pts/0
[dmdba@ray1 ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 15594
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 65536
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
2.5 創(chuàng)建目錄并賦權(quán)
- 數(shù)據(jù)庫軟件安裝目錄:/dmdba/dmrdbms
- 實(shí)例保存目錄:/dmdba/data
- 歸檔保存目錄:/dmdba/arch
- 備份保存目錄:/dmdba/dmbak
[root@ray1 ~]# mkdir -p /dmdba/dmrdbms
[root@ray1 ~]# mkdir -p /dmdba/data
[root@ray1 ~]# mkdir -p /dmdba/arch
[root@ray1 ~]# mkdir -p /dmdba/dmbak
[root@ray1 ~]# chown -R dmdba:dinstall /dmdba
[root@ray1 ~]# chmod -R 775 /dmdba
2.6 掛載鏡像
將下載好的達(dá)夢數(shù)據(jù)庫安裝介質(zhì)傳輸至服務(wù)器,并解壓.zip文件。
[root@ray1 ~]# cd /soft/
[root@ray1 soft]# ll
total 1060656
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip
[root@ray1 soft]# unzip dm8_20240712_x86_rh7_64.zip
Archive: dm8_20240712_x86_rh7_64.zipinflating: dm8_20240712_x86_rh7_64.README inflating: dm8_20240712_x86_rh7_64.iso inflating: dm8_20240712_x86_rh7_64.iso_SHA256.txt
[root@ray1 soft]# ll
total 2138612
-rw-r--r-- 1 root root 1103818752 Jul 26 17:36 dm8_20240712_x86_rh7_64.iso
-rw-r--r-- 1 root root 100 Jul 26 17:37 dm8_20240712_x86_rh7_64.iso_SHA256.txt
-rw-r--r-- 1 root root 240 Jul 26 17:36 dm8_20240712_x86_rh7_64.README
-rw-r--r-- 1 root root 1086108981 Aug 14 12:52 dm8_20240712_x86_rh7_64.zip
將ISO文件掛載至光驅(qū)
[root@ray1 soft]# mount -o loop dm8_20240712_x86_rh7_64.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[root@ray1 soft]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 12M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mapper/rhel-root xfs 46G 5.9G 40G 14% /
/dev/sda1 xfs 997M 170M 828M 18% /boot
tmpfs tmpfs 394M 0 394M 0% /run/user/0
/dev/loop0 iso9660 1.1G 1.1G 0 100% /mnt
3、 數(shù)據(jù)庫軟件安裝
3.1 圖形界面安裝
[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd /mnt/
[dmdba@ray1 mnt]$ ./DMInstall.bin
Extract install files.........
選擇需要的語言、時區(qū),點(diǎn)擊確定。
點(diǎn)擊下一步。
接受許可協(xié)議,點(diǎn)擊下一步。
選擇key文件路徑,點(diǎn)擊下一步。
選擇【典型安裝】,點(diǎn)擊下一步。
輸入達(dá)夢數(shù)據(jù)庫軟件安裝目錄,點(diǎn)擊下一步。
點(diǎn)擊確定、下一步。
再次確認(rèn)各項(xiàng)配置、所需資源等,確認(rèn)無誤點(diǎn)擊安裝。
等待安裝結(jié)束。
以root用戶運(yùn)行腳本,運(yùn)行完成后點(diǎn)擊確定。
[root@ray1 ~]# /dmdba/dmrdbms/script/root/root_installer.sh
移動 /dmdba/dmrdbms/bin/dm_svc.conf 到/etc目錄
創(chuàng)建DmAPService服務(wù)
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
創(chuàng)建服務(wù)(DmAPService)完成
啟動DmAPService服務(wù)
點(diǎn)擊完成。
3.2 配置環(huán)境變量
切換到 root 用戶進(jìn)入 dmdba 用戶的根目錄下,配置對應(yīng)的環(huán)境變量。DM_HOME 變量和動態(tài)鏈接庫文件的加載路徑在程序安裝成功后會自動導(dǎo)入。
[root@ray1 ~]# vi /home/dmdba/.bash_profile
添加:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmdba/dmrdbms/bin"
export DM_HOME="/dmdba/dmrdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:35:08 CST 2024 on pts/0
[dmdba@ray1 ~]$ source .bash_profile
3.3 圖形界面初始化數(shù)據(jù)庫實(shí)例
[root@ray1 ~]# su - dmdba
Last login: Wed Aug 14 15:48:02 CST 2024 on pts/1
[dmdba@ray1 ~]$ export DISPLAY=192.168.0.201:0.0
[dmdba@ray1 ~]$ cd $DM_HOME/tool
[dmdba@ray1 tool]$ ./dbca.sh
選擇創(chuàng)建數(shù)據(jù)庫實(shí)例,點(diǎn)擊開始。
選擇一般用途、自動調(diào)整數(shù)據(jù)庫性能參數(shù)、高性能,點(diǎn)擊下一步。
選擇數(shù)據(jù)庫事先規(guī)劃的數(shù)據(jù)庫實(shí)例目錄,點(diǎn)擊下一步。
按需填入數(shù)據(jù)庫名、實(shí)例名、端口號、是否需要路徑拼接數(shù)據(jù)庫名。點(diǎn)擊下一步。
按需輸入數(shù)據(jù)庫各類文件路徑、名稱等,點(diǎn)擊下一步。
按需設(shè)置簇大小、頁大小、日志文件大小、字符集、大小寫敏感等相關(guān)參數(shù),點(diǎn)擊下一步。
配置數(shù)據(jù)庫口令,點(diǎn)擊下一步。
是否要創(chuàng)建示例數(shù)據(jù)庫,點(diǎn)擊下一步。
再次確認(rèn)數(shù)據(jù)庫各項(xiàng)信息,點(diǎn)擊完成。
等待數(shù)據(jù)庫創(chuàng)建完成。
以root用戶執(zhí)行腳本,運(yùn)行完成后點(diǎn)擊確定。
[root@ray1 ~]# mv /dmdba/dmrdbms/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
[root@ray1 ~]# systemctl enable DmServiceDMSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
[root@ray1 ~]# systemctl start DmServiceDMSERVER.service
腳本已經(jīng)執(zhí)行完成,點(diǎn)擊是。
點(diǎn)擊確定。
root用戶執(zhí)行腳本,重啟數(shù)據(jù)庫服務(wù)。
[root@ray1 ~]# systemctl restart DmServiceDMSERVER.service
腳本執(zhí)行完成后點(diǎn)擊是。
數(shù)據(jù)庫創(chuàng)建完成,點(diǎn)擊完成。
3.4 圖形界面注冊數(shù)據(jù)庫實(shí)例服務(wù)
通過dbca圖形界面完成的初始化數(shù)據(jù)庫實(shí)例,數(shù)據(jù)庫實(shí)例服務(wù)會自動注冊,無需單獨(dú)執(zhí)行注冊數(shù)據(jù)庫實(shí)例服務(wù)步驟。
至此,DM8數(shù)據(jù)庫在RHEL7.8 x86 64bit上安裝完成。
關(guān)于數(shù)據(jù)庫連接、啟停以及其他日常運(yùn)維操作,參考其他篇博客,感謝關(guān)注。