亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【Flashback】Flashback Database閃回數據庫功能實踐

發布時間:2020-08-17 18:49:40 來源:ITPUB博客 閱讀:161 作者:wg0411 欄目:建站服務器
  Flashback Database閃回數據庫功能極大的降低了由于用戶錯誤導致的數據丟失的恢復成本。這是一種以空間換取縮短恢復時間的解決方案,這是值得的。
  這里給出閃回數據庫的使用方法,體驗一下這種恢復操作的便利性。

1.使用Flashback Database的前提條件
1)啟用了flashback database
2)必須打開flash recovery area,若為RAC,flash recovery area必須位于共享存儲中。
3)必須處于archivelog模式,開啟FORCE LOGGIN

2.一一確認上面的前提條件是否滿足
1)驗證是否啟用了flashback database并確認FORCE LOGGIN是否開啟
SYS@ora11g> select flashback_on,force_logging from v$database;

FLASHBACK_ON       FOR
------------------ ---
YES                NO

若flashback_on為“NO”,修改方法見《【Flashback】啟用Flashback Database閃回數據庫功能》(http://space.itpub.net/519536/viewspace-590636)
若force_logging為“NO”,請使如下SQL語句開啟。

SYS@ora11g> alter database force logging;

Database altered.

SYS@ora11g> select flashback_on,force_logging from v$database;

FLASHBACK_ON       FOR
------------------ ---
YES                YES

2)驗證是否開啟flash recovery area
此步驟在啟用閃回數據庫功能時已經確認過。
SYS@ora11g> show parameter db_recovery_file

NAME                        TYPE        VALUE
--------------------------- ----------- ------------------------------
db_recovery_file_dest       string      /u01/app/oracle/flash_recovery
                                        _area
db_recovery_file_dest_size  big integer 3852M

3)數據庫是否處于archivelog模式
SYS@ora11g> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     11
Next log sequence to archive   13
Current log sequence           13

3.確認數據庫可以前滾到的SCN和Time的方法
如果需要恢復的數據點比這個時間還要早的話,很不幸,閃回數據庫功能將無能為力。
SYS@ora11g> alter session set nls_date_format='yyyy-mm-dd hh34:mi:ss';

Session altered.

SYS@ora11g> select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log;

OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------
             1033529 2012-04-02 03:36:40

4.閃回數據庫功能閃亮登場
1)創建測試表fd_1、fd_2和fd_3
SYS@ora11g> create table fd_1 as select * from dba_objects;

Table created.

SYS@ora11g> create table fd_2 as select * from fd_1;

Table created.

SYS@ora11g> create table fd_3 as select * from fd_1;

Table created.

SYS@ora11g> select count(*) from fd_1;

  COUNT(*)
----------
     72465

SYS@ora11g> select count(*) from fd_2;

  COUNT(*)
----------
     72465

SYS@ora11g> select count(*) from fd_3;

  COUNT(*)
----------
     72465

SYS@ora11g> set time on
21:59:40 SYS@ora11g> select sysdate from dual;

SYSDATE
-------------------
2012-04-07 21:59:44

2)truncate表fd_2、drop掉表fd_3
21:59:44 SYS@ora11g> truncate table fd_2;

Table truncated.

22:00:06 SYS@ora11g> drop table fd_3;

Table dropped.

3)使用Flashback Database功能進行恢復到刪除前的時間點2012-04-07 21:59:44
22:00:17 SYS@ora11g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
22:02:04 SYS@ora11g> startup mount exclusive;
ORACLE instance started.

Total System Global Area  313860096 bytes
Fixed Size                  1336232 bytes
Variable Size             247467096 bytes
Database Buffers           58720256 bytes
Redo Buffers                6336512 bytes
Database mounted.
22:02:52 SYS@ora11g> Flashback Database to timestamp(to_date('2012-04-07 21:59:44','yyyy-mm-dd hh34:mi:ss'));

Flashback complete.

4)閃回后修復數據庫兩種方式之一:open read only
推薦使用這樣的方法進行恢復,因為在read only方式打開之后,將需要恢復的表EXP導出,然后通過recover database將數據庫恢復到原狀態,再將缺失的數據IMP到數據庫中。這樣操作對數據庫的影響可以降低到最小,可以保證其他表沒有數據的丟失。
read only打開后查看三張表的狀態:
22:03:57 SYS@ora11g> alter database open read only;

Database altered.

22:04:33 SYS@ora11g> select count(*) from fd_1;

  COUNT(*)
----------
     72465

22:04:37 SYS@ora11g> select count(*) from fd_2;

  COUNT(*)
----------
     72465

22:04:40 SYS@ora11g> select count(*) from fd_3;

  COUNT(*)
----------
     72465

取消閃回結果,恢復到閃回前狀態的方法:
22:04:43 SYS@ora11g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
22:05:09 SYS@ora11g> startup mount;
ORACLE instance started.

Total System Global Area  313860096 bytes
Fixed Size                  1336232 bytes
Variable Size             247467096 bytes
Database Buffers           58720256 bytes
Redo Buffers                6336512 bytes
Database mounted.
22:06:08 SYS@ora11g> recover database;
Media recovery complete.
22:06:18 SYS@ora11g> alter database open;

Database altered.

22:06:41 SYS@ora11g> select count(*) from fd_1;

  COUNT(*)
----------
     72465

22:06:55 SYS@ora11g> select count(*) from fd_2;

  COUNT(*)
----------
         0

22:06:59 SYS@ora11g> select count(*) from fd_3;
select count(*) from fd_3
                     *
ERROR at line 1:
ORA-00942: table or view does not exist

可見,通過上面的recover后,數據庫恢復到了閃回前的狀態。

5)閃回后修復數據庫兩種方式之二:open resetlogs
通過open resetlogs方式打開數據庫后,很顯然,閃回到時間點之后的數據將全部丟失,慎用!

SYS@ora11g> alter database open resetlogs;
SYS@ora11g> select count(*) from fd_1;

  COUNT(*)
----------
     72465

SYS@ora11g> select count(*) from fd_2;

  COUNT(*)
----------
     72465

SYS@ora11g> select count(*) from fd_3;

  COUNT(*)
----------
     72465

5.小結
  這里對Flashback Database閃回數據庫的語法進行總結。閃回數據庫可以在SQL*Plus環境和RMAN環境下使用。
  基于時間戳進行閃回數據庫操作方法:
Flashback Database to timestamp(to_date('2012-04-07 21:59:44','yyyy-mm-dd hh34:mi:ss'));
Flashback Database to timestamp(sysdate-1/24);
  基于SCN進行閃回數據庫操作方法:
Flashback Database to 1321427;

Good luck.

secooler
12.04.07

-- The End --

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柞水县| 论坛| 顺平县| 西盟| 株洲县| 方城县| 马龙县| 太仆寺旗| 信丰县| 南澳县| 乌苏市| 历史| 贵阳市| 澎湖县| 富裕县| 凉城县| 建平县| 大城县| 府谷县| 长顺县| 都昌县| 故城县| 冕宁县| 金沙县| 莱州市| 铁岭市| 京山县| 会宁县| 柳江县| 衡水市| 嘉祥县| 翁牛特旗| 卢氏县| 略阳县| 台东县| 道真| 蒙阴县| 秭归县| 大渡口区| 沽源县| 香格里拉县|