当前位置:网站首页>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 .
边栏推荐
- string. Format without decimal places will generate unexpected rounding - C #
- Text processing function sorting in mysql, quick search of collection
- L1-021 important words three times (5 points)
- MySQL中的文本处理函数整理,收藏速查
- 促进OKR落地的工作总结该如何写?
- zabbix监控系统部署
- SQL注入测试工具之Sqli-labs下载安装重置数据库报错解决办法之一(#0{main}thrown in D:\Software\phpstudy_pro\WWW\sqli-labs-……)
- How to set multiple selecteditems on a list box- c#
- OKR vs. KPI figure out these two concepts at once!
- A method for detecting outliers of data
猜你喜欢

Conversion of yolov5 XML dataset to VOC dataset

With excellent strength, wangchain technology, together with IBM and Huawei, has entered the annual contribution list of "super ledger"!

1. Kalman filter - the best linear filter

Heap concept in JVM

【性能测试】一文读懂Jmeter

zabbix 5.0监控客户端

Système de surveillance zabbix contenu de surveillance personnalisé

Comparison between applet framework and platform compilation

BUUCTF(4)

Take you to master the formatter of visual studio code
随机推荐
L1-022 odd even split (10 points)
ZABBIX monitoring system deployment
Comprendre la méthode de détection des valeurs aberrantes des données
Azure ad domain service (II) configure azure file share disk sharing for machines in the domain service
ZABBIX 5.0 monitoring client
PCIe knowledge points -010: where to get PCIe hot plug data
OKR vs. KPI 一次搞清楚这两大概念!
[go basics] 1 - go go
Moher College webmin unauthenticated remote code execution
SQL注入测试工具之Sqli-labs下载安装重置数据库报错解决办法之一(#0{main}thrown in D:\Software\phpstudy_pro\WWW\sqli-labs-……)
In the era of low code development, is it still needed?
力扣今日题-1200. 最小绝对差
What does range mean in PHP
How to set multiple selecteditems on a list box- c#
真空介电常数和真空磁导率究竟是由什么决定的?为何会存在这两个物理量?
Do you know about autorl in intensive learning? A summary of articles written by more than ten scholars including Oxford University and Google
Practice (9-12 Lectures)
MYCAT middleware installation and use
R language uses cforest function in Party package to build random forest based on conditional inference trees, uses varimp function to check feature importance, and uses table function to calculate co
猜数字游戏