oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...
升級(jí)失敗后,數(shù)據(jù)庫降級(jí)方案(flashback database)
環(huán)境:Oracle 11.2.0.1 rac on redhat 5.8
Flashback database
準(zhǔn)備工作
查看是否flashback database功能
sys@RACDB>
select log_mode,open_mode,flashback_on from
v$database;
LOG_MODE
OPEN_MODE??????????? FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG?? READ
WRITE?????????? NO
--
未開啟flashback
database 功能
查看是否設(shè)置了閃回目錄、閃回目錄空間大小
sys@RACDB> show parameter db_recovery
NAME
TYPE??????? VALUE
------------------------------------ -----------
------------------------------
db_recovery_file_dest??????????????? string
db_recovery_file_dest_size?????????? big integer 0
--
顯然我們沒有設(shè)置,下面為設(shè)置后
alter system set db_recovery_file_dest='+DATA' scope=spfile
sid='*';
--
重啟后生效
alter system set db_recovery_file_dest_size=4g;
sys@RACDB> show parameter db_recovery
NAME???????????????????????????????? TYPE??????? VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest??????????????? string????? +DATA
db_recovery_file_dest_size?????????? big integer 4G
設(shè)置閃回保留期
sys@RACDB> show parameter db_flashback
NAME???????????????????????????????? TYPE??????? VALUE
------------------------------------ -----------
------------------------------
db_flashback_retention_target??????? integer???? 1440
--
缺省單位為分鐘
Flashback database
開啟工作
開啟flashback database功能
sys@RACDB> alter database flashback on;
Database altered.
sys@RACDB> select status from gv$instance;
STATUS
------------
OPEN
OPEN
sys@RACDB> select log_mode,open_mode,flashback_on from
v$database;
LOG_MODE
OPEN_MODE??????????? FLASHBACK_ON
------------ -------------------- ------------------
ARCHIVELOG?? READ
WRITE?????????? YES
–-開啟了flashback
database功能
oracle 10.2.0.1
開啟flashback database
需要在mount,且只有一個(gè)實(shí)例的情況下,否則會(huì)報(bào)錯(cuò)
ORA-38759: Database must be mounted by only one instance and
not open.
oracle 11.2.0.1
開啟flashback database在open狀態(tài)下,且多個(gè)實(shí)例共存,沒有任何問題
查看允許閃回的最早時(shí)間點(diǎn)
select oldest_flashback_scn
old_flhbck_scn,oldest_flashback_time old_flhbck_tim,
retention_target
rete_trgt,flashback_size/1024/1024 flhbck_siz,
estimated_flashback_size/1024/1024
est_flhbck_size
from v$flashback_database_log;
OLD_FLHBCK_SCN OLD_FLHBCK_TIM?????? RETE_TRGT FLHBCK_SIZ EST_FLHBCK_SIZE
-------------- ------------------- ---------- ----------
---------------
1602195 2013-08-08
16:48:34?????? 1440???? 15.625?????????????? 0
Flashback database
使用范例
1
、創(chuàng)建一個(gè)restore point
升級(jí)失敗后,降級(jí)時(shí)使用flashback database to restore point upgrade_dou;。
sys@RACDB> create restore point upgrade_dou guarantee
flashback database;
Restore point created.
sys@RACDB> select oldest_flashback_scn
old_flhbck_scn,oldest_flashback_time old_flhbck_tim,
2? retention_target
rete_trgt,flashback_size/1024/1024 flhbck_siz,
3? estimated_flashback_size/1024/1024
est_flhbck_size
4? from v$flashback_database_log;
OLD_FLHBCK_SCN OLD_FLHBCK_TIM?????? RETE_TRGT FLHBCK_SIZ EST_FLHBCK_SIZE
-------------- ------------------- ---------- ----------
---------------
1602195 2013-08-08
16:48:34?????? 1440???? 15.625??????? 143.8125
2
、flashback database使用restore
point
降級(jí)時(shí)
數(shù)據(jù)庫必須是mount狀態(tài)
sys@RACDB>
flashback database to restore point upgrade_dou;
flashback database to restore point upgrade_dou
*
ERROR at line 1:
ORA-38757: Database must be mounted and not open to FLASHBACK.
Flashback database
必須resetlogs open數(shù)據(jù)庫
sys@RACDB> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for
database open
RAC
環(huán)境中alter database open resetlogs;時(shí)有且只有一個(gè)實(shí)例執(zhí)行resetlogs
idle> select status from gv$instance;
STATUS
------------
MOUNTED
MOUNTED
idle> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-38777: database must not be started in any other instance
關(guān)閉一個(gè)節(jié)點(diǎn)
idle> select status from gv$instance;
STATUS
------------
MOUNTED
idle> alter database open resetlogs;
Database altered.
檢查RAC節(jié)點(diǎn)恢復(fù)情況
另一個(gè)節(jié)點(diǎn)也open
idle> select status from gv$instance;
STATUS
------------
OPEN
OPEN
idle>
select current_scn from gv$database;
CURRENT_SCN
-----------
1628773
1628774
附表
查看允許閃回的最早時(shí)間點(diǎn)
select
oldest_flashback_scn old_flhbck_scn,oldest_flashback_time old_flhbck_tim,
retention_target rete_trgt,flashback_size/1024/1024
flhbck_siz,
estimated_flashback_size/1024/1024
est_flhbck_size
from
v$flashback_database_log;
查看sga中分配的閃回空間大小
select
*
from
v$sgastat
where
name
like
'flashback%';
POOL???????? NAME??????????????????????????? BYTES
------------
-------------------------- ----------
shared pool? flashback generation buff???? 3981204
shared pool? flashback_marker_cache_si??????? 9196
查看閃回區(qū)的使用情況
select
name,space_limit/1024/1024 sp_limt,space_used/1024/1024 sp_usd,space_reclaimable/1024/1024
sp_recl,number_of_files num_fils
from
v$recovery_file_dest;
NAME
----------------------------------------------------------------------------------------------------
SP_LIMT???? SP_USD
SP_RECL?? NUM_FILS
---------- ---------- ---------- ----------
+DATA
4096???????? 36????????? 0????????? 3
使用flashback database閃回?cái)?shù)據(jù)庫
步驟(前提歸檔日志可用)
關(guān)閉數(shù)據(jù)庫
啟動(dòng)數(shù)據(jù)庫到mount狀態(tài)(exclusive模式)
閃回至某個(gè)時(shí)間點(diǎn),SCN或log sequence number
使用resetlogs打開數(shù)據(jù)庫
1.
使用sqlplus實(shí)現(xiàn)閃回
可以接受一個(gè)時(shí)間標(biāo)記或一個(gè)系統(tǒng)改變號(hào)實(shí)參
sqlplus
幾種常用的閃回?cái)?shù)據(jù)庫方法
FLASHBACK [STANDBY]
DATABASE []
TO [BEFORE] SCN
--
基于SCN閃回
FLASHBACK [STANDBY]
DATABASE []
TO [BEFORE] TIMESTMP --
基于時(shí)間戳閃回
FLASHBACK [STANDBY]
DATABASE []
TO [BEFORE] RESTORE POINT --
基于時(shí)點(diǎn)閃回
如下面的示例:
SQL>
flashback
database
to
timestamp('2010-10-24
13:04:30','yyyy-mm-dd hh24:mi:ss');
SQL>
flashback
database
to
scn 918987;
SQL>
flashback
database
ro
restore
point b1_load;
2.
使用RMAN進(jìn)行flashback
database
使用RMAN進(jìn)行閃回?cái)?shù)據(jù)庫的幾種常用辦法
RMAN>
flashback
database
to
scn=918987;
RMAN>
flashback
database
to
sequence=85
thread=1;
參考文獻(xiàn):
總結(jié)
以上是生活随笔為你收集整理的oracle数据库升级失败,Oracle 11.2.0.1 rac 升级失败后,数据库降级方案(flashback database)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 整个表空间迁移,oracl
- 下一篇: Navicat 9.1、10.0 简体中