mysql 闪回到指定时间_oracle数据库表恢复到特定时间点
在存檔模式下,不允許覆蓋(覆蓋)日志文件組。日志文件滿后,如果沒有手動歸檔,系統將掛起,直到歸檔完成。 div>
目前只能讀取而不能寫入。
在操作過程中關閉并重新啟動歸檔日志過程
SQL \ gt;存檔日志停止
SQL \ gt;存檔日志開始
4.手動歸檔:LOG_ARCHIVE_START = FALSE
存檔當前日志文件
SQL \ gt;更改系統歸檔日志電流;
序列號為052的存檔日志文件
SQL \ gt; ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;
存檔所有日志文件
SQL \ gt; ALTER SYSTEM歸檔所有日志;
更改存檔日志目標
SQL \ gt;更改系統存檔日志當前到” \路徑”;
5.歸檔模式和非歸檔模式之間的轉換
步驟4的相反過程。
6.配置多個歸檔過程
問:什么時候需要使用多個歸檔過程?
答:如果歸檔過程消耗大量時間,則可以啟動多個歸檔過程。這是一個動態參數,可以使用ALTER SYSTEM動態修改。
SQL \ gt; ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES = 10;
Oracle9i最多可以指定10個歸檔過程
與歸檔過程有關的動態性能視圖
v $ bgprocess,v $ archive_processes
7.配置歸檔目標,多個歸檔目標,遠程歸檔目標,歸檔日志格式
存檔目標LOG_ARCHIVE_DEST_n
本地歸檔目標:
SQL \ gt; LOG_ARCHIVE_DEST_1 =”位置= D:ORACLEARCHIVEDLOG”;
遠程歸檔目標:
SQL \ gt; LOG_ARCHIVE_DEST_2 =”服務= STANDBY_DB1″;
強制歸檔目標,如果出現問題,請在600秒后重試:
SQL \ gt; ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 =”位置= E:ORACLEARCHIVEDLOG強制性重新打開= 600″;
可選的歸檔目標,如果發生錯誤,則放棄歸檔:
SQL \ gt; ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 =”位置= E:ORACLEARCHIVEDLOG OPTIONAL”;
存檔目標狀態:關閉存檔目標并打開存檔目標
關閉存檔目標1
SQL \ gt; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 =延遲
打開存檔目標2
SQL \ gt; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 =啟用
存檔日志格式
LOG_ARCHIVE_FORMAT
8.獲取存檔日志信息
V $ ARCHIVED_LOG
V $ ARCHIVE_DEST
V $ LOG_HISTORY
V $數據庫
V $ ARCHIVE_PROCESSES
歸檔日志列表;
檢查oracle是否已啟用閃回功能,
–FLASHBACK_ON為NO,這表示尚未啟用閃回功能
從v $數據庫中選擇log_mode,open_mode,flashback_on;
查看oracle刪除記錄
從user_recyclebin選擇*;
\\ ub26;經過上述困難的過程后,以下操作會閃回:
(一)
如果啟用閃回,則可以使用閃回表。
從v $數據庫中選擇log_mode,flashback_on;
如果是以下結果,則打開閃回
LOG_MODE FLASHBACK_ON
—————————
存檔是
可以執行以下命令。
alter table表名啟用行移動;–open表行的移動
閃回表表名到時間戳記to_timestamp(” 20130813 14:00:00″,” yyyymmdd hh24:mi:ss”)
–閃回2013年8月13日14:00
如果您不打開它,則可以使用imp命令導入數據(如果您具有邏輯備份)。
如果您不使用邏輯備份,請打開存檔模式并進行物理備份,則可以使用停機時間和數據丟失,可以使用不完整的恢復命令。
run {shutdown立即;
啟動安裝;
設置直到時間=” to_date(” 20130813 14:00:00″,” yyyymmdd hh24:mi:ss”)”;
恢復數據庫;
恢復數據庫;
alter database open resetlogs;}
記住!在執行上述任何操作之前,請進行備份,否則,如果出現問題,您將后悔。
我建議您與數據庫管理員聯系以解決此問題。
(兩個)
如果只有一個表,則相對簡單。
這是一個示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
\
\\ ub26;
\
\
\
\
\
\
\
\
\
\
1
2
3
4
5
6
7
\
\
對于您來說,您需要先
創建表臨時表AS
從*中選擇*。從中刪除了您的數據的表
自時間戳記TO_TIMESTAMP(” 2013-08-13 14:00:00″,\\” yyyy-mm-dd hh24:mi:ss”);
這樣,\\ n當時的表格已復制到\中。臨時表。
然后
插入\ INTO \從中刪除數據的表選擇\ * \\ n來自臨時表;
注意:您需要確保\上沒有觸發器。數據已刪除的表。
如果存在,則可能需要暫時禁用它,并在插入數據后將其還原。
(三)(未經dba許可)
如果具有數據庫備份和日志備份,則可以解決問題并將數據還原到某個時間點。
否則無法實現。
如果有備份,則可以讓DBA幫助還原新數據庫,然后將該表的數據復制到原始數據庫。
(四個)(未經dba許可)
您需要使用閃回表,而不必這樣做,請找到dba
總結
以上是生活随笔為你收集整理的mysql 闪回到指定时间_oracle数据库表恢复到特定时间点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 红外探头_问题3: 关于在线近红外光谱仪
- 下一篇: 计算机科学与技术的感性认识,对计算机科学