此为曾经达梦数据库升级的过程文档。
为满足用户不断更新的需求,以及因性能、安全、功能等原因,需要对达梦数据库版本进行升级;
本文档阐述从“1-2-18-21.06.17-141777-10013-SEC Pack3”升级至“--05134283890-20220525-161267-10045 Pack7”的操作指引。
本次提供的安装包:
1)CPU:飞腾;
2)操作系统:麒麟10;
安装前需检查操作系统内核版本和CPU架构是否匹配。
本次提供的安装包是aarch64位,需检查操作系统内核版本是否匹配:
[root@jtdmcsvukd07 ~]# uname -a
Linux jtdmcsvukd07.novalocal 4.19.90-25.14.v2101.ky10.aarch64 #1 SMP Fri Apr 15 11:21:31 CST 2022 aarch64 aarch64 aarch64 GNU/Linux
[root@jtdmcsvukd07 ~]# uname -r
4.19.90-25.14.v2101.ky10.aarch64
[root@jtdmcsvukd07 ~]# arch
aarch64
[root@jtdmcsvukd07 ~]# lscpu
Architecture: aarch64
CPU op-mode(s): 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 16
NUMA node(s): 1
Vendor ID: Phytium
Model: 2
Model name: FT-2000+/64
Stepping: 0x1
CPU max MHz: 2400.0000
CPU min MHz: 2400.0000
BogoMIPS: 100.00
L1d cache: 1 MiB
L1i cache: 1 MiB
L2 cache: 8 MiB
L3 cache: 512 MiB
NUMA node0 CPU(s): 0-15
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Not affected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm crc32 cpuid
SQL> select id_code;
行号 id_code
---------- ---------------------------------------
1 1-2-18-21.06.17-141777-10013-SEC Pack3
已用时间: 2.299(毫秒). 执行号:58957900.
SQL>
或
[dmdba@jtdmcsvukd07 ~]$ disql -id
1-2-18-21.06.17-141777-10013-SEC
/dmdata/data/dm/dm.ini
[root@jtdmcsvukd07 ~]# ps -elf|grep dmdba
0 S root 67254 67139 0 80 0 - 116 pipe_w 13:24 pts/0 00:00:00 grep dmdba
0 S dmdba 91449 1 0 80 0 - 1099 hrtime Jun08 ? 00:00:29 /dmdbms/bin/dmap
0 S dmdba 214757 1 99 80 0 - 183095 hrtime Jun14 ? 10-17:24:21 /dmdbms/bin/dmserver /dmdata/data/dm/dm.ini -noconsole
[root@jtdmcsvukd07 ~]#
备份集备份还原实现策略有两种:DMAP 辅助进程方式和无辅助进程方式。用户可通过 DM.INI 参数 bak_use_ap 来选择(DMRMAN 使用参数 use_ap),bak_use_ap 取值 1、2。默认为 1。
启动 DMAP,手动启动 DMAP,有两种途径:
1)是启动 DM 服务查看器中的 DmAPService;
2)手动启动 DMAP 执行码,DMAP 执行码位于 DM 安装目录的 bin 子目录下。除此之外,Linux 下,还可以调用 bin 目录下的 DmAPService 脚本。
检查是否已启动DMAP服务:
[dmdba@jtdmcsvukd07 ~]$ ps -elf|grep dmap
0 S dmdba 71475 67926 0 80 0 - 116 pipe_w 13:37 pts/0 00:00:00 grep dmap
0 S dmdba 91449 1 0 80 0 - 1099 hrtime Jun08 ? 00:00:29 /dmdbms/bin/dmap
如果未启动,启动命令为:
[dmdba@jtdmcsvukd07 bin]$ ls -ltr /dmdbms/bin/DmAPService
-rwxr-xr-x 1 dmdba dmdba 13836 May 26 15:41 /dmdbms/bin/DmAPService
[dmdba@jtdmcsvukd07 bin]$ /dmdbms/bin/DmAPService
Usage: /dmdbms/bin/DmAPService { start | stop | status | condrestart | restart }
[dmdba@jtdmcsvukd07 bin]$ /dmdbms/bin/DmAPService start
执行数据库实例备份前需先开启归档:
[dmdba@jtdmcsvukd07 bin]$ disql SYSDBA/'"***"'
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.353(ms)
上次登录ip : 10.200.204.41
上次登录时间 : 2022-06-20 14:25:21
登录失败次数 : 0
口令是否过期 : 未过期
disql V8
SQL> select * from v$dm_arch_ini;
行号 ARCH_NAME ARCH_TYPE ARCH_DEST ARCH_FILE_SIZE ARCH_SPACE_LIMIT ARCH_HANG_FLAG ARCH_TIMER_NAME ARCH_IS_VALID ARCH_WAIT_APPLY ARCH_INCOMING_PATH ARCH_CURR_DEST ARCH_FLUSH_BUF_SIZE ARCH_RESERVE_TIME ARCH_LOCAL_SHARE ARCH_LOCAL_SHARE_CHECK
---------- -------------- --------- ------------ -------------- ---------------- -------------- --------------- ------------- --------------- ------------------ -------------- ------------------- ----------------- ---------------- ----------------------
ARCH_SEND_DELAY
---------------
1 ARCHIVE_LOCAL1 LOCAL /dmdata/arch 1024 20480 1 NULL Y NULL NULL /dmdata/arch 0 0 0 0
0
已用时间: 1.853(毫秒). 执行号:6900.
SQL> select * from v$arch_status;
行号 ARCH_TYPE ARCH_DEST ARCH_STATUS ARCH_SRC
---------- --------- ------------ ----------- --------
1 LOCAL /dmdata/arch VALID DM
已用时间: 5.172(毫秒). 执行号:6901.
SQL>
v$dm_arch_ini视图有查询记录,或v$arch_status视图的状态是VALID都代表数据库已开启归档模式。
root用户下载新版本的安装包:
[root@jtdmcsvukd07 tmp]# curl -O http://10.0.89.129:8090/dba/dm/dm8_20220526_FTarm_kylin10_sp1_64.iso
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 979M 100 979M 0 0 102M 0 0:00:09 0:00:09 --:--:-- 104M
[root@jtdmcsvukd07 tmp]# ls -ltr
total 1002988
-rw------- 1 root root 1027057664 Jun 20 11:18 dm8_20220526_FTarm_kylin10_sp1_64.iso
[root@jtdmcsvukd07 tmp]#
root用户挂载 iso 安装包文件到 /mnt 目录下:
[root@jtdmcsvukd07 tmp]# mount -o loop /tmp/dm8_20220526_FTarm_kylin10_sp1_64.iso /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
[root@jtdmcsvukd07 tmp]# ls -ltr /mnt
total 1002924
-r-xr-xr-x 1 root root 2802237 May 26 15:41 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 1024191151 May 26 15:49 DMInstall.bin
[root@jtdmcsvukd07 tmp]#
[dmdba@jtdmcsvukd07 bin]$ ls -ltr $DM_HOME/bin/DmService*
-rwx------ 1 dmdba dinstall 16117 Jun 8 16:51 DmServicedm
[dmdba@jtdmcsvukd07 bin]$ $DM_HOME/bin/DmServicedm status
DmServicedm (pid 214757) is running.
[dmdba@jtdmcsvukd07 bin]$ ps -elf|grep dms
0 S dmdba 73286 67926 0 80 0 - 116 pipe_w 13:42 pts/0 00:00:00 grep dms
0 S dmdba 214757 1 99 80 0 - 183095 hrtime Jun14 ? 10-17:24:22 /dmdbms/bin/dmserver /dmdata/data/dm/dm.ini -noconsole
[dmdba@jtdmcsvukd07 bin]$ $DM_HOME/bin/DmServicedm stop
Stopping DmServicedm: [ OK ]
[dmdba@jtdmcsvukd07 bin]$ DmServicedm status
DmServicedm is stopped
[dmdba@jtdmcsvukd07 bin]$ ps -elf|grep dms
0 S dmdba 73896 67926 0 80 0 - 116 pipe_w 13:44 pts/0 00:00:00 grep dms
[dmdba@jtdmcsvukd07 bin]$
创建备份文件夹:
[root@jtdmcsvukd07 ~]# mkdir -p /dm/backup
[root@jtdmcsvukd07 ~]# chown -R dmdba:dinstall /dm
[root@jtdmcsvukd07 ~]# ls -ltr /dm
total 0
drwx------ 2 dmdba dinstall 6 Jun 20 13:46 backup
[root@jtdmcsvukd07 ~]#
执行脱机备份:
[root@jtdmcsvukd07 ~]# su - dmdba
Last login: Mon Jun 20 13:26:59 CST 2022 on pts/0
[dmdba@jtdmcsvukd07 ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdata/data/dm/dm.ini' backupset '/dm/backup';
backup database '/dmdata/data/dm/dm.ini' backupset '/dm/backup';
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[8234054493], file_lsn[8234054493]
Processing backupset /dm/backup
[Percent:7.03%][Speed:256.00M/s][Cost:00:06:44][Remaining:01:20:57]
RMAN>
Percent为100%代表备份结束。
打包数据库安装目录下旧版本的bin目录:
[dmdba@jtdmcsvukd07 dmdbms]$ ls
bin bin2 desktop doc drivers include jar jdk license_en.txt license_zh.txt log samples script tool uninstall uninstall.sh web
[dmdba@jtdmcsvukd07 dmdbms]$ tar -zcvf bin_1-2-18-21.06.17-141777-10013-SEC.tar.gz bin
bin/
bin/dm.key
bin/SYSWORD.UTF8.LIB
bin/client_ssl/
bin/client_ssl/DEVELOP/
…
[dmdba@jtdmcsvukd07 dmdbms]$ ls -ltr bin_*
-rw------- 1 dmdba dmdba 103536248 Jun 20 15:02 bin_1-2-18-21.06.17-141777-10013-SEC.tar.gz
[dmdba@jtdmcsvukd07 dmdbms]$
备份数据库安装目录下旧版本的bin目录:
[dmdba@jtdmcsvukd07 dmdbms]$ mv bin/ ./bin_1-2-18-21.06.17
[dmdba@jtdmcsvukd07 dmdbms]$ ls -ltr
total 101148
drwxr-xr-x 6 dmdba dmdba 106 Jun 8 16:39 jdk
drwxr-xr-x 3 dmdba dmdba 19 Jun 8 16:39 desktop
drwxr-xr-x 3 dmdba dmdba 37 Jun 8 16:39 script
-rwxr-xr-x 1 dmdba dmdba 1146 Jun 8 16:39 license_zh.txt
-rwxr-xr-x 1 dmdba dmdba 1071 Jun 8 16:39 license_en.txt
drwxr-xr-x 2 dmdba dmdba 4096 Jun 8 16:39 include
drwxr-xr-x 5 dmdba dmdba 74 Jun 8 16:39 samples
drwxr-xr-x 2 dmdba dmdba 94 Jun 8 16:39 jar
drwxr-xr-x 2 dmdba dmdba 30 Jun 8 16:39 bin2
drwxr-xr-x 9 dmdba dmdba 4096 Jun 8 16:39 tool
drwxr-xr-x 2 dmdba dmdba 92 Jun 8 16:39 web
drwxr-xr-x 12 dmdba dmdba 131 Jun 8 16:39 drivers
drwxr-xr-x 2 dmdba dmdba 4096 Jun 8 16:39 doc
-rwxr-xr-x 1 dmdba dmdba 2146 Jun 8 16:39 uninstall.sh
drwxr-xr-x 3 dmdba dmdba 97 Jun 8 16:39 uninstall
drwxr-xr-x 8 dmdba dmdba 8192 Jun 8 16:51 bin_1-2-18-21.06.17
drwxr-xr-x 2 dmdba dmdba 308 Jun 20 14:57 log
-rw------- 1 dmdba dmdba 103536248 Jun 20 15:02 bin_1-2-18-21.06.17-141777-10013-SEC.tar.gz
[dmdba@jtdmcsvukd07 dmdbms]$
切换到 dmdba 用户:
[root@jtdmcsvukd07 ~]# su - dmdba
Last login: Sun Jun 19 10:05:13 CST 2022 on pts/0
[dmdba@jtdmcsvukd07 ~]$
执行以下命令,切换到 /mnt 目录下查看文件:
[dmdba@jtdmcsvukd07 ~]$ cd /mnt
[dmdba@jtdmcsvukd07 mnt]$ ll
total 1002924
-r-xr-xr-x 1 root root 2802237 May 26 15:41 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 1024191151 May 26 15:49 DMInstall.bin
[dmdba@jtdmcsvukd07 mnt]$
执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装:
[dmdba@jtdmcsvukd07 mnt]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:E
Extract install files.........
Welcome to DM DBMS Installer
Whether to input the path of Key File? (Y/y:Yes N/n:No) [Y/y]:^C
[dmdba@jtdmcsvukd07 mnt]$ ls -ltr
total 1002924
-r-xr-xr-x 1 root root 2802237 May 26 15:41 'DM8 Install.pdf'
-r-xr-xr-x 1 root root 1024191151 May 26 15:49 DMInstall.bin
[dmdba@jtdmcsvukd07 mnt]$ ls -ltr /tmp
total 1002992
-rw------- 1 root root 1027057664 Jun 20 11:18 dm8_20220526_FTarm_kylin10_sp1_64.iso
drwxr-xr-x 4 dmdba dmdba 35 Jun 20 15:06 DMInstall
-rw-rw-rw- 1 dmdba dmdba 1 Jun 20 15:06 dm_build.properties
[dmdba@jtdmcsvukd07 mnt]$
直接Ctrl+C退出,然后在/tmp下去找/tmp/DMInstall/source下的bin:
[dmdba@jtdmcsvukd07 mnt]$ cd /tmp/DMInstall/source/
[dmdba@jtdmcsvukd07 source]$ ls -ltr
total 40
-rwxr-xr-x 1 dmdba dmdba 45 May 26 15:41 dm_svc.conf
drwxr-xr-x 3 dmdba dmdba 19 May 26 15:41 desktop
drwxr-xr-x 2 dmdba dmdba 30 May 26 15:41 bin2
drwxr-xr-x 6 dmdba dmdba 92 May 26 15:41 samples
-rwxr-xr-x 1 dmdba dmdba 1146 May 26 15:41 license_zh.txt
-rwxr-xr-x 1 dmdba dmdba 1071 May 26 15:41 license_en.txt
drwxr-xr-x 6 dmdba dmdba 106 May 26 15:41 jdk
drwxr-xr-x 2 dmdba dmdba 94 May 26 15:41 jar
drwxr-xr-x 2 dmdba dmdba 4096 May 26 15:41 doc
drwxr-xr-x 3 dmdba dmdba 37 May 26 15:42 script
drwxr-xr-x 3 dmdba dmdba 88 May 26 15:42 web
-rwxr-xr-x 1 dmdba dmdba 2146 May 26 15:42 uninstall.sh
drwxr-xr-x 9 dmdba dmdba 4096 May 26 15:42 tool
drwxr-xr-x 2 dmdba dmdba 6 May 26 15:42 log
drwxr-xr-x 12 dmdba dmdba 131 May 26 15:43 drivers
drwxr-xr-x 2 dmdba dmdba 4096 May 26 15:43 include
drwxr-xr-x 10 dmdba dmdba 8192 Jun 20 15:06 bin
drwxr-xr-x 3 dmdba dmdba 79 Jun 20 15:06 uninstall
[dmdba@jtdmcsvukd07 source]$
将其替换到旧版本bin的位置:
[dmdba@jtdmcsvukd07 source]$ cp -a -p bin /dmdbms
[dmdba@jtdmcsvukd07 source]$ ls -ltr /dmdbms/
total 101160
drwxr-xr-x 6 dmdba dmdba 106 Jun 8 16:39 jdk
drwxr-xr-x 3 dmdba dmdba 19 Jun 8 16:39 desktop
drwxr-xr-x 3 dmdba dmdba 37 Jun 8 16:39 script
-rwxr-xr-x 1 dmdba dmdba 1146 Jun 8 16:39 license_zh.txt
-rwxr-xr-x 1 dmdba dmdba 1071 Jun 8 16:39 license_en.txt
drwxr-xr-x 2 dmdba dmdba 4096 Jun 8 16:39 include
drwxr-xr-x 5 dmdba dmdba 74 Jun 8 16:39 samples
drwxr-xr-x 2 dmdba dmdba 94 Jun 8 16:39 jar
drwxr-xr-x 2 dmdba dmdba 30 Jun 8 16:39 bin2
drwxr-xr-x 9 dmdba dmdba 4096 Jun 8 16:39 tool
drwxr-xr-x 2 dmdba dmdba 92 Jun 8 16:39 web
drwxr-xr-x 12 dmdba dmdba 131 Jun 8 16:39 drivers
drwxr-xr-x 2 dmdba dmdba 4096 Jun 8 16:39 doc
-rwxr-xr-x 1 dmdba dmdba 2146 Jun 8 16:39 uninstall.sh
drwxr-xr-x 3 dmdba dmdba 97 Jun 8 16:39 uninstall
drwxr-xr-x 8 dmdba dmdba 8192 Jun 8 16:51 bin_1-2-18-21.06.17
drwxr-xr-x 2 dmdba dmdba 308 Jun 20 14:57 log
-rw------- 1 dmdba dmdba 103536248 Jun 20 15:02 bin_1-2-18-21.06.17-141777-10013-SEC.tar.gz
drwxr-xr-x 10 dmdba dmdba 8192 Jun 20 15:06 bin
[dmdba@jtdmcsvukd07 source]$
从旧版本bin目录下中拷贝启动脚本至新版本的bin目录:
[dmdba@jtdmcsvukd07 source]$ cd /dmdbms/
[dmdba@jtdmcsvukd07 dmdbms]$ cd bin_1-2-18-21.06.17
[dmdba@jtdmcsvukd07 bin_1-2-18-21.06.17]$ cp DmServicedm ../bin
[dmdba@jtdmcsvukd07 bin_1-2-18-21.06.17]$ ls -ltr /dmdbms/bin
[dmdba@jtdmcsvukd07 bin_1-2-18-21.06.17]$ ls -ltr /dmdbms/bin/DmServicedm
-rwx------ 1 dmdba dmdba 16117 Jun 20 15:15 /dmdbms/bin/DmServicedm
[dmdba@jtdmcsvukd07 bin_1-2-18-21.06.17]$
2.6 启动新版本数据库
启动数据库:
[dmdba@jtdmcsvukd07 bin]$ /dmdbms/bin/DmServicedm start
Starting DmServicedm: [ OK ]
[dmdba@jtdmcsvukd07 bin]$
查看数据库版本:
[dmdba@jtdmcsvukd07 bin]$ disql SYSDBA/'"***"'
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6.227(ms)
disql V8
SQL> select id_code;
行号 id_code
---------- -----------------------------------------
1 --05134283890-20220525-161267-10045 Pack7
已用时间: 1.976(毫秒). 执行号:11000.
SQL>
使用备份的旧版本数据库的bin目录替换新的bin目录:
使用脱机备份文件还原数据库:
启动数据库服务:
登录验证数据库版本:
文章
阅读量
获赞