基於mysql-binlog的恢復實驗
1,首先生成一張表
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.01 sec)
2,備份這張表所在的資料庫
[root@node1 backup]# mysqldump -u root -p --master-data=2 --databases testdb > test2.sql
Enter password:
[root@node1 backup]# ll
total 4
-rw-r--r-- 1 root root 2053 Apr 22 05:28 test2.sql
[root@node1 backup]# more test2.sql
-- MySQL dump 10.13 Distrib 5.7.11, for Linux (i686)
--
-- Host: localhost Database: testdb
-- ------------------------------------------------------
-- Server version 5.7.11-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Position to start replication or point-in-time recovery from
--
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=2198;
--
-- Current Database: `testdb`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testdb` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `testdb`;
--
-- Table structure for table `t`
--
DROP TABLE IF EXISTS `t`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `t`
--
LOCK TABLES `t` WRITE;
/*!40000 ALTER TABLE `t` DISABLE KEYS */;
INSERT INTO `t` VALUES (1),(2);
/*!40000 ALTER TABLE `t` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2016-04-22 5:28:41
[root@node1 backup]#
3,插入資料,並刪除表
mysql> insert into t values(3);
Query OK, 1 row affected (0.01 sec)
mysql> insert into t values(4);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql>
mysql>
mysql> drop table t;
Query OK, 0 rows affected (0.01 sec)
4,檢視當前binlog位置,並得到刪除操作的位置
mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000003 | 201 |
| mysql-bin.000004 | 201 |
| mysql-bin.000005 | 3841844 |
| mysql-bin.000006 | 177 |
| mysql-bin.000007 | 177 |
| mysql-bin.000008 | 177 |
| mysql-bin.000009 | 7683463 |
| mysql-bin.000010 | 1908 |
| mysql-bin.000011 | 657 |
| mysql-bin.000012 | 4159 |
| mysql-bin.000013 | 2893 |
+------------------+-----------+
11 rows in set (0.01 sec)
mysql> show binlog events in 'mysql-bin.000013';
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
| mysql-bin.000013 | 4 | Format_desc | 1 | 123 | Server ver: 5.7.11-log, Binlog ver: 4 |
| mysql-bin.000013 | 123 | Previous_gtids | 1 | 154 | |
| mysql-bin.000013 | 154 | Anonymous_Gtid | 1 | 219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 219 | Query | 1 | 337 | use `testdb`; DROP TABLE `t` /* generated by server */ |
| mysql-bin.000013 | 337 | Anonymous_Gtid | 1 | 402 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 402 | Query | 1 | 521 | use `testdb`; DROP TABLE `t2` /* generated by server */ |
| mysql-bin.000013 | 521 | Anonymous_Gtid | 1 | 586 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 586 | Query | 1 | 701 | use `test`; DROP TABLE `t2` /* generated by server */ |
| mysql-bin.000013 | 701 | Anonymous_Gtid | 1 | 766 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 766 | Query | 1 | 881 | use `test`; DROP TABLE `t3` /* generated by server */ |
| mysql-bin.000013 | 881 | Anonymous_Gtid | 1 | 946 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 946 | Query | 1 | 1052 | use `testdb`; DROP TABLE IF EXISTS `test2` |
| mysql-bin.000013 | 1052 | Anonymous_Gtid | 1 | 1117 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1117 | Query | 1 | 1206 | drop database testdb |
| mysql-bin.000013 | 1206 | Anonymous_Gtid | 1 | 1271 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1271 | Query | 1 | 1356 | drop database test |
| mysql-bin.000013 | 1356 | Anonymous_Gtid | 1 | 1421 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1421 | Query | 1 | 1521 | create database testdb |
| mysql-bin.000013 | 1521 | Anonymous_Gtid | 1 | 1586 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1586 | Query | 1 | 1686 | use `testdb`; create table t(id int) |
| mysql-bin.000013 | 1686 | Anonymous_Gtid | 1 | 1751 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1751 | Query | 1 | 1825 | BEGIN |
| mysql-bin.000013 | 1825 | Table_map | 1 | 1871 | table_id: 152 (testdb.t) |
| mysql-bin.000013 | 1871 | Write_rows | 1 | 1911 | table_id: 152 flags: STMT_END_F |
| mysql-bin.000013 | 1911 | Xid | 1 | 1942 | COMMIT /* xid=298 */ |
| mysql-bin.000013 | 1942 | Anonymous_Gtid | 1 | 2007 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2007 | Query | 1 | 2081 | BEGIN |
| mysql-bin.000013 | 2081 | Table_map | 1 | 2127 | table_id: 152 (testdb.t) |
| mysql-bin.000013 | 2127 | Write_rows | 1 | 2167 | table_id: 152 flags: STMT_END_F |
| mysql-bin.000013 | 2167 | Xid | 1 | 2198 | COMMIT /* xid=299 */ |
| mysql-bin.000013 | 2198 | Anonymous_Gtid | 1 | 2263 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2263 | Query | 1 | 2337 | BEGIN |
| mysql-bin.000013 | 2337 | Table_map | 1 | 2383 | table_id: 172 (testdb.t) |
| mysql-bin.000013 | 2383 | Write_rows | 1 | 2423 | table_id: 172 flags: STMT_END_F |
| mysql-bin.000013 | 2423 | Xid | 1 | 2454 | COMMIT /* xid=564 */ |
| mysql-bin.000013 | 2454 | Anonymous_Gtid | 1 | 2519 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2519 | Query | 1 | 2593 | BEGIN |
| mysql-bin.000013 | 2593 | Table_map | 1 | 2639 | table_id: 172 (testdb.t) |
| mysql-bin.000013 | 2639 | Write_rows | 1 | 2679 | table_id: 172 flags: STMT_END_F |
| mysql-bin.000013 | 2679 | Xid | 1 | 2710 | COMMIT /* xid=565 */ |
| mysql-bin.000013 | 2710 | Anonymous_Gtid | 1 | 2775 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2775 | Query | 1 | 2893 | use `testdb`; DROP TABLE `t` /* generated by server */ |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
42 rows in set (0.00 sec)
mysql>
5,安全起見,在生產中最好在測試庫上做恢復,此處我直接在本機恢復
mysql>
mysql>
mysql>
mysql> drop database testdb;
Query OK, 0 rows affected (0.01 sec)
[root@node1 backup]#
[root@node1 backup]#
[root@node1 backup]# mysql -u root -p <test2.sql
Enter password:
[root@node1 backup]#
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
5 rows in set (0.00 sec)
mysql>
mysql>
mysql>
mysql> use testdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
mysql>
mysql>
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.01 sec)
mysql>
6,從上面的日誌中可以看到,我備份的pos是2198,刪除的pos是2775,恢復完成後,表中擁有四條資料
root@node1 mysql]#
[root@node1 mysql]# mysqlbinlog --start-position=2198 --stop-position=2775 mysql-bin.000013 |mysql -u root -p
Enter password:
[root@node1 mysql]#
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec)
mysql>
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.01 sec)
2,備份這張表所在的資料庫
[root@node1 backup]# mysqldump -u root -p --master-data=2 --databases testdb > test2.sql
Enter password:
[root@node1 backup]# ll
total 4
-rw-r--r-- 1 root root 2053 Apr 22 05:28 test2.sql
[root@node1 backup]# more test2.sql
-- MySQL dump 10.13 Distrib 5.7.11, for Linux (i686)
--
-- Host: localhost Database: testdb
-- ------------------------------------------------------
-- Server version 5.7.11-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Position to start replication or point-in-time recovery from
--
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000013', MASTER_LOG_POS=2198;
--
-- Current Database: `testdb`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testdb` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `testdb`;
--
-- Table structure for table `t`
--
DROP TABLE IF EXISTS `t`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `t`
--
LOCK TABLES `t` WRITE;
/*!40000 ALTER TABLE `t` DISABLE KEYS */;
INSERT INTO `t` VALUES (1),(2);
/*!40000 ALTER TABLE `t` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2016-04-22 5:28:41
[root@node1 backup]#
3,插入資料,並刪除表
mysql> insert into t values(3);
Query OK, 1 row affected (0.01 sec)
mysql> insert into t values(4);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql>
mysql>
mysql> drop table t;
Query OK, 0 rows affected (0.01 sec)
4,檢視當前binlog位置,並得到刪除操作的位置
mysql> show master logs;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000003 | 201 |
| mysql-bin.000004 | 201 |
| mysql-bin.000005 | 3841844 |
| mysql-bin.000006 | 177 |
| mysql-bin.000007 | 177 |
| mysql-bin.000008 | 177 |
| mysql-bin.000009 | 7683463 |
| mysql-bin.000010 | 1908 |
| mysql-bin.000011 | 657 |
| mysql-bin.000012 | 4159 |
| mysql-bin.000013 | 2893 |
+------------------+-----------+
11 rows in set (0.01 sec)
mysql> show binlog events in 'mysql-bin.000013';
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
| mysql-bin.000013 | 4 | Format_desc | 1 | 123 | Server ver: 5.7.11-log, Binlog ver: 4 |
| mysql-bin.000013 | 123 | Previous_gtids | 1 | 154 | |
| mysql-bin.000013 | 154 | Anonymous_Gtid | 1 | 219 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 219 | Query | 1 | 337 | use `testdb`; DROP TABLE `t` /* generated by server */ |
| mysql-bin.000013 | 337 | Anonymous_Gtid | 1 | 402 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 402 | Query | 1 | 521 | use `testdb`; DROP TABLE `t2` /* generated by server */ |
| mysql-bin.000013 | 521 | Anonymous_Gtid | 1 | 586 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 586 | Query | 1 | 701 | use `test`; DROP TABLE `t2` /* generated by server */ |
| mysql-bin.000013 | 701 | Anonymous_Gtid | 1 | 766 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 766 | Query | 1 | 881 | use `test`; DROP TABLE `t3` /* generated by server */ |
| mysql-bin.000013 | 881 | Anonymous_Gtid | 1 | 946 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 946 | Query | 1 | 1052 | use `testdb`; DROP TABLE IF EXISTS `test2` |
| mysql-bin.000013 | 1052 | Anonymous_Gtid | 1 | 1117 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1117 | Query | 1 | 1206 | drop database testdb |
| mysql-bin.000013 | 1206 | Anonymous_Gtid | 1 | 1271 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1271 | Query | 1 | 1356 | drop database test |
| mysql-bin.000013 | 1356 | Anonymous_Gtid | 1 | 1421 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1421 | Query | 1 | 1521 | create database testdb |
| mysql-bin.000013 | 1521 | Anonymous_Gtid | 1 | 1586 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1586 | Query | 1 | 1686 | use `testdb`; create table t(id int) |
| mysql-bin.000013 | 1686 | Anonymous_Gtid | 1 | 1751 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 1751 | Query | 1 | 1825 | BEGIN |
| mysql-bin.000013 | 1825 | Table_map | 1 | 1871 | table_id: 152 (testdb.t) |
| mysql-bin.000013 | 1871 | Write_rows | 1 | 1911 | table_id: 152 flags: STMT_END_F |
| mysql-bin.000013 | 1911 | Xid | 1 | 1942 | COMMIT /* xid=298 */ |
| mysql-bin.000013 | 1942 | Anonymous_Gtid | 1 | 2007 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2007 | Query | 1 | 2081 | BEGIN |
| mysql-bin.000013 | 2081 | Table_map | 1 | 2127 | table_id: 152 (testdb.t) |
| mysql-bin.000013 | 2127 | Write_rows | 1 | 2167 | table_id: 152 flags: STMT_END_F |
| mysql-bin.000013 | 2167 | Xid | 1 | 2198 | COMMIT /* xid=299 */ |
| mysql-bin.000013 | 2198 | Anonymous_Gtid | 1 | 2263 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2263 | Query | 1 | 2337 | BEGIN |
| mysql-bin.000013 | 2337 | Table_map | 1 | 2383 | table_id: 172 (testdb.t) |
| mysql-bin.000013 | 2383 | Write_rows | 1 | 2423 | table_id: 172 flags: STMT_END_F |
| mysql-bin.000013 | 2423 | Xid | 1 | 2454 | COMMIT /* xid=564 */ |
| mysql-bin.000013 | 2454 | Anonymous_Gtid | 1 | 2519 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2519 | Query | 1 | 2593 | BEGIN |
| mysql-bin.000013 | 2593 | Table_map | 1 | 2639 | table_id: 172 (testdb.t) |
| mysql-bin.000013 | 2639 | Write_rows | 1 | 2679 | table_id: 172 flags: STMT_END_F |
| mysql-bin.000013 | 2679 | Xid | 1 | 2710 | COMMIT /* xid=565 */ |
| mysql-bin.000013 | 2710 | Anonymous_Gtid | 1 | 2775 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS' |
| mysql-bin.000013 | 2775 | Query | 1 | 2893 | use `testdb`; DROP TABLE `t` /* generated by server */ |
+------------------+------+----------------+-----------+-------------+---------------------------------------------------------+
42 rows in set (0.00 sec)
mysql>
5,安全起見,在生產中最好在測試庫上做恢復,此處我直接在本機恢復
mysql>
mysql>
mysql>
mysql> drop database testdb;
Query OK, 0 rows affected (0.01 sec)
[root@node1 backup]#
[root@node1 backup]#
[root@node1 backup]# mysql -u root -p <test2.sql
Enter password:
[root@node1 backup]#
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testdb |
+--------------------+
5 rows in set (0.00 sec)
mysql>
mysql>
mysql>
mysql> use testdb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
mysql>
mysql>
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.01 sec)
mysql>
6,從上面的日誌中可以看到,我備份的pos是2198,刪除的pos是2775,恢復完成後,表中擁有四條資料
root@node1 mysql]#
[root@node1 mysql]# mysqlbinlog --start-position=2198 --stop-position=2775 mysql-bin.000013 |mysql -u root -p
Enter password:
[root@node1 mysql]#
mysql> select * from t;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
| 4 |
+------+
4 rows in set (0.00 sec)
mysql>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29108064/viewspace-2086337/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle實驗記錄 (恢復-rman基於控制檔案的恢復)Oracle
- oracle實驗記錄 (恢復-表空間基於時間點恢復(rman))Oracle
- oracle實驗記錄 (恢復-表空間基於時間點恢復(手動))Oracle
- oracle實驗記錄 (恢復-完全恢復)Oracle
- oracle實驗記錄 (恢復-rman恢復)Oracle
- 基於 Vuex 的時移操作(撤回/恢復)實現Vue
- 基於資料塊的恢復
- Oracle恢復實驗(一)Oracle
- Oracle恢復實驗(二)Oracle
- Oracle恢復實驗(三)Oracle
- Oracle恢復實驗(四)Oracle
- Oracle基於TSM恢復實驗(模擬spfile、controlfile、datafile丟失)Oracle
- oracle實驗記錄 (恢復-關於熱備份)Oracle
- oracle實驗記錄 (恢復-不完全恢復)Oracle
- oracle基於SCN增量恢復Oracle
- 轉:Oracle基於TSM恢復實驗(模擬spfile、controlfile、datafile丟失)Oracle
- 基於cancel的資料庫恢復資料庫
- Oracle基於時間點的恢復Oracle
- oracle實驗記錄 (恢復-關於控制檔案(1))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(2))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(3))Oracle
- oracle實驗記錄 (恢復-關於控制檔案(4))Oracle
- 基於RMAN實現壞塊介質恢復(blockrecover)BloC
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- 基於歸檔的冷備份恢復
- oracle基於scn的不完全恢復Oracle
- 基於檔案描述符的恢復
- oracle 閃回基於時間的恢復Oracle
- 【Oracle 恢復表空間】 實驗Oracle
- oracle實驗記錄 (恢復-redo)Oracle
- Oracle常規恢復的實驗測試Oracle
- oracle實驗記錄 (恢復-恢復未備份的資料檔案)Oracle
- mongodb 基於oplog的時間點恢復MongoDB
- 基於非歸檔的冷備份恢復
- 基於歸檔的熱備份完全恢復
- 基於LOGMINER 的表DML誤操作恢復
- oracle基於歸檔的增量異地恢復Oracle
- 基於percona xtrabackup之innobackupex實現基於時間點資料庫恢復資料庫