<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DMRMAN &#8211; 良的世界</title>
	<atom:link href="https://www.lemonary.cn/tag/dmrman/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.lemonary.cn</link>
	<description></description>
	<lastBuildDate>Thu, 20 Mar 2025 07:31:59 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.lemonary.cn/wp-content/uploads/2024/12/profile-150x150.jpg</url>
	<title>DMRMAN &#8211; 良的世界</title>
	<link>https://www.lemonary.cn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>达梦数据库主备集群还原恢复到某一时刻的操作手册</title>
		<link>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%bb%e5%a4%87%e9%9b%86%e7%be%a4%e8%bf%98%e5%8e%9f%e5%88%b0%e6%9f%90%e4%b8%80%e6%97%b6%e5%88%bb%e7%9a%84%e6%93%8d%e4%bd%9c%e6%89%8b%e5%86%8c/</link>
					<comments>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%bb%e5%a4%87%e9%9b%86%e7%be%a4%e8%bf%98%e5%8e%9f%e5%88%b0%e6%9f%90%e4%b8%80%e6%97%b6%e5%88%bb%e7%9a%84%e6%93%8d%e4%bd%9c%e6%89%8b%e5%86%8c/#respond</comments>
		
		<dc:creator><![CDATA[shine]]></dc:creator>
		<pubDate>Thu, 20 Mar 2025 06:50:30 +0000</pubDate>
				<category><![CDATA[DM]]></category>
		<category><![CDATA[DMRMAN]]></category>
		<guid isPermaLink="false">https://www.lemonary.cn/?p=1783</guid>

					<description><![CDATA[一、操作思路 二、操作步骤 2.1 创建TEST用户 注意：记录创建用户前后时间，用于决定后续还原时的具体时刻 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">一、操作思路</h2>



<ol class="wp-block-list">
<li>创建一个普通用户TEST</li>



<li>停止数据库集群</li>



<li>将数据库集群整体进行还原恢复，恢复到创建TEST用户之前的某一时刻</li>



<li>登录数据库验证TEST用户如预期一样不存在，则证明数据库还原恢复成功</li>
</ol>



<h2 class="wp-block-heading">二、操作步骤</h2>



<h3 class="wp-block-heading">2.1 创建TEST用户</h3>



<pre class="wp-block-code"><code>&#91;dmdba@shine ~]$ date
<strong>Wed 01 Mar 2023 11:51:58 AM CST</strong>
&#91;dmdba@shine ~]$ disql SYSDBA/'"***!"':5236

服务器&#91;LOCALHOST:5236]:处于主库打开状态
登录使用时间 : 1.745(ms)
disql V8
SQL> CREATE USER "TEST" IDENTIFIED BY "TEST123456789"; 
操作已执行
已用时间: 13.811(毫秒). 执行号:3200.
SQL> EXIT

&#91;dmdba@shine ~]$ date
<strong>Wed 01 Mar 2023 11:53:01 AM CST</strong></code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">注意：记录创建用户前后时间，用于决定后续还原时的具体时刻。</p>
</blockquote>



<h3 class="wp-block-heading">2.2 停止数据库集群</h3>



<pre class="wp-block-code"><code>## 停备库守护进程
&#91;dmdba@shine ~]$ DmWatcherServiceWatcher stop
## 停主库守护进程
&#91;dmdba@shine ~]$ DmWatcherServiceWatcher stop
## 停主库数据库服务
&#91;dmdba@shine ~]$ DmServiceDMDW01 stop
## 停备库数据库服务
&#91;dmdba@shine ~]$ DmServiceDMDW02 stop</code></pre>



<h3 class="wp-block-heading">2.3 将全部备份文件传到备库服务器</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">全部备份文件包括：当周的全量备份+当日的增量备份+归档</p>
</blockquote>



<pre class="wp-block-code"><code>全量
&#91;dmdba@shine ~]$ scp -r /backup/5236/full/DB_DAMENG_FULL_2023_02_25_01_00_42/ dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
DB_DAMENG_FULL_2023_02_25_01_00_42.bak                                                                                             100%   51MB  99.5MB/s   00:00    
DB_DAMENG_FULL_2023_02_25_01_00_42_1.bak                                                                                           100% 6656     2.2MB/s   00:00    
DB_DAMENG_FULL_2023_02_25_01_00_42.meta                                                                                            100%   85KB  19.4MB/s   00:00    

增量
&#91;dmdba@shine ~]$ scp -r /backup/5236/incr/DB_DAMENG_INCREMENT_2023_02_26_02_00_43/ dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
DB_DAMENG_INCREMENT_2023_02_26_02_00_43.bak                                                                                        100%  391KB  46.9MB/s   00:00    
DB_DAMENG_INCREMENT_2023_02_26_02_00_43.meta                                                                                       100%   77KB  21.1MB/s   00:00    
&#91;dmdba@shine ~]$ scp -r /backup/5236/incr/DB_DAMENG_INCREMENT_2023_02_27_02_00_46/ dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
DB_DAMENG_INCREMENT_2023_02_27_02_00_46.bak                                                                                        100%  391KB  29.5MB/s   00:00    
DB_DAMENG_INCREMENT_2023_02_27_02_00_46.meta                                                                                       100%   77KB  18.5MB/s   00:00    
&#91;dmdba@shine ~]$ scp -r /backup/5236/incr/DB_DAMENG_INCREMENT_2023_02_28_02_00_46/ dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
DB_DAMENG_INCREMENT_2023_02_28_02_00_46.bak                                                                                        100%  391KB  29.6MB/s   00:00    
DB_DAMENG_INCREMENT_2023_02_28_02_00_46.meta                                                                                       100%   77KB  20.2MB/s   00:00    
&#91;dmdba@shine ~]$ scp -r /backup/5236/incr/DB_DAMENG_INCREMENT_2023_03_01_02_00_48/ dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
DB_DAMENG_INCREMENT_2023_03_01_02_00_48.bak                                                                                        100%  391KB  29.9MB/s   00:00    
DB_DAMENG_INCREMENT_2023_03_01_02_00_48.meta                                                                                       100%   77KB  19.3MB/s   00:00    

归档
&#91;dmdba@shine ~]$ cd /data/5236/DAMENG/arch/
&#91;dmdba@shine arch]$ ls -ltr
total 2097456
-rw-r--r-- 1 dmdba dinstall     311296 Feb 21 10:54 'ARCHIVE_LOCAL1_0x49734407&#91;0]_2023-02-21_10-51-01.log'
-rw-r--r-- 1 dmdba dinstall 1073741824 Feb 21 11:54 'ARCHIVE_LOCAL1_0x49734407&#91;0]_2023-02-21_11-52-19.log'
-rw-r--r-- 1 dmdba dinstall 1073741824 Mar  1 11:52 'ARCHIVE_LOCAL1_0x7AA0563B&#91;0]_<strong>2023-02-21_12-17-06</strong>.log'                                                                             

&#91;dmdba@shine arch]$ scp -r ./ARCHIVE_LOCAL1_0x7AA0563B\&#91;0\]_2023-02-21_12-17-06.log dmdba@192.168.111.105:/backup/5236/
dmdba@192.168.111.105's password: 
ARCHIVE_LOCAL1_0x7AA0563B&#91;0]_2023-02-21_12-17-06.log                                                                                  100% 1024MB 104.9MB/s   00:09    </code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">说明：ARCHIVE_LOCAL1_0x7AA0563B[0]_2023-02-21_12-17-06.log 是2月21日以后的归档，包含当前的数据日志，所以只需要这一个归档日志即可</p>
</blockquote>



<h3 class="wp-block-heading">2.4 利用备份分别还原恢复主备库</h3>



<p class="wp-block-paragraph">从2.1可知是11:51:58~11:53:01之间创建的TEST用户，所以还原到11:51:00一定没有TEST用户。</p>



<p class="wp-block-paragraph">主库还原恢复</p>



<pre class="wp-block-code"><code>RMAN> RESTORE DATABASE '/data/5236/DAMENG/dm.ini' FROM BACKUPSET '/backup/5236/incr/DB_DAMENG_INCREMENT_2023_03_01_02_00_48';
RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' WITH ARCHIVEDIR '/data/5236/DAMENG/arch' UNTIL TIME '2023-03-01 11:51:00';
RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' UPDATE DB_MAGIC;</code></pre>



<p class="wp-block-paragraph">备库还原恢复</p>



<pre class="wp-block-code"><code>RMAN> RESTORE DATABASE '/data/5236/DAMENG/dm.ini' FROM BACKUPSET '/backup/5236/DB_DAMENG_INCREMENT_2023_03_01_02_00_48';
RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' WITH ARCHIVEDIR '/backup/5236' UNTIL TIME '2023-03-01 11:51:00';
RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' UPDATE DB_MAGIC;</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">备注：<br>利用增量备份进行还原时可以指定基备份<br><code>RESTORE DATABASE '/data/5236/DAMENG/dm.ini' FROM BACKUPSET '/backup/5236/incr/DB_DAMENG_INCREMENT_2023_03_01_02_00_48' WITH BACKUPDIR '/backup/5236/full/';</code></p>
</blockquote>



<p class="wp-block-paragraph">还原过程记录</p>



<pre class="wp-block-code"><code>RMAN> RESTORE DATABASE '/data/5236/DAMENG/dm.ini' FROM BACKUPSET '/backup/5236/incr/DB_DAMENG_INCREMENT_2023_03_01_02_00_48';
RESTORE DATABASE '/data/5236/DAMENG/dm.ini' FROM BACKUPSET '/backup/5236/incr/DB_DAMENG_INCREMENT_2023_03_01_02_00_48';
&#91;Percent:0.00%]&#91;Speed:0.00M/s]&#91;Cost:00:00:01]&#91;Remaining:00:00:00]Normal of FAST                     
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
&#91;Percent:99.99%]&#91;Speed:0.00M/s]&#91;Cost:00:00:03]&#91;Remaining:00:00:00]                                  
restore successfully.
time used: 00:00:03.790


RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' WITH ARCHIVEDIR '/data/5236/DAMENG/arch' UNTIL TIME '2023-03-01 11:51:00';
RECOVER DATABASE '/data/5236/DAMENG/dm.ini' WITH ARCHIVEDIR '/data/5236/DAMENG/arch' UNTIL TIME '2023-03-01 11:51:00';
Database mode = 1, oguid = 453333
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP&#91;0]'s cur_lsn&#91;7516983], file_lsn&#91;7516983]
EP:0 total 2 pkgs applied, percent: 13%
EP:0 total 4 pkgs applied, percent: 26%
EP:0 total 6 pkgs applied, percent: 40%
EP:0 total 8 pkgs applied, percent: 53%
EP:0 total 10 pkgs applied, percent: 66%
EP:0 total 12 pkgs applied, percent: 80%
EP:0 total 14 pkgs applied, percent: 93%
EP:0 total 15 pkgs applied, percent: 100%
recover successfully!
time used: 258.084(ms)


RMAN> RECOVER DATABASE '/data/5236/DAMENG/dm.ini' UPDATE DB_MAGIC;
RECOVER DATABASE '/data/5236/DAMENG/dm.ini' UPDATE DB_MAGIC;
Database mode = 1, oguid = 453333
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP&#91;0]'s cur_lsn&#91;7517011], file_lsn&#91;7517011]
recover successfully!
time used: 988.710(ms)
RMAN> exit
time used: 0.196(ms)</code></pre>



<h3 class="wp-block-heading">2.5 启动主备库dmserver</h3>



<pre class="wp-block-code"><code>主库
&#91;dmdba@shine ~]$ DmServiceDMDW01 start
Starting DmServiceDMDW01:                                  &#91; OK ]

备库
&#91;dmdba@shine ~]$ DmServiceDMDW02 start
Starting DmServiceDMDW02:                                  &#91; OK ]</code></pre>



<h3 class="wp-block-heading">2.6 修改备库模式为STANDBY</h3>



<pre class="wp-block-code"><code>&#91;dmdba@shine ~]$ disql SYSDBA/'"***!"':5236

服务器&#91;LOCALHOST:5236]:处于主库配置状态
登录使用时间 : 1.650(ms)
disql V8
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
DMSQL 过程已成功完成
已用时间: 3.952(毫秒). 执行号:0.
SQL> ALTER DATABASE STANDBY; 
操作已执行
已用时间: 10.360(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);
DMSQL 过程已成功完成
已用时间: 3.743(毫秒). 执行号:1.
SQL> EXIT</code></pre>



<h3 class="wp-block-heading">2.7 启动主备库的守护进程</h3>



<pre class="wp-block-code"><code>主/备
&#91;dmdba@shine ~]$ DmWatcherServiceWatcher start
Starting DmWatcherServiceWatcher:                           &#91; OK ]</code></pre>



<h3 class="wp-block-heading">2.8 使用监视器查看集群状态</h3>



<pre class="wp-block-code"><code>&#91;dmdba@shine ~]$ /dmdba/bin/dmmonitor /data/5236/DAMENG/dmmonitor.ini 
&#91;monitor]         2023-03-01 14:05:43: DMMONITOR&#91;4.0] V8
&#91;monitor]         2023-03-01 14:05:43: DMMONITOR&#91;4.0] IS READY.

&#91;monitor]         2023-03-01 14:05:43: 收到守护进程(DAMENG02)消息
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 14:05:43  OPEN           OK        DAMENG02      OPEN        STANDBY   NULL     6        7519460         7519460         

&#91;monitor]         2023-03-01 14:05:43: 收到守护进程(DAMENG01)消息
                  WTIME                WSTATUS        INST_OK   INAME            ISTATUS     IMODE     RSTAT    N_OPEN   FLSN            CLSN            
                  2023-03-01 14:05:42  OPEN           OK        DAMENG01      OPEN        PRIMARY   VALID    6        7519460         7519460         

show
2023-03-01 14:05:44 
#================================================================================#
GROUP            OGUID       MON_CONFIRM     MODE            MPP_FLAG  
GRP3             453333      TRUE            AUTO            FALSE     


&lt;&lt;DATABASE GLOBAL INFO:>>
DW_IP               MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.111.104     52145        2023-03-01 14:05:43  GLOBAL    VALID     OPEN           DAMENG01      OK        1     1     OPEN        PRIMARY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_IP             INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.111.104     5236       OK        DAMENG01      OPEN        PRIMARY   0          0            REALTIME  VALID    2489041         7519460         2489041         7519460         NONE                  

&lt;&lt;DATABASE GLOBAL INFO:>>
DW_IP               MAL_DW_PORT  WTIME                WTYPE     WCTLSTAT  WSTATUS        INAME            INST_OK   N_EP  N_OK  ISTATUS     IMODE     DSC_STATUS     RTYPE     RSTAT    
192.168.111.105     52146        2023-03-01 14:05:44  GLOBAL    VALID     OPEN           DAMENG02      OK        1     1     OPEN        STANDBY   DSC_OPEN       REALTIME  VALID    

EP INFO:
INST_IP             INST_PORT  INST_OK   INAME            ISTATUS     IMODE     DSC_SEQNO  DSC_CTL_NODE RTYPE     RSTAT    FSEQ            FLSN            CSEQ            CLSN            DW_STAT_FLAG          
192.168.111.105     5236       OK        DAMENG02      OPEN        STANDBY   0          0            REALTIME  VALID    2489012         7519460         2489012         7519460         NONE                  

DATABASE(DAMENG02) APPLY INFO FROM (DAMENG01), REDOS_PARALLEL_NUM (1):
DSC_SEQNO&#91;0], (RSEQ, SSEQ, KSEQ)&#91;2489041, 2489041, 2489041], (RLSN, SLSN, KLSN)&#91;7519460, 7519460, 7519460], N_TSK&#91;0], TSK_MEM_USE&#91;0] 
REDO_LSN_ARR: (7519460)


#================================================================================#</code></pre>



<h3 class="wp-block-heading">2.9 登录数据库查看TEST用户是否存在</h3>



<pre class="wp-block-code"><code>&#91;dmdba@shine ~]$ disql SYSDBA/'"***!"':5236
服务器&#91;LOCALHOST:5236]:处于主库打开状态
登录使用时间 : 1.752(ms)
disql V8
SQL> SELECT USERNAME FROM DBA_USERS;

LINEID     USERNAME   
---------- -----------
1          SYSSSO
2          USER_DAMENG
3          SYSDBA
4          SYS
5          SYSAUDITOR

5 rows got

已用时间: 5.791(毫秒). 执行号:400.
SQL> EXIT
&#91;dmdba@shine ~]$ disql TEST/'"TEST123456789"':5236
&#91;-2501]:用户名或密码错误.</code></pre>



<p class="wp-block-paragraph">此时说明我们创建的TEST用户的确不存在，证明我们成功将数据库还原到创建TEST用户以前的时刻。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.lemonary.cn/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%bb%e5%a4%87%e9%9b%86%e7%be%a4%e8%bf%98%e5%8e%9f%e5%88%b0%e6%9f%90%e4%b8%80%e6%97%b6%e5%88%bb%e7%9a%84%e6%93%8d%e4%bd%9c%e6%89%8b%e5%86%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
