linux下打開Oracle 11g數據庫的閃回flashback

打開數據庫flashback
1. 確認一個數據庫是否打開了flashback,有兩個簡單的方法:
(1)直接查數據庫
SQL> select name,log_mode,flashback_on from v$database;

NAME      LOG_MODE     FLASHBACK_ON
--------- ------------ ------------------
ORA11G     ARCHIVELOG   NO   
  --> flashback未打開

(2)查看後臺進程
Oracle@bmp1a:~> ps -ef | grep rvw |grep -v grep
oracle    9288     1  0 10:45 ?        00:00:00 ora_rvwr_ora11g   --> flashback已經打開www.linuxidc.com

2. 如果數據庫沒有打開flashback,那麼將flashback打開:
(1)確定flashback的存儲路徑

SQL> show parameter recovery

NAME                               TYPE        VALUE
-----------------------------     ----------- ------------------------------
db_recovery_file_dest         string
db_recovery_file_dest_size  big integer   0
recovery_parallelism           integer        0
修改db_recovery_file_dest:
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;
alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
上面的錯誤,是因爲在設置db_recovery_file_dest之前,一定要先設置db_recovery_file_dest_size,於是:
SQL>alter system set db_recovery_file_dest_size = 20G scope =both;

System altered.

SQL> show parameter recovery

NAME                               TYPE           VALUE
-------------------------------  -----------     ------------------------------
db_recovery_file_dest         string
db_recovery_file_dest_size  big integer    20G
recovery_parallelism           integer          0
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;

System altered.

SQL> show parameter recovery

NAME                              TYPE          VALUE
------------------------------- -----------    ------------------------------
db_recovery_file_dest        string          /home/oracle/flashback
db_recovery_file_dest_size  big integer  20G
recovery_parallelism           integer        0

(2)打開flashback
SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-38759: Database must be mounted by only one instance and not open.
上面的錯誤,是因爲在打開數據庫的flashback必須要mount狀態下方可以,於是:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 5344731136 bytes
Fixed Size      2169104 bytes
Variable Size   2130708208 bytes
Database Buffers  3204448256 bytes
Redo Buffers      7405568 bytes
Database mounted.
SQL> alter database flashback on;

Database altered.

SQL> alter database open;

Database altered.

SQL> select name,log_mode,flashback_on from v$database;

NAME      LOG_MODE      FLASHBACK_ON
---------   ------------------  ------------
ORA11G   ARCHIVELOG   YES

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章