文章目录

  • 前言
  • 一、redo是什么?
  • 二、redo日志被删除了怎么办
    • 1.模拟故障,删除redo日志
    • 2.重启数据库,查看当前状态
    • 3.修改PSEG_RECV参数
    • 4.查看原库创建时候的参数
    • 5.初始化新实例
    • 6.启动新创建实例数据库
    • 7.将新初始化实例拷贝到原库下
    • 8.利用dmmdf 修改redo日志的db_magic的值
    • 8.启动数据库
    • 9.查看服务运行状态
  • 三、redo日志损坏了怎么办
    • 1.新建实例
    • 2.启动新的实例,拷贝日志到原库
    • 3.修改日志的db_magic跟pemnt_magic值
    • 4.重启数据库,确认状态
    • 5.开启归档
    • 6.脱机备份
    • 7.基于备份集还原
    • 7.基于归档还原
    • 8.更新db_magic值
    • 9.重启新实例,查看状态
  • 总结

前言

理想情况下,数据库系统不会用到重做日志文件中的信息。然而现实世界总是充满了各种意外,比如电源故障、系统故障、介质故障,或者数据库实例进程被强制终止等,数据库缓冲区中的数据页会来不及写入数据文件。由于系统故障或者人为原因,使得redo日志损坏,无法正常工作,从而导致数据库无法正常得启动运行,下面就redo得删除跟损坏来操作下如何进行恢复。


一、redo是什么?

redo日志即重做日志,重做日志是在DM数据库中添加、删除、修改对象,或者改变数据,DM都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。重做日志文件以log为扩展名。每个DM数据库实例必须至少有2个重做日志文件,默认两个日志文件为DAMENG01.log、DAMENG02.log,这两个文件循环使用。重做日志文件因为是数据库正在使用的日志文件,因此被称为联机日志文件。重做日志文件主要用于数据库的备份与恢复。

二、redo日志被删除了怎么办

1.模拟故障,删除redo日志

代码如下(示例):

[dmdba@czk DAMENG]$ rm -rf DAMENG01.log
[dmdba@czk DAMENG]$ rm -rf DAMENG02.log
[dmdba@czk DAMENG]$ ll
总用量 823388
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:31 bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:51 BOOK1S.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:35 BOOKS.DBF
drwxr-xr-x. 2 dmdba dmgroup      4096 4月   5 13:51 ctl_bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 12:04 czk
-rw-r--r--. 1 dmdba dmgroup      8192 4月   5 13:51 dm.ctl
-rw-r--r--. 1 dmdba dmgroup     51795 4月   2 09:35 dm.ini
-rw-r--r--. 1 dmdba dmgroup       987 3月  29 12:31 dminit20220329123144.log
-rw-r--r--. 1 dmdba dmgroup       633 3月  29 12:31 dm_service.prikey
drwxr-xr-x. 3 dmdba dmgroup        26 3月  29 15:11 HMAIN
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 14:04 MAIN.DBF
-rw-r--r--. 1 dmdba dmgroup        12 3月  29 12:32 rep_conflict.log
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   6 13:15 ROLL.DBF
-rw-r--r--. 1 dmdba dmgroup       481 3月  29 12:31 sqllog.ini
-rw-r--r--. 1 dmdba dmgroup  27262976 4月   6 19:50 SYSTEM.DBF
-rw-r--r--. 1 dmdba dmgroup  10485760 4月   5 13:50 TEMP.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 14:05 test1.DBF
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:32 trace

2.重启数据库,查看当前状态

发现数据库启动失败了,显示我的redo文件不存在导致无法启动
代码如下(示例):

[dmdba@czk DAMENG]$ cd /opt/dmdbms/log/
[dmdba@czk log]$ ll
总用量 1836
-rw-r--r--. 1 dmdba dmgroup      0 4月   5 13:50 DmAPService.log
-rw-r--r--. 1 dmdba dmgroup    162 3月  29 12:17 dm_dmap_202203.log
-rw-r--r--. 1 dmdba dmgroup    162 4月   5 13:50 dm_dmap_202204.log
-rw-r--r--. 1 dmdba dmgroup 166095 3月  31 20:40 dm_DMSERVER_202203.log
-rw-r--r--. 1 dmdba dmgroup 769785 4月   6 20:52 dm_DMSERVER_202204.log
-rw-r--r--. 1 dmdba dmgroup    363 4月   6 20:52 DmServiceczk.log
-rw-r--r--. 1 dmdba dmgroup   7335 4月   1 17:40 dmsql_DMSERVER_20220401_172004.log
-rw-r--r--. 1 dmdba dmgroup 390244 4月   2 23:54 dmsql_DMSERVER_20220402_093521.log
-rw-r--r--. 1 dmdba dmgroup  42078 4月   6 20:43 dmsql_DMSERVER_20220406_095213.log
-rw-r--r--. 1 dmdba dmgroup   3753 4月   6 20:52 dmsvc_sh.log
-rw-r--r--. 1 dmdba dmgroup   2224 3月  29 13:07 dm_unknown_202203.log
-rw-r--r--. 1 dmdba dmgroup   2662 4月   6 20:52 dm_unknown_202204.log
-rw-r--r--. 1 dmdba dmgroup 315876 3月  29 12:17 install_ant.log
-rwxr-xr-x. 1 dmdba dmgroup    664 3月  29 12:17 install.log
[dmdba@czk log]$ cat DmServiceczk.log
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-ENT  startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
/opt/dmdbms/data/DAMENG/DAMENG01.log not exist, can not startup

3.修改PSEG_RECV参数

关于PSEG_RECV参数:
该参数是系统级的动态参数,默认为1。系统故障重启时,对活动事务和已提交事务的处理方式。
0:跳过回滚活动事务和PURGE已经提交事务的步骤。在回滚表空间出现异常、损坏、系统无法正常启动时,可将PSEG_RECV设置为0,让系统启动;但存在一定风险,未提交事务的修改将无法回滚,破坏事务的原子性;另外,已提交未PURGE的事务,将导致部分存储空间无法回收;
1:回滚活动事务并PURGE已经提交事务;
2:延迟PURGE已提交事务,延迟回滚活动事务;
3:回滚活动事务,延迟PURGE已提交事务。

这里我们修改dm.ini中PSEG_RECV的参数为0,默认为3

[dmdba@czk DAMENG]$ cat /opt/dmdbms/data/DAMENG/dm.ini | grep PSEGPSEG_RECV                       = 0                     #Whether to rollback active transactions and purge committed transactions when system restarts after failure

4.查看原库创建时候的参数

找到dminit+日期.log这份日志,该日志可以查看创建实例时候所附加的参数

[dmdba@czk log]$ cd /opt/dmdbms/data/DAMENG/
[dmdba@czk DAMENG]$ ll
总用量 823388
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:31 bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:51 BOOK1S.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:35 BOOKS.DBF
drwxr-xr-x. 2 dmdba dmgroup      4096 4月   5 13:51 ctl_bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 12:04 czk
-rw-r--r--. 1 dmdba dmgroup      8192 4月   5 13:51 dm.ctl
-rw-r--r--. 1 dmdba dmgroup     51795 4月   6 21:01 dm.ini
-rw-r--r--. 1 dmdba dmgroup       987 3月  29 12:31 dminit20220329123144.log
-rw-r--r--. 1 dmdba dmgroup       633 3月  29 12:31 dm_service.prikey
drwxr-xr-x. 3 dmdba dmgroup        26 3月  29 15:11 HMAIN
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 14:04 MAIN.DBF
-rw-r--r--. 1 dmdba dmgroup        12 3月  29 12:32 rep_conflict.log
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   6 20:48 ROLL.DBF
-rw-r--r--. 1 dmdba dmgroup       481 3月  29 12:31 sqllog.ini
-rw-r--r--. 1 dmdba dmgroup  27262976 4月   6 19:50 SYSTEM.DBF
-rw-r--r--. 1 dmdba dmgroup  10485760 4月   5 13:50 TEMP.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 14:05 test1.DBF
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:32 trace[dmdba@czk DAMENG]$ cat dminit20220329123144.log
start init database: V8, 2022-03-29 12:31:44
init params:db path: /opt/dmdbms/data/DAMENGdb name: DAMENGauto overwrite: 0page size: 8192extent size: 16time zone: +08:00string case sensitive: 1charset: 0length in char: 0page check mode: 0priv flag: 0rlog enc flag: 0use new hash: 1blank pad mode: 0sec priv mode: 0huge with delta: 1rlog gen for huge: 0pseg_mgr_flag: 0char_fix_storage: 0sql_log_forbid: 0secur_flag: 2

5.初始化新实例

找一台另外的服务器,重新创建新的实例,创建的时候需要将原库中的参数都加上

-sh-4.2$ ./dminit path=/opt/dmdbms/data page_size=8 time_zone=+8:00 case_sensitive=1 use_new_hash=1 huge_with_delta=1
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-07-09
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /opt/dmdbms/data/DAMENG/DAMENG01.loglog file path: /opt/dmdbms/data/DAMENG/DAMENG02.logwrite to dir [/opt/dmdbms/data/DAMENG].
create dm database success. 2022-04-06 21:19:26

6.启动新创建实例数据库

-sh-4.2$ ./dmserver /opt/dmdbms/data/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
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: 2261 purged 23 pages
trx: 2288 purged 1 pages
trx: 2289 purged 1 pages
trx: 2290 purged 1 pages
trx: 2291 purged 1 pages
trx: 2297 purged 1 pages
trx: 2299 purged 1 pages
trx: 2301 purged 1 pages
trx: 2306 purged 1 pages
trx: 2311 purged 1 pages
trx: 2316 purged 1 pages
trx: 2318 purged 1 pages
trx: 2321 purged 1 pages
trx: 2323 purged 1 pages
trx: 2329 purged 1 pages
trx: 2330 purged 1 pages
trx: 2479 purged 1 pages
trx: 2491 purged 1 pages
trx: 2496 purged 1 pages
trx: 2501 purged 1 pages
trx: 2520 purged 8 pages
trx: 2545 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.

7.将新初始化实例拷贝到原库下

成功启动新实例后,在进行正常关闭,将重做日志文件进行拷贝,拷贝到原库下

-sh-4.2$ scp DAMENG0* root@192.168.0.126:/opt/dmdbms/data/DAMENG/
The authenticity of host '192.168.0.126 (192.168.0.126)' can't be established.
ECDSA key fingerprint is SHA256:q4+Sgasi8S/5TpSUAAjBbTtVgHfR++/7tY9wNmMFNLw.
ECDSA key fingerprint is MD5:a3:7c:ed:a5:01:9d:1e:b5:c5:c0:86:7e:cf:64:0b:b6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.126' (ECDSA) to the list of known hosts.
root@192.168.0.126's password:
Permission denied, please try again.
root@192.168.0.126's password:
DAMENG01.log                                                                                          100%  256MB  94.0MB/s   00:02
DAMENG02.log                                                                                          100%  256MB 102.6MB/s
00:02

8.利用dmmdf 修改redo日志的db_magic的值

利用dmmdf 修改redo日志的db_magic的值
如果不对拷贝过来的重做日志进行db_magic的修改,直接启动数据库依旧是报错

[dmdba@czk log]$ cat DmServiceczk.log
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG01.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG02.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/dameng3.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG01.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG02.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/dameng3.log, code: 13
rfil grp log file error in (db_magic, permanent_magic), log file /opt/dmdbms/data/DAMENG/DAMENG01.log is (1256386612, 202090466), dbfile is(863453773, 89739888).

dmmdf 工具查看数据文件的相关信息,详细用法可以通过help来查看

[root@czk bin]# ./dmmdf help
格式: ./dmmdf KEYWORD=value例程: ./dmmdf TYPE=1 FILE=/opt/data/DAMENG/SYSTEM.DBF关键字              说明
--------------------------------------------------------------------------------
TYPE                类型1表示dbf2表示rlog3表示original bak4表示bakset meta5表示bakset bkp6表示bakset7表示数据库降级:SCOPE=1,表示仅支持0x0007000A降级到0x00070009,FILE指定为dm.ctl路径SCOPE=2,表示仅支持0x0007000B降级到0x0007000A,FILE指定为dm.ini路径SCOPE=3,表示仅支持单节点由0x0007000C降级到0x0007000B,FILE指定为dm.ini路径8表示联机日志降级(仅支持0x7006降级到0x7005)9表示特定版本的数据库升级(仅支持执行码版本号在[V8.1.1.88(V7.1.7.88), V8.1.1.100(V7.1.7.100)]范围内的数据库升级)
FILE                文件路径
DCR_INI             dmdcr.ini路径
DFS_INI             dmdfs.ini路径
SCOPE               TYPE=7时使用,指定具体的降级范围
HELP                打印帮助信息--------------------------------------------------
示例:    ./dmmdf TYPE=1 FILE=/opt/data/DAMENG/SYSTEM.dbf./dmmdf TYPE=2 FILE=/opt/data/DAMENG/DAMENG01.log./dmmdf TYPE=3 FILE=/opt/data/DAMENG/bak/dmdb.bak./dmmdf TYPE=4 FILE=/opt/data/DAMENG/bak/bset/nbak.meta./dmmdf TYPE=5 FILE=/opt/data/DAMENG/bak/bset/nbak.bak./dmmdf TYPE=6 FILE=/opt/data/DAMENG/bak/bset./dmmdf TYPE=7 SCOPE=1 FILE=/opt/data/DAMENG/dm.ctl./dmmdf TYPE=7 SCOPE=2 FILE=/opt/data/DAMENG/dm.ini./dmmdf TYPE=7 SCOPE=3 FILE=/opt/data/DAMENG/dm.ini./dmmdf TYPE=8 FILE=/opt/data/DAMENG/dm.ini./dmmdf TYPE=9 FILE=/opt/data/DAMENG/dm.ini

通过查看可以发现我原库的db_magic值为863453773

[dmdba@czk bin]$ ./dmmdf type=1 file=/opt/dmdbms/data/DAMENG/SYSTEM.DBF
dmmdf V8
**********************************************************
1 db_magic=863453773
2 next_trxid=10197
3 pemnt_magic=89739888
**********************************************************
Please input which parameter you want to change(1-3), q to quit: q

修改拷贝过来的两份重做日志,将对应的db_magic值改为863453773,这里演示修改一份,另外一份修改方式一样

[root@czk bin]# ./dmmdf type=2 file=/opt/dmdbms/data/DAMENG/DAMENG01.log
dmmdf V8
**********************************************************
1 sig = DMRLOG
2 ver = 7006
3 chksum = 874451713
4 sta = 1
5 n_magic = 7
6 db_magic = 1256386612
7 len = 268435456
8 free = 6315008
9 clsn = 25232
10 clsn_fil = 0
11 clsn_off = 6315008
12 pemnt_magic = 202090466
13 fil_id = 0
15 next_seq = 4219
16 g_next_seq = 4219
17 arch_lsn = 0
18 arch_seq = 0
19 dbversion = 0x7000c
20 min_exec_version = V8.1.1.1
21 min_dct_version  = 4
22 p_db_magic = 0
23 n_apply_ep = 0
24 apply_info_lsn = 0pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
25 recv_p_db_magic = 0
26 recv_n_apply_ep = 0recv_pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)recv_apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
**********************************************************
You can only reset sta(4) or db_magic (6) or clsn (9) or clsn_fil(10) or clsn_off(11) or pemnt_magic(12) or fil_id(13) or next_seq(15) or g_next_seq(16) or p_db_magic(20) or n_apply_ep(21).
Please input the num which one you want to change, q to quit: 6
Input the new value: 863453773
**********************************************************
1 sig = DMRLOG
2 ver = 7006
3 chksum = 1300930936
4 sta = 1
5 n_magic = 7
6 db_magic = 863453773
7 len = 268435456
8 free = 6315008
9 clsn = 25232
10 clsn_fil = 0
11 clsn_off = 6315008
12 pemnt_magic = 202090466
13 fil_id = 0
15 next_seq = 4219
16 g_next_seq = 4219
17 arch_lsn = 0
18 arch_seq = 0
19 dbversion = 0x7000c
20 min_exec_version = V8.1.1.1
21 min_dct_version  = 4
22 p_db_magic = 0
23 n_apply_ep = 0
24 apply_info_lsn = 0pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
25 recv_p_db_magic = 0
26 recv_n_apply_ep = 0recv_pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)recv_apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
**********************************************************
Do you want to quit and save the change to file (y/n): y
Save to file success!

8.启动数据库

启动之前需要将拷贝过来的日志文件修改所属主跟所属组,否则启动的时候可能会报权限拒绝错误,错误提示如下

[root@czk log]# cat DmServiceczk.log
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG01.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG02.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/dameng3.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG01.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/data/DAMENG/DAMENG02.log, code: 13
os_file_open_low_real at (/home/test/jq/trunk8_rel_2106/dta/fil.c: 3556) error! desc: Permission denied, path: /opt/dmdbms/dameng3.log, code: 13

用chown改下所属主跟所属组

[root@czk DAMENG]# chown -R dmdba.dmgroup DAMENG0*
[root@czk DAMENG]# ll
总用量 1347676
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:31 bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:51 BOOK1S.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:35 BOOKS.DBF
drwxr-xr-x. 2 dmdba dmgroup      4096 4月   7 10:09 ctl_bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 12:04 czk
-rw-r--r--. 1 dmdba dmgroup 268435456 4月   7 10:05 DAMENG01.log
-rw-r--r--. 1 dmdba dmgroup 268435456 4月   7 10:06 DAMENG02.log
-rw-r--r--. 1 dmdba dmgroup      8192 4月   7 10:09 dm.ctl
-rw-r--r--. 1 dmdba dmgroup     51795 4月   6 21:01 dm.ini
-rw-r--r--. 1 dmdba dmgroup       987 3月  29 12:31 dminit20220329123144.log
-rw-r--r--. 1 dmdba dmgroup       633 3月  29 12:31 dm_service.prikey
drwxr-xr-x. 3 dmdba dmgroup        26 3月  29 15:11 HMAIN
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 14:04 MAIN.DBF
-rw-r--r--. 1 dmdba dmgroup        12 3月  29 12:32 rep_conflict.log
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   6 20:48 ROLL.DBF
-rw-r--r--. 1 dmdba dmgroup       481 3月  29 12:31 sqllog.ini
-rw-r--r--. 1 dmdba dmgroup  27262976 4月   6 19:50 SYSTEM.DBF
-rw-r--r--. 1 dmdba dmgroup  10485760 4月   7 10:09 TEMP.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 14:05 test1.DBF
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:32 trace

9.查看服务运行状态

重新启动服务,检查服务是否正常,这边可以看到服务已经可以正常启动,正常启动后,我们可以关闭服务,重新修改下PSEG_RECV参数,改为默认值3

[root@czk DAMENG]# systemctl restart DmServiceczk
[root@czk DAMENG]# systemctl status DmServiceczk
● DmServiceczk.service - DM Instance Service(DmServiceczk).Loaded: loaded (/usr/lib/systemd/system/DmServiceczk.service; enabled; vendor preset: disabled)Active: active (running) since 四 2022-04-07 10:16:03 CST; 22s agoProcess: 8911 ExecStop=/opt/dmdbms/bin/DmServiceczk stop (code=exited, status=0/SUCCESS)Process: 10474 ExecStart=/opt/dmdbms/bin/DmServiceczk start (code=exited, status=0/SUCCESS)Main PID: 10496 (dmserver)CGroup: /system.slice/DmServiceczk.service└─10496 /opt/dmdbms/bin/dmserver path=/opt/dmdbms/data/DAMENG/dm.ini -noconsole4月 07 10:15:48 czk systemd[1]: Starting DM Instance Service(DmServiceczk)....
4月 07 10:16:03 czk DmServiceczk[10474]: [34B blob data]
4月 07 10:16:03 czk systemd[1]: Started DM Instance Service(DmServiceczk)..

修改好后,在重启数据库,此时就完成了修复

[root@czk DAMENG]# cat dm.ini |grep PSEGPSEG_RECV                       = 3                     #Whether to rollback active transactions and purge committed transactions when system restarts after failure

三、redo日志损坏了怎么办

如果你的redo日志因为服务器异常宕机导致损坏,可以通过下面的方法尝试恢复(假设我这里DAMENG01.log已经损坏)

1.新建实例

新建一个实例,实例参数与原库保持一致

[root@czk bin]# ./dminit path=/opt/dmdbms/data/DAMENG page_size=8 case_sensitive=1 port_num=12333 huge_with_delta=1 use_new_hash=1
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-07-09
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /opt/dmdbms/data/DAMENG/DAMENG/DAMENG01.loglog file path: /opt/dmdbms/data/DAMENG/DAMENG/DAMENG02.logwrite to dir [/opt/dmdbms/data/DAMENG/DAMENG].
create dm database success. 2022-04-07 10:44:35

2.启动新的实例,拷贝日志到原库

[root@czk bin]# ./dmserver /opt/dmdbms/data/DAMENG/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
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: 2261 purged 23 pages
trx: 2288 purged 1 pages
trx: 2289 purged 1 pages
trx: 2290 purged 1 pages
trx: 2291 purged 1 pages
trx: 2297 purged 1 pages
trx: 2299 purged 1 pages
trx: 2301 purged 1 pages
trx: 2306 purged 1 pages
trx: 2311 purged 1 pages
trx: 2316 purged 1 pages
trx: 2318 purged 1 pages
trx: 2321 purged 1 pages
trx: 2323 purged 1 pages
trx: 2329 purged 1 pages
trx: 2330 purged 1 pages
trx: 2479 purged 1 pages
trx: 2491 purged 1 pages
trx: 2496 purged 1 pages
trx: 2501 purged 1 pages
trx: 2520 purged 8 pages
trx: 2545 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.
[root@czk DAMENG]# cp DAMENG01.log ..
[root@czk DAMENG]# ll
总用量 821332
drwxr-xr-x. 2 dmdba dmgroup         6 4月   7 10:44 bak
drwxr-xr-x. 2 dmdba dmgroup        78 4月   7 10:47 ctl_bak
-rw-r--r--. 1 dmdba dmgroup 268435456 4月   7 10:54 DAMENG01.log
-rw-r--r--. 1 dmdba dmgroup 268435456 4月   7 10:54 DAMENG02.log
-rw-r--r--. 1 dmdba dmgroup      5120 4月   7 10:47 dm.ctl
-rw-r--r--. 1 dmdba dmgroup     51838 4月   7 10:44 dm.ini
-rw-r--r--. 1 dmdba dmgroup      1007 4月   7 10:44 dminit20220407104432.log
-rw-r--r--. 1 dmdba dmgroup       633 4月   7 10:44 dm_service.prikey
drwxr-xr-x. 2 dmdba dmgroup         6 4月   7 10:44 HMAIN
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   7 10:44 MAIN.DBF
-rw-r--r--. 1 dmdba dmgroup        12 4月   7 10:47 rep_conflict.log
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   7 10:54 ROLL.DBF
-rw-r--r--. 1 dmdba dmgroup       481 4月   7 10:44 sqllog.ini
-rw-r--r--. 1 dmdba dmgroup  25165824 4月   7 10:52 SYSTEM.DBF
-rw-r--r--. 1 dmdba dmgroup  10485760 4月   7 10:47 TEMP.DBF
drwxr-xr-x. 2 dmdba dmgroup         6 4月   7 10:47 trace
[root@czk DAMENG]# cd ..
[root@czk DAMENG]# ll
总用量 1347680
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:31 bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:51 BOOK1S.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 13:35 BOOKS.DBF
drwxr-xr-x. 2 dmdba dmgroup      4096 4月   7 10:18 ctl_bak
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 12:04 czk
drwxr-xr-x. 6 dmdba dmgroup      4096 4月   7 10:47 DAMENG
-rw-r--r--. 1 root  root    268435456 4月   7 10:55 DAMENG01.log
-rw-r--r--. 1 dmdba dmgroup 268435456 4月   7 10:40 DAMENG02.log
-rw-r--r--. 1 dmdba dmgroup      8192 4月   7 10:18 dm.ctl
-rw-r--r--. 1 dmdba dmgroup     51795 4月   7 10:40 dm.ini
-rw-r--r--. 1 dmdba dmgroup       987 3月  29 12:31 dminit20220329123144.log
-rw-r--r--. 1 dmdba dmgroup       633 3月  29 12:31 dm_service.prikey
drwxr-xr-x. 3 dmdba dmgroup        26 3月  29 15:11 HMAIN
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   2 14:04 MAIN.DBF
-rw-r--r--. 1 dmdba dmgroup        12 3月  29 12:32 rep_conflict.log
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   7 10:40 ROLL.DBF
-rw-r--r--. 1 dmdba dmgroup       481 3月  29 12:31 sqllog.ini
-rw-r--r--. 1 dmdba dmgroup  27262976 4月   7 10:40 SYSTEM.DBF
-rw-r--r--. 1 dmdba dmgroup  10485760 4月   7 10:18 TEMP.DBF
-rw-r--r--. 1 dmdba dmgroup 134217728 4月   1 14:05 test1.DBF
drwxr-xr-x. 2 dmdba dmgroup         6 3月  29 12:32 trace
[root@czk DAMENG]# chown -R dmdba.dmgroup DAMENG01.log

3.修改日志的db_magic跟pemnt_magic值

我们先来查看下原库的值

[root@czk bin]# ./dmmdf type=1 /opt/dmdbms/data/DAMENG/SYSTEM.DBF **********************************************************
1 db_magic=863453773
2 next_trxid=12201
3 pemnt_magic=89739888
**********************************************************

通过dmmdf来修改,修改方式参照2.8修改的内容

[root@czk bin]# ./dmmdf type=2 file=/opt/dmdbms/data/DAMENG/DAMENG01.log
dmmdf V8
**********************************************************
1 sig = DMRLOG
2 ver = 7006
3 chksum = 248137422
4 sta = 1
5 n_magic = 7
6 db_magic = 863453773
7 len = 268435456
8 free = 6316544
9 clsn = 25235
10 clsn_fil = 0
11 clsn_off = 6316544
12 pemnt_magic = 175107120
13 fil_id = 0
15 next_seq = 4221
16 g_next_seq = 4221
17 arch_lsn = 0
18 arch_seq = 0
19 dbversion = 0x7000c
20 min_exec_version = V8.1.1.1
21 min_dct_version  = 4
22 p_db_magic = 0
23 n_apply_ep = 0
24 apply_info_lsn = 0pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
25 recv_p_db_magic = 0
26 recv_n_apply_ep = 0recv_pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)recv_apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
**********************************************************
You can only reset sta(4) or db_magic (6) or clsn (9) or clsn_fil(10) or clsn_off(11) or pemnt_magic(12) or fil_id(13) or next_seq(15) or g_next_seq(16) or p_db_magic(20) or n_apply_ep(21).
Please input the num which one you want to change, q to quit: 12
Input the new value: 89739888
**********************************************************
1 sig = DMRLOG
2 ver = 7006
3 chksum = 33355918
4 sta = 1
5 n_magic = 7
6 db_magic = 863453773
7 len = 268435456
8 free = 6316544
9 clsn = 25235
10 clsn_fil = 0
11 clsn_off = 6316544
12 pemnt_magic = 89739888
13 fil_id = 0
15 next_seq = 4221
16 g_next_seq = 4221
17 arch_lsn = 0
18 arch_seq = 0
19 dbversion = 0x7000c
20 min_exec_version = V8.1.1.1
21 min_dct_version  = 4
22 p_db_magic = 0
23 n_apply_ep = 0
24 apply_info_lsn = 0pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
25 recv_p_db_magic = 0
26 recv_n_apply_ep = 0recv_pkg_seq_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)recv_apply_lsn_arr: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
**********************************************************
Do you want to quit and save the change to file (y/n): y
Save to file success!

4.重启数据库,确认状态

[root@czk bin]# systemctl status DmServiceczk
● DmServiceczk.service - DM Instance Service(DmServiceczk).Loaded: loaded (/usr/lib/systemd/system/DmServiceczk.service; enabled; vendor preset: disabled)Active: active (running) since 四 2022-04-07 11:05:06 CST; 9s agoProcess: 12235 ExecStop=/opt/dmdbms/bin/DmServiceczk stop (code=exited, status=0/SUCCESS)Process: 13709 ExecStart=/opt/dmdbms/bin/DmServiceczk start (code=exited, status=0/SUCCESS)Main PID: 13731 (dmserver)CGroup: /system.slice/DmServiceczk.service└─13731 /opt/dmdbms/bin/dmserver path=/opt/dmdbms/data/DAMENG/dm.ini -noconsole4月 07 11:04:51 czk systemd[1]: Starting DM Instance Service(DmServiceczk)....
4月 07 11:05:06 czk DmServiceczk[13709]: [34B blob data]
4月 07 11:05:06 czk systemd[1]: Started DM Instance Service(DmServiceczk)..

注意!!!
虽然数据库已经启动恢复,但是业务在连接的时候还是会出现一些问题,所以稳妥起见,我们需要先备份原库数据,然后将数据还原到新的实例上,通过新实例来代替原库运行,在空余时间在把原库重新做下,做好后再导回去即可。

5.开启归档

在备份前需要开启归档模式,这里我们采用脱机备份的方式
开启归档

SQL> alter database mount;
操作已执行
已用时间: 357.459(毫秒). 执行号:0.
SQL> alter database add archivelog 'dest=/opt/dmdbms/data/DAMENG/arch,type=local,file_size=1024,space_limit=200000';
操作已执行
已用时间: 2.648(毫秒). 执行号:0.
SQL> alter database archivelog;
操作已执行
已用时间: 6.120(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 334.286(毫秒). 执行号:0.

6.脱机备份

这里我们dmrman工具来备份已经正常启动成功的原库内容,备份前先关闭原库

RMAN> backup database '/opt/dmdbms/data/DAMENG/dm.ini' to fullbak01 backupset '/opt/dmdbms/full2022';
backup database '/opt/dmdbms/data/DAMENG/dm.ini' to fullbak01 backupset '/opt/dmdbms/full2022';
file dm.key not found, use default license!
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[29528], file_lsn[29528]
Processing backupset /opt/dmdbms/full2022
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
backup successfully!
time used: 00:00:01.759

7.基于备份集还原

基于备份集将数据还原到新实例上(注意还原对象一定是新的实例,否则还原会有问题)

RMAN> restore database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' from backupset '/opt/dmdbms/full2022';
restore database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' from backupset '/opt/dmdbms/full2022';
[Percent:0.00%][Speed:0.00M/s][Cost:00:00:01][Remaining:00:00:00]Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.注意!备份集还原后还不能正常启动数据库,需要再做归档还原操作跟更新db_magic值才行,否则会出错
[dmdba@czk bin]$ ./dmserver path=/opt/dmdbms/czkdata/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
Instance DMSERVER startup failed, execute 'recover database ... update db_magic' in dmrman.

7.基于归档还原

基于归档备份,将数据还原到最新的状态

RMAN> recover database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' with archivedir '/opt/dmdbms/data/DAMENG/arch';
recover database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' with archivedir '/opt/dmdbms/data/DAMENG/arch';
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[29528], file_lsn[29528]
recover successfully!
time used: 325.649(ms)

8.更新db_magic值

RMAN> recover database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' update db_magic;
recover database '/opt/dmdbms/data/DAMENG/DAMENG/dm.ini' update db_magic;
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[29528], file_lsn[29528]
recover successfully!
time used: 990.668(ms)

9.重启新实例,查看状态

此时已将原库数据都放到了新实例上,新实例也已经重启成功

[dmdba@czk bin]$ ./dmserver path=/opt/dmdbms/czkdata/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server x64 V8 1-2-38-21.07.09-143359-10018-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-07-09
file lsn: 29528
ndct db load finished
ndct fill fast pool finished
iid page's trxid[19226]
NEXT TRX ID = 19227
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.
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.

总结

到这里我已经把redo日志损坏跟删除两种情况的内容做了演示,可以看到步骤还是比较复杂的,所以平日里最好做好redo日志的日常备份以及arch归档日志的备份。

如果还有其他问题,欢迎到达梦社区来提问~
社区地址:https://eco.dameng.com

达梦redo日志修复跟还原相关推荐

  1. 达梦数据库全量数据恢复还原流程

    达梦数据库全量数据恢复还原流程 1.环境描述 2.备份数据准备 3.流程 1.环境描述 服务器系统:CentOS Linux 7.6 达梦数据库:DM V8.1 远程工具:CRT 2.备份数据准备 还 ...

  2. 达梦数据库的备份、还原和恢复

    一.备份.还原和恢复的意义 备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态.还原与恢复的主要目的是将目标数据库恢复到备份结束时刻的状态. 二.备份 ...

  3. 手把手教你达梦数据库:备份与还原详细步骤

    达梦数据库备份与还原的基本原理: DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的有效数据页包括数据文件的描述页和被分配使用的数据页.而在备份的过程中,如果数据库系统还在继续运 ...

  4. 达梦数据库之备份与还原

    备份与还原是DBA必备的技能之一,为防止数据的误操作.误删除等突发情况,所以备份还原至关重要,一下从几方面共同学习一下达梦数据库的备份与还原基础知识. 一.概述 达梦数据库的备份还原方式:物理备份还原 ...

  5. 达梦数据库dmrman备份与还原(一)

    1 备份还原简介         DM 数据库中的数据存储在数据库的物理数据文件中,数据文件按照页.簇和段的方式 进行管理,数据页是最小的数据存储单元.任何一个对 DM 数据库的操作,归根结底都是对 ...

  6. window 下 达梦数据库的备份和还原

    DM 提供的各种工具进行备份还原与恢复的操作,包括 DIsql工具.DMRMAN 工具.图形化客户端管理工具 MANAGER 和 CONSOLE. DIsql 工具用于执 行联机的数据备份与数据还原, ...

  7. 达梦-慢日志分析实践

    在达梦中我们可以通过开启慢日志抓取来对SQL语句进行分析,找出开销大的SQL语句来进行优化,提高系统性能,安装好数据库并初始化实例后,需要修改sqllog.ini这个文件配置开启慢日志的记录,这个配置 ...

  8. 达梦redo log损坏的处理办法

    在一次数据库实例重启的过程中,数据库启动失败,报如下的错误 [dmdba@dsc3 bin]$ ./DmServiceDMSERVER restart Stopping DmServiceDMSERV ...

  9. 达梦数据库之备份还原

    如大家所知,网络安全越来越被重视,而在数据库方面我们不仅要在部署的时候做好相应的配置,还需要有一套容灾机制,即备份还原.下面我就分享一下在学习达梦数据库中关于备份还原的一些经验. 一.概念: 备份:数 ...

最新文章

  1. java mvc 断点续传_用SpringMVC 实现断点续传 (HTTP)
  2. 【PM模块】维护订单基本处理流程——实际操作
  3. 应用程序窗口hwnd初始化_Golang OpenGL 跨平台图形程序开发(2)你好,窗口
  4. VS IISExpress REST DELETE 405 Method Not Allowed
  5. 学习LD_PRELOAD之摘抄
  6. 金三银四的腾讯、阿里、​字节等大厂前端社招面经
  7. 关于对知识的系统建立和站在更高层次进行理解的必要性
  8. 课题申报书范文_课题申报书(范文5篇).doc
  9. java整型转换成字符串_java整型转换成字符串
  10. OPENSSH格式的private key转换成RSA格式生成pem文件
  11. Python笔记-类和实例、继承和多态
  12. antd table组件 表格内换行
  13. PID控制器、试凑法整定
  14. word2003 字体和标点重叠在一起
  15. Python中的关键字的用法
  16. 电脑没声音 小喇叭不见了怎么办
  17. Elasticsearch搜索引擎(一)——基础使用
  18. 实时操作系统(RTOS)
  19. 手风琴几排簧好_手风琴三排簧和四排簧的区别
  20. python版openvino使用

热门文章

  1. 为什么神经网络不适合理解自然语言 ?
  2. jQuery easing
  3. 图斑中国:9214万个建筑图斑反映人类活动强度和工业发展水平
  4. 【开发教程6】疯壳·开源蓝牙智能健康手表-触摸
  5. 【云原生 | Docker】腾讯云部署Django项目 (服务器选型、git配置、docker三分钟部署)
  6. Uncaught TypeError: Cannot read property 'DYMC' of null
  7. 单线激光雷达(SICK)驱动安装及时空标定
  8. python提取pdf中的文字和图片_Python操作PDF-文本和图片提取(使用PyPDF2和PyMuPDF)...
  9. 会声会影2018、2019版启动提示未注册的解决方法
  10. 使用 OpenCV与 HAAR 级联算法进行人脸检测和人脸识别