当前位置:网站首页>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 stop
Use 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 .
边栏推荐
- 1、卡尔曼滤波-最佳的线性滤波器
- [network security] what is emergency response? What indicators should you pay attention to in emergency response?
- 神经网络入门(下)
- 线性代数1.1
- Practice (9-12 Lectures)
- Go h*ck yourself:online reconnaissance (online reconnaissance)
- Project 1 household accounting software (goal + demand description + code explanation + basic fund and revenue and expenditure details record + realization of keyboard access)
- Difference between static method and non static method (advantages / disadvantages)
- Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
- Unity write word
猜你喜欢
Système de surveillance zabbix contenu de surveillance personnalisé
SSRF vulnerability exploitation - attack redis
[network security] what is emergency response? What indicators should you pay attention to in emergency response?
How to improve your system architecture?
1. Kalman filter - the best linear filter
zabbix監控系統自定義監控內容
墨者学院-PHPMailer远程命令执行漏洞溯源
Go h*ck yourself:online reconnaissance (online reconnaissance)
Heap concept in JVM
Linear algebra 1.1
随机推荐
Is l1-029 too fat (5 points)
弈柯莱生物冲刺科创板:年营收3.3亿 弘晖基金与淡马锡是股东
【性能测试】一文读懂Jmeter
线性代数1.1
促进OKR落地的工作总结该如何写?
How to reset IntelliSense in vs Code- How to reset intellisense in VS Code?
Activiti常见操作数据表关系
论文学习——基于极值点特征的时间序列相似性查询方法
Introduction to neural network (Part 2)
Comparison between applet framework and platform compilation
In the era of low code development, is it still needed?
[performance test] read JMeter
How to improve your system architecture?
deno debugger
A single element in an ordered array
How to use C language code to realize the addition and subtraction of complex numbers and output structure
This article is enough for learning advanced mysql
Comprendre la méthode de détection des valeurs aberrantes des données
真空介电常数和真空磁导率究竟是由什么决定的?为何会存在这两个物理量?
[gurobi] establishment of simple model