RMAN基於時間點回複數據
1、檢視資料庫是否歸檔
[[email protected] ~]$sqlplus / as sysdba
SQL> archive log list
2、實驗過程
2.1建立測試使用者
CREATE TABLESPACE qqqDATAFILE'/u01/app/oradata/yyy/qqq01.dbf' SIZE 50M
create user qqq identified by qqq defaultTABLESPACE qqq;
grant resource,connect,dba to qqq;
conn qqq/qqq
create table tb_SalGra(
pk_SalGra_ID number primary key,
losal number,
hisal number
);
insert into tb_SalGra values (1,700,1200);
insert into tb_SalGra values (2,1201,1400);
2.2在歸檔下對資料庫做RMAN全備
[[email protected] scripts]$ ./rman_bak_level0.sh
2.3刪除tb_SalGra表及qqq使用者
檢視當前時間
SQL> select to_char(sysdate,'yyyy-mm-ddhh24:mi:ss') time from dual;
TIME
-------------------
2018-03-26 08:54:20
連線qqq使用者,刪除qqq使用者的tb_SalGra表
SQL> conn qqq/qqq
Connected.
SQL> drop table tb_SalGra;
Table dropped.
檢視當前時間
SQL> select to_char(sysdate,'yyyy-mm-ddhh24:mi:ss') time from dual;
TIME
-------------------
2018-03-26 08:57:20
連線sys使用者,刪除掉qqq使用者
SQL> conn / as sysdba
Connected.
SQL> drop user qqq cascade;
User dropped.
檢視使用者是否存在select username from all_users;
2.4基於時間點的恢復
在用RMAN恢復資料庫之前,我們先檢視一下資料庫的incarnation資訊
[[email protected] ~]$rman target /
using targetdatabase control file instead of recovery catalog
List of DatabaseIncarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- --------------- ---------------- --- ---------- ----------
1 1 YYY 2086322433 PARENT 1 15-AUG-09
2 2 YYY 2086322433 CURRENT 945184 01-MAR-18
此時資料庫的狀態是DB Key=2
關庫、起庫到MOUNT狀態,連線到RMAN,做基於時間點的不完全恢復,恢復到刪除qqq使用者時間點之前(2018-03-26 08:57:20)的狀態,即恢復qqq使用者但不恢復tb_SalGra表。
SQL> shutdownimmediate;
[[email protected] ~]$ rman target /
RMAN> startupmount;
RMAN> run{
2> allocatechannel d1 device type disk;
3> set until time"to_date('2018-03-26 08:57:20','yyyy-mm-ddhh24:mi:ss')";
4> restoredatabase;
5> recoverdatabase;}
using target database control file instead ofrecovery catalog
allocated channel: d1
channel d1: SID=1145 device type=DISK
executing command: SET until clause
Starting restore at 26-MAR-18
channel d1: starting datafile backup set restore
channel d1: specifying datafile(s) to restorefrom backup set
channel d1: restoring datafile 00001 to/u01/app/oradata/yyy/system01.dbf
channel d1: restoring datafile 00002 to/u01/app/oradata/yyy/sysaux01.dbf
channel d1: restoring datafile 00003 to/u01/app/oradata/yyy/undotbs01.dbf
channel d1: restoring datafile 00004 to/u01/app/oradata/yyy/users01.dbf
channel d1: restoring datafile 00005 to/u01/app/oradata/yyy/test_01.dbf
channel d1: restoring datafile 00006 to/u01/app/oradata/yyy/test02.dbf
channel d1: restoring datafile 00007 to/u01/app/oradata/yyy/test3_23.dbf
channel d1: restoring datafile 00008 to/u01/app/oradata/yyy/qqq01.dbf
channel d1: reading from backup piece/file/backup/rman/db0_YYY_20180326_4csuo4pk_1_1.bkp
channel d1: piecehandle=/file/backup/rman/db0_YYY_20180326_4csuo4pk_1_1.bkptag=TAG20180326T085204
channel d1: restored backup piece 1
channel d1: restore complete, elapsed time:00:04:24
Finished restore at 26-MAR-18
Starting recover at 26-MAR-18
starting media recovery
media recovery complete, elapsed time: 00:00:02
Finished recover at 26-MAR-18
released channel: d1
RMAN> alter databaseopen resetlogs;
database opened
連線到資料庫,檢視qqq使用者是否存在,以及表是否恢復
select username from all_users;
可見恢復qqq使用者成功,tb_SalGra表尚未恢復
2.5恢復tb_SalGra表:
關庫、起庫到MOUNT狀態,在剛成功恢復資料庫的基礎上,使用RMAN做基於時間點的不完全恢復,恢復到刪除qqq使用者tb_SalGra表之前的時間點(2018-03-2608:54:20)的狀態。
sql> shutdown immediate;
RMAN> startup mount;
RMAN> list incarnation; 檢視一下資料庫的incarnation資訊
RMAN>RESET DATABASE TO INCARNATION 2;
RMAN> run{
2> allocate channel d1 device type disk;
3> set until time "to_date('2018-03-2608:54:20','yyyy-mm-dd hh24:mi:ss')";
4> restore database;
5> recover database;}
RMAN> alter databaseopen resetlogs;
database opened
連線資料庫看看tb_SalGra表是否恢復!
相關推薦
RMAN基於時間點回複數據
1、檢視資料庫是否歸檔 [[email protected] ~]$sqlplus / as sysdba SQL> archive log list 2、實驗過程 2.1建立測試使用者 CREATE TABLESPACE qqqDATAFILE'/u0
基於時間點RMAN恢復
二. 恢復步驟: 1. 引數檔案恢復 [[email protected] ~]$ rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Tue Sep 5 05:50:45 2017 Copyright
RMAN備份與恢復之基於時間點的不完全恢復
一 不完全恢復講解 在上一篇文章(RMAN備份與恢復之UNDO表空間丟失)中,我們講到UNDO表空間丟失怎麼處理。UNDO表空間是不可離線的,同樣,SYSTEM表空間也是不可離線的,所以SYSTEM表空間丟失的處理辦法和UNDO表空間丟失的處理辦法類似,在
MySQL中基於mysqldump和二進制日誌log-bin二進制日誌進行邏輯備份以及基於時間點的還原
總結 mysql-bin lin .sql bin -h eat log-bin 之前 本文出處:http://www.cnblogs.com/wy123/p/6956464.html 本文僅模擬使用mysqldump和log-bin二進制日誌進行簡單
將時間點的數據變成時間段的數據
nvl 創建 family eat color bsp bold 時間段 microsoft 已知數據如下:PC E D工 5 2016-09-01工 6 2016-09-30公 5 2016-09-01
Mysql的增量備份 及基於時間點與位置的恢復
pre school 主從架構 http 二進制 全備 etc 復數 根據 增量備份的優點是沒有重復數據,備份量不大,時間短。缺點也很明顯,需要上次完全備份及完全備份之後所有的增量備份才能恢復,反推恢復,操作較為繁瑣。 Mysql沒有提供增量備份的方法,但是可以通過二進制日
MySQL增量備份恢復和基於時間點與位置的恢復
local 間接 恢復 efault posit 創建 val etc 節點 為什麽使用增量備份? 完全備份有兩種方式,一種是使用tar打包數據文件,另一種是使用mysqldump進行完全備份。完全備份存在的問題很容易看到,每次都是把所有的數據內容進行備份,備份數據中有大量
MySQL 基於時間點與位置恢復
開始 mark 文本 zhang map bin 完全 slave -o 基於時間點與位置恢復 利用二進制日誌可以實現基於時間與位置的恢復,例如由於誤操作刪除了一張表,這時候完全恢復是沒用的,因為日誌裏面還是存在錯誤語句,我們需要的是恢復到誤操作之前的狀態,然後跳過誤操作數
使用 mysqldump 實現 MySQL 5.7 基於時間點的恢復
trigger result c89 ade cto ima RoCE out a10 創建測試數據全備數據庫 mysqldump --single-transaction --flush-logs --master-data=2 --all-databases --tri
13.基於時間點的恢復
介紹 恢復完整備份後,您需要還原二進位制日誌以獲取時間點恢復。 備份提供備份可用的二進位制日誌位置。 操作 1 mysqldump or mysqlpump binary log資訊根據傳遞給mysqldump/mysqlpump的選項作為CHANGE MASTER TO命令
ARCHIVELOG模式下使用者管理的不完全恢復—基於時間點的不完全恢復
基於時間點的恢復主要使用於以下情況:誤刪除表、誤截斷表、提交了錯誤的資料。(從oracle 10g利用閃回更easy!) 首先關閉資料庫執行一個冷全備份(冷備份的時候使用者u1的t表中是有3條記錄的。) [sql] view plai
12C-PDB基於時間點恢復
RMAN>alter pluggable database zaki1 close immediate; RMAN> run{ 2> set until time "TO_DATE('2016-10-31 12:03:08','yyyy-mm-dd hh
binlog-rollback.pl基於binlog位置點和時間點恢復delete誤刪語句
基於位置點和時間點恢復delete誤刪一、基於binlog位置點的恢復 為了演示,刷新一個新的binlog文件,讓它單獨記錄delete刪除語句: MySQL [zhangyou]> flush logs Query OK, 0 rows affected (0.09 sec) MySQL [zhan
oracle數據庫還原24小時內的時間點
企業 直接 數據還原 表名 rom 導致 amp sele oracle數據 --首先查詢在某個時間點的數據 t_asn_dtl 為表名SELECT * FROM t_asn_dtl AS OF TIMESTAMP TO_TIMESTAMP(‘20180625 22:3
數據庫恢復至某個時間點
fast ott acl ring rod 宋體 ice reset iat 實例詳解: 數據庫恢復到某個時間點 [oracle@lyo1 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production o
DL之LSTM之UvP:基於TF利用LSTM基於DIY時間訓練1200個數據預測後200個數據狀態
DL之LSTM之UvP:基於TF利用LSTM基於DIY時間訓練1200個數據預測後200個數據狀態 輸出結果 設計思路 訓練記錄全過程 INFO:tensorflow:loss = 0.496935, step = 1 INFO:t
資料庫回滾到某個時間點(僅用於Oracle資料庫)
select * from cst_bse_inf as of timestamp to_timestamp('2018-08-01 09:20:00','yyyy-mm-dd hh24:mi:ss'); alter table cst_bse_inf enable row movement; fl
oracle update並commit誤操作後,利用閃回方法 flashback可以還原上個時間點的資料
今天在生產環境更新一個選單的URL時,用update更新資料,但是忘記加上where限定條件,將所有選單的URL都更新為同一個。一時間感覺我惹大事了,慌忙找了個以前的備份表將整個表替換掉。可是備份表與真是表之間存在一些差異,結果就只能一個一個查詢並修改了。 事後才淡定下來,
恢復到特定點(時間點、scn、日誌序列號),rman不完全恢復
將資料庫、表空間、資料檔案等恢復至恢復備份集儲存時間中的任何一個時間點/SCN/日誌序列(一般是日誌挖掘找到誤操作點),但須謹慎,操作前一定需要做好備份,具備條件的情況下最好先恢復到異機,避免業務停機時間。 前提:已經有資料庫備份 (作者已經提前準備了備份,這裡不進行備
[RMAN]使用RMAN備份將資料庫不完全恢復到指定時間點
RMAN作為Oracle強大的備份恢復工具,可以協助我們恢復資料庫到指定時間點,這便是Oracle不完全恢復的一種體現,通過這種方法可以找回我們曾經丟失的資料。這裡以找回誤TRUNCATE表資料為例給大家演示一下RMAN的不完全恢復功能。 1.調整資料庫為歸檔模式[emai