当前位置:网站首页>DM8 database recovery based on point in time
DM8 database recovery based on point in time
2022-07-04 08:11:00 【Song Xiaorong】
In the production environment , When we delete important data by mistake , You can use flashback queries to retrieve the original data , But when the table is deleted or the database does not turn on the flashback function , You cannot use flash back to get the original table data ; At this point, we can use point in time recovery based on archived logs ( Incomplete recovery ) To recover data or tables .
Point in time based recovery
01
Backup database
The premise of database failure restoration is to have backup files , Here create an original database backup file , have access to DMRMAN Offline backup files , It can also be an online backup file . Take online backup as an example ( Before online backup , You need to ensure that the database has been opened and configured for archiving ). Use SYSDBA User login database , Execute the following statement to back up the database :
SQL> backup database full backupset 'DMTESTFULL_ONLINE0723';
02
Manufacturing data , Generate archive logs
establish test user , And in test The user creates a table t_table And insert data , This process generates archive logs .
SQL> create user test IDENTIFIED by dameng123 DEFAULT TABLESPACE main;SQL> create table test.t_table as select * from SYSOBJECTS;

03
Analog fault , Delete table
Analog fault , Delete test The user is shown in the following table t_table. And record the system time when deleting the table .

04
Using backup and archive logs will
The database is restored to the specified point in time
t_table Table deleted , To retrieve the data of this table , The database can only be restored to the moment before the table is deleted . The recovery steps are as follows :
① Restore the database with backup files
Execute the following command to stop the database :
[[email protected] bin]$ DmServiceDMTESTSERVER stopUse steps 1 The backup file of restores the database to the state at the time of backup :
RMAN> restore database '/dm8/data/DMTEST/dm.ini' from backupset 'DMTESTFULL_ONLINE0723';
② Restore the database to a specified point in time using archived logs
Execute the following command , Appoint with archivedir Parameter use archive recovery , And designate until time Parameter restore the database to the time before deleting the table , By step 3 hear , We'll probably be here 2020-07-23 10:48:53 The table data was deleted at the previous time , Restore the database to 2020-07-23 10:48:40 Time for ( The more accurate the time, the better , It cannot be estimated accurately ).
RMAN> recover database '/dm8/data/DMTEST/dm.ini' with archivedir '/dm8/data/DMTEST/arch' until time '2020-07-23 10:48:40';As can be seen from the screenshot below , Archive recovery is not 100%( Because it is incomplete recovery , Not all archived logs have been completely redone ), Just restore to 93%.

③ Update database magic number
Execute the following command to update the magic number of the database db_magic Information .
RMAN> recover database '/dm8/data/DMTEST/dm.ini' update db_magic;here , Database recovery complete .
perform DmServiceDMTESTSERVER start Start database , Connect to database query test Under the user t_table Table data , You can see t_test Table restored .

summary :
Use RECOVER Command to restore the database , It can be backup set based recovery , It can also be the recovery of local archived logs . Point in time based recovery is one of the ways to recover using local archived logs .
In addition to the specified point in time , You can also specify LSN Resume .DM Each of them REDO Each log record corresponds to a unique LSN value , Appoint LSN Value later , The database will be accurately restored to produce this LSN The state of the point in time . be based on LSN The recovery of is to use UNTIL LSN The parameter is restored to the specified LSN The state of the point in time .
Based on point in time or LSN All recoveries are incomplete , Restore to the latest state based on archived logs is full recovery .
In the actual production environment , If you just delete a table or data , It is recommended to restore the database to another machine ( Target database ) On , Then copy the archive log of the production environment to restore the target database to the specified point in time , To retrieve table data without affecting the generation environment , Reduce the impact on the generation environment .
边栏推荐
- Leetcode 23. Merge K ascending linked lists
- NPM run build error
- Convert datetime string to datetime - C in the original time zone
- L2-013 red alarm (C language) and relevant knowledge of parallel search
- Collections in Scala
- Wechat has new functions, and the test is started again
- 21个战略性目标实例,推动你的公司快速发展
- Moher college phpMyAdmin background file contains analysis traceability
- Relations courantes de la fiche de données d'exploitation pour les activités
- Activiti常见操作数据表关系
猜你喜欢

Oracle-存储过程与函数

BUUCTF(3)

Sqli labs download, installation and reset of SQL injection test tool one of the solutions to the database error (# 0{main}throw in d:\software\phpstudy_pro\www\sqli labs-...)

【Go基础】2 - Go基本语句

Devops Practice Guide - reading notes (long text alarm)

zabbix監控系統自定義監控內容
![[go basics] 1 - go go](/img/e2/d973b9fc9749e1c4755ce7d0ec11a1.png)
[go basics] 1 - go go
![[performance test] read JMeter](/img/c9/25a0df681c7ecb4a0a737259c882b3.png)
[performance test] read JMeter

I was pressed for the draft, so let's talk about how long links can be as efficient as short links in the development of mobile terminals

Project 1 household accounting software (goal + demand description + code explanation + basic fund and revenue and expenditure details record + realization of keyboard access)
随机推荐
BUUCTF(4)
Laravel page load problem connection reset - PHP
神经网络入门(下)
Unity text superscript square representation +text judge whether the text is empty
PCIe knowledge points -010: where to get PCIe hot plug data
zabbix监控系统邮件报警配置
If the array values match each other, shuffle again - PHP
Group programming ladder race - exercise set l1-006 continuity factor
How to improve your system architecture?
Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
Is l1-029 too fat (5 points)
ZABBIX monitoring system deployment
L1-025 positive integer a+b (15 points)
One of the general document service practice series
Parallel shift does not provide any acceleration - C #
Devops Practice Guide - reading notes (long text alarm)
Use preg_ Match extracts the string into the array between: & | people PHP
[go basics] 1 - go go
Leetcode(215)——数组中的第K个最大元素
Figure guessing game