單機部署達夢8+定時備份
單機部署比較簡單,之前沒打算整理出一篇部落格,但是後來發現每個人的習慣不同,部署方式、部署目錄等有些區別,現在參考其他同事的習慣,總結出一個適合自己的部署方式。
1. 環境部署說明
1.1 軟硬體資源
1.1.1常用命令
1.1.1.1檢視是否支援圖形化
rpm -qa | grep -i xorg-x11
沒有任何輸出的話就是不支援圖形化。
1.1.1.2檢視系統發行版本
cat /etc/redhat-release
1.1.1.3查cup
lscpu
1.1.1.4處理器
cat /proc/cpuinfo
只有一個英特爾處理器.
1.1.1.5記憶體大小
free -g
1.1.1.6虛擬機器還是物理機
dmidecode -s system-product-name
或者lshw -class system
或者dmesg | grep -i virtual
如果結果返回包含virtual,則是虛擬機器
1.1.2配置資訊
(1)伺服器配置:
硬體類別 |
硬體名稱 |
配置 |
數量 |
備註 |
資料伺服器 |
虛擬機器 |
CPU:x86_64 OS: CentOS Linux release 7.5.1804 (Core) 核數:1 記憶體:1GB |
1 |
(2)軟體配置資訊如下:
軟體類別 |
作業系統 |
備註 |
達夢資料庫 |
dm8_20210618_x86_rh7_64_ent_8.1.2.18_pack3 |
(3)網路IP規劃
伺服器類別 |
IP1地址 |
IP2地址 |
備註 |
英特爾伺服器1 |
192.168.202.133 |
(4)目錄與儲存規劃
目錄 |
說明 |
容量 |
/home/dmdba/dmdbms |
軟體程式安裝目錄 |
|
/home/dmdba/dmdbms/bin |
達夢執行程式所在目錄 |
|
/home/dmdba/dmdbms/data/DAMENG |
存放資料庫檔案(資料檔案、REDO日誌檔案、控制檔案等) |
|
/home/dmdba/dmdbms/data/ DAMENG /arch |
存放歸檔日誌 |
|
/home/dmdba/dmdbms/data/DAMENG/bak |
存放資料庫備份 |
1.2 資料庫部署環境
現場共部署1臺達夢資料庫單機。
初始化資訊:./dminit path=/home/dmdba/dmdbms/data case_sensitive=n
1.2.1伺服器部署環境說明
1)配置資訊
資料庫配置詳情
IP地址 |
初始狀態 |
預設使用者名稱/密碼:埠號 |
啟動服務 |
192.168.202.133 |
單機 DMSERVER |
SYSDBA/SYSDBA:5236 |
啟動例項: systemctl start DmServiceDMSERVER 停止例項: systemctl stop DmServiceDMSERVER |
2.安裝達夢資料庫
2.1安裝達夢資料庫管理系統DM8.1
[root@dameng1 home]# groupadd dinstall
[root@dameng1 home]# useradd -g dinstall dmdba
[root@dameng1 home]# vi /etc/security/limits.conf
* hard nonfile 65536
* soft nonfile 65536
[root@dameng1 mnt]# su - dmdba
dmdba口令:略
[dmdba@dameng1 dmdba]$ ./DMInstall.bin -i
[dmdba@dameng1 soft]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:c
解壓安裝程式..........
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7190
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
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) 4096
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可開啟檔案數過少,建議至少設定為65536或更多。
歡迎使用達夢資料庫安裝程式
是否輸入Key檔案路徑? (Y/y:是 N/n:否) [Y/y]:n
是否設定時區? (Y/y:是 N/n:否) [Y/y]:n
安裝型別:
1 典型安裝
2 伺服器
3 客戶端
4 自定義
請選擇安裝型別的數字序號 [1 典型安裝]:
所需空間: 1263M
請選擇安裝目錄 [/home/dmdba/dmdbms]:
可用空間: 6G
是否確認安裝路徑(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安裝前小結
安裝位置: /home/dmdba/dmdbms
所需空間: 1263M
可用空間: 6G
版本資訊:
有效日期:
安裝型別: 典型安裝
是否確認安裝? (Y/y:是 N/n:否):y
2021-08-09 09:29:42
[INFO] 安裝達夢資料庫...
2021-08-09 09:29:42
[INFO] 安裝 基礎 模組...
2021-08-09 09:30:11
[INFO] 安裝 伺服器 模組...
2021-08-09 09:30:17
[INFO] 安裝 客戶端 模組...
2021-08-09 09:30:55
[INFO] 安裝 驅動 模組...
2021-08-09 09:31:14
[INFO] 安裝 手冊 模組...
2021-08-09 09:31:22
[INFO] 安裝 服務 模組...
2021-08-09 09:31:28
[INFO] 移動日誌檔案。
2021-08-09 09:31:28
[INFO] 安裝達夢資料庫完成。
請以root系統使用者執行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安裝結束
[root@dameng1 bin]# cd /home
[root@dameng1 home]# /home/dmdba/dmdbms/script/root/root_installer.sh
移動 /home/dmdba/dmdbms/bin/dm_svc.conf 到/etc目錄
mv: cannot stat ‘/home/dmdba/dmdbms/bin/dm_svc.conf’: No such file or directory
修改伺服器許可權
建立DmAPService服務
建立服務(DmAPService)完成
啟動DmAPService服務
注意:我一開始做個解除安裝操作,在root使用者下注冊DmAPService服務的時候報錯,如下圖:
該錯誤表示 getcwd 命令無法定位到當前工作目錄。一般來說是因為你 cd 到了某個目錄之後 rm 了這個目錄,這時去執行某些 service 指令碼的時候就會報 getcwd 錯誤。只需要 cd 到任何一個實際存在的目錄下在執行命令即可。我的處理方法是cd到home下再執行。
2.2建立資料庫
[dmdba@dameng1 /]$ cd /home/dmdba/dmdbms/bin
[dmdba@dameng1 bin]$ ./dminit path=/home/dmdba/dmdbms/data case_sensitive=n
[dmdba@dameng1 bin]$ ./dminit path=/home/dmdba/dmdbms/data CASE_SENSITIVE=n
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-06-17
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /home/dmdba/dmdbms/data/DAMENG/DAMENG01.log
log file path: /home/dmdba/dmdbms/data/DAMENG/DAMENG02.log
write to dir [/home/dmdba/dmdbms/data/DAMENG].
create dm database success. 2021-08-09 09:39:38
2.3啟動達夢資料庫服務
[dmdba@dameng1 bin]$ ./dmserver /home/dmdba/dmdbms/data/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-18-21.06.17-141777-10013-ENT startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2022-06-17
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
trx: 2024 purged 1 pages
trx: 2025 purged 1 pages
trx: 2026 purged 1 pages
trx: 2036 purged 1 pages
trx: 2156 purged 1 pages
trx: 2169 purged 1 pages
trx: 2170 purged 1 pages
trx: 2171 purged 1 pages
trx: 2172 purged 1 pages
trx: 2173 purged 1 pages
trx: 2175 purged 1 pages
trx: 2176 purged 1 pages
trx: 2178 purged 1 pages
trx: 2180 purged 1 pages
trx: 2186 purged 1 pages
trx: 2192 purged 1 pages
trx: 2202 purged 1 pages
trx: 2215 purged 1 pages
trx: 2216 purged 1 pages
trx: 2217 purged 1 pages
trx: 2218 purged 1 pages
trx: 2230 purged 1 pages
trx: 2232 purged 1 pages
trx: 2233 purged 1 pages
trx: 2234 purged 1 pages
trx: 2247 purged 1 pages
trx: 2250 purged 23 pages
trx: 2277 purged 1 pages
trx: 2278 purged 1 pages
trx: 2279 purged 1 pages
trx: 2280 purged 1 pages
trx: 2286 purged 1 pages
trx: 2288 purged 1 pages
trx: 2290 purged 1 pages
trx: 2295 purged 1 pages
trx: 2300 purged 1 pages
trx: 2305 purged 1 pages
trx: 2307 purged 1 pages
trx: 2310 purged 1 pages
trx: 2312 purged 1 pages
trx: 2318 purged 1 pages
trx: 2319 purged 1 pages
trx: 2468 purged 1 pages
trx: 2494 purged 8 pages
trx: 2516 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY.
2.4 註冊資料庫服務
2.4.1 註冊資料庫例項服務
[root@dameng1 home]# cd /home/dmdba/dmdbms/script/root
[root@dameng1 root]# ls
dm_service_installer.sh dm_service_uninstaller.sh root_installer.sh
[root@dameng1 root]# ./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /home/dmdba/dmdbms/data/DAMENG/dm.ini
建立服務(DmServiceDMSERVER)完成
注意:
1、 必須用root使用者註冊服務
2、 如果不知道註冊服務的命令,可以./dm_service_installer.sh -h檢視幫助。
2.4.2用服務方式啟動資料庫
[dmdba@dameng1 root]$ cd /home/dmdba/dmdbms/bin
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
注意:
1、 啟動服務最好用dmdba使用者
2、 還可以用systemctl start DmServiceDMSERVER在任意目錄啟動資料庫。
2.4.3驗證是否啟動成功
[dmdba@dameng1 bin]$ ./disql
disql V8
使用者名稱:
密碼:
伺服器[LOCALHOST:5236]:處於普通開啟狀態
登入使用時間 : 24.605(ms)
SQL> exit;
注意:
1、 安裝的時候沒有修改使用者名稱密碼,則預設直接回車即可,預設(SYSDBA/ SYSDBA)
2、 用服務的方式驗證
2.5定時備份
2.5.1開啟歸檔
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = home/dmdba/dmdbms/data/DAMENG/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
select arch_mode from v$database;--檢視是否開啟歸檔
2.5.2全庫備份
backup database full to "DB_DAMENG_FULL_2021_08_09_10_21_15" backupset '/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_2021_08_09_10_21_15';
注意,我執行全庫備份時報如下錯誤:
解決方式:
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@dameng1 bin]$ ./dmrman
dmrman V8
RMAN> repair archivelog database '/home/dmdba/dmdbms/data/DAMENG/dm.ini';
repair archivelog database '/home/dmdba/dmdbms/data/DAMENG/dm.ini';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[29463], file_lsn[29463]
repair archive log successfully.
repair time used: 212.885(ms)
time used: 225.800(ms)
RMAN> exit
time used: 0.505(ms)
[dmdba@dameng1 bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
修復歸檔後再備份就成功了。
2.5.3建立代理環境
SP_INIT_JOB_SYS(1);
注意:
1、 如果不建立代理環境,會報如下錯誤
2、 關閉代理環境
SP_INIT_JOB_SYS(10);
2.5.3定時增量備份
每週一到週六23點執行增量備份。
call SP_CREATE_JOB('增量備份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('增量備份');
call SP_ADD_JOB_STEP('增量備份', 'Step1', 6, '11000000/home/dmdba/dmdbms/data/DAMENG/bak|/home/dmdba/dmdbms/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('增量備份', 'Step2', 1, 2, 1, 126, 0, '23:00:00', NULL, '2021-08-09 11:00:16', NULL, '');
call SP_JOB_CONFIG_COMMIT('增量備份');
2.5.3定時全庫備份
每週日22點進行全庫備份
call SP_CREATE_JOB('全庫備份',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('全庫備份');
call SP_ADD_JOB_STEP('全庫備份', 'Step1', 6, '01000000/home/dmdba/dmdbms/data/DAMENG/bak', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('全庫備份', 'Step2', 1, 2, 1, 1, 0, '22:00:00', NULL, '2021-08-09 11:02:31', NULL, '');
call SP_JOB_CONFIG_COMMIT('全庫備份');
2.6修改redo日誌大小
單位是M
ALTER DATABASE RESIZE LOGFILE '/home/dmdba/dmdbms/data/DAMENG/DAMENG01.log' to 2048;
ALTER DATABASE RESIZE LOGFILE '/home/dmdba/dmdbms/data/DAMENG/DAMENG02.log' to 2048;
3.配置服務名
編輯dm_svc.conf,新增如下內容:
# 全域性配置區
NORMAL=(127.0.0.1:5236)
TIME_ZONE=(+480) #表示+8:00 時區
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服務配置區
# 常規環境,兩個沒有關係的 IP
[ NORMAL ]
TIME_ZONE=(+540) #表示+9:00 時區
LOGIN_MODE=(4)
SWITCH_TIMES=(3)
SWITCH_INTERVAL=(100)
4.其他
我是在虛擬機器裡建立的達夢資料庫,為了節省空間,未支援圖形化,所以不能在bin下./manager開啟管理工具.但是,我本地安裝了達夢資料庫,可以用我本地的manager連線虛擬機器裡的資料庫例項,如下圖,可以看到我新建的資料庫備份以及作業.
更多資訊請上達夢技術社群瞭解: https://eco.dameng.com