日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery

發(fā)布時間:2025/4/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

18.7、Performing Complete User-Managed Media Recovery
完畢一致性備份,把數(shù)據(jù)庫恢復(fù)到當(dāng)前的scn是最好的結(jié)果。能夠恢復(fù)整個數(shù)據(jù)庫。恢復(fù)單個表空間。或恢復(fù)數(shù)據(jù)文件。一致性恢復(fù)不須要resetlogs打開數(shù)據(jù)庫,非一致性恢復(fù)須要resetlogs打開數(shù)據(jù)庫。Backup and Recovery Basics提供了關(guān)于介質(zhì)恢復(fù)的信息。

18.7.1、Performing Closed Database Recovery
能夠在一個操作中恢復(fù)全部損壞的數(shù)據(jù)文件。也能夠分開操作恢復(fù)每一個損壞的數(shù)據(jù)文件。

18.7.1.1、Preparing for Closed Database Recovery
(1)關(guān)閉數(shù)據(jù)庫,檢查出現(xiàn)故障的介質(zhì)設(shè)備
(2)假設(shè)引起介質(zhì)失敗的問題是暫時的,假設(shè)數(shù)據(jù)沒有損壞(比方,磁盤或控制器掉電),不須要介質(zhì)恢復(fù):僅僅需啟動數(shù)據(jù)庫。又一次開始操作。

假設(shè)不能修復(fù),就進行下面步驟

18.7.1.2、Restoring Backups of the Damaged or Missing Files
(1)推斷哪些數(shù)據(jù)文件須要恢復(fù)
(2)找到損壞的數(shù)據(jù)文件的近期備份。只還原損壞的數(shù)據(jù)文件:不要還原沒有損壞的數(shù)據(jù)文件或不論什么重做日志文件。假設(shè)沒有不論什么備份。只能創(chuàng)建一個數(shù)據(jù)文件(有歸檔)
alter database create datafile 'xxx' as 'xxx' size xxx reuse
(3)使用操作系統(tǒng)命令把數(shù)據(jù)文件還原到默認(rèn)位置或新的位置。
alter database rename file 'xxx' to 'xxx';

18.7.1.3、Recovering the Database
(1)使用系統(tǒng)管理員權(quán)限連接數(shù)據(jù)庫,啟動數(shù)據(jù)庫到mount
(2)查詢v$datafile獲得數(shù)據(jù)文件名稱和狀態(tài)
(3)須要恢復(fù)的數(shù)據(jù)文件必須是在線的,除了offline normal的表空間或read-only表空間
select 'alter dabase datafile ' || name || ' online;' from? v$datafile;
(4)運行recover database,recover tablespace xxx,recover datafile 'xxx'等語句
(5)沒有自己主動地恢復(fù),必須接受或拒絕每一個指出的日志。假設(shè)自己主動地恢復(fù),數(shù)據(jù)庫自己主動地應(yīng)用日志。


(6)介質(zhì)恢復(fù)完畢,數(shù)據(jù)庫返回:Media recovery complete。


(7)alter database open

18.7.2、Performing Datafile Recovery in an Open Database
當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,出現(xiàn)介質(zhì)失敗。不能被寫時返回錯誤。一般表空間的僅僅是損壞的數(shù)據(jù)文件離線,不能查詢時返回錯誤,一般表空間的僅僅是損壞的數(shù)據(jù)文件不會離線。
當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,該恢復(fù)過程不能用做system表空間的全然介質(zhì)恢復(fù)。

假設(shè)system表空間的數(shù)據(jù)文件損壞,數(shù)據(jù)庫自己主動關(guān)閉。

18.7.2.1、Preparing for Open Database Recovery
(1)數(shù)據(jù)庫處于打開,發(fā)現(xiàn)須要恢復(fù),把包括損壞的數(shù)據(jù)文件的表空間離線。


(2)假設(shè)引起介質(zhì)失敗的問題是暫時的,假設(shè)數(shù)據(jù)沒有損壞(比方。磁盤或控制器掉電),不須要介質(zhì)恢復(fù):僅僅需啟動數(shù)據(jù)庫,又一次開始操作。假設(shè)不能修復(fù),就進行下面步驟

18.7.2.2、Restoring Backups of the Inaccessible Datafiles
(1)推斷哪些數(shù)據(jù)文件須要恢復(fù)
(2)找到損壞的數(shù)據(jù)文件的近期備份。

只還原損壞的數(shù)據(jù)文件:不要還原沒有損壞的數(shù)據(jù)文件或不論什么重做日志文件。假設(shè)沒有不論什么備份,只能創(chuàng)建一個數(shù)據(jù)文件(有歸檔)
alter database create datafile 'xxx' as 'xxx' size xxx reuse
SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;
(3)使用操作系統(tǒng)命令把數(shù)據(jù)文件還原到默認(rèn)位置或新的位置。
alter database rename file 'xxx' to 'xxx';

18.7.2.3、Recovering Offline Tablespaces in an Open Database
(1)運行recover database,recover tablespace xxx,recover datafile 'xxx'等語句
(2)沒有自己主動地恢復(fù),必須接受或拒絕每一個指出的日志。假設(shè)自己主動地恢復(fù),數(shù)據(jù)庫自己主動地應(yīng)用日志。
(3)介質(zhì)恢復(fù)完畢,數(shù)據(jù)庫返回:Media recovery complete。


SQL> recover automatic tablespace testtbs04;?
(4)alter database open

模擬1、創(chuàng)建表空間testtbs04,創(chuàng)建一個表,刪除相應(yīng)的數(shù)據(jù)文件,做關(guān)閉數(shù)據(jù)庫的恢復(fù)
(1)
SQL> create tablespace testtbs04
? 2??? datafile '/oracle/oradata/boss/testtbs04_01.dbf' size 10m
? 3??? autoextend on next 1m maxsize unlimited
? 4??? logging
? 5??? extent management local autoallocate
? 6??? blocksize 8k
? 7??? segment space management auto
? 8??? flashback on;

(2)
SQL> create table test04(id number, name varchar2(30)) tablespace testtbs04;
SQL> insert into test04 values(1, 'xxxxx');
SQL> insert into test04 values(2, 'yyyyy');
SQL> commit;

(3)
SQL> select group#,members,sequence#,archived,status,first_change# from v$log;

??? GROUP#??? MEMBERS? SEQUENCE# ARC STATUS?????????? FIRST_CHANGE#
---------- ---------- ---------- --- ---------------- -------------
???????? 1????????? 1????????? 0 YES UNUSED?????????????????????? 0
???????? 2????????? 1????????? 0 YES UNUSED?????????????????????? 0
???????? 3????????? 1????????? 1 NO? CURRENT???????????????? 697986

SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> select group#,members,sequence#,archived,status,first_change# from v$log;

??? GROUP#??? MEMBERS? SEQUENCE# ARC STATUS?????????? FIRST_CHANGE#
---------- ---------- ---------- --- ---------------- -------------
???????? 1????????? 1????????? 2 YES INACTIVE??????????????? 707835
???????? 2????????? 1????????? 3 YES INACTIVE??????????????? 707837
???????? 3????????? 1????????? 4 NO? CURRENT???????????????? 707840
(4)
$ rm -rf testtbs04_01.dbf

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup open;

SQL> col "文件名稱" for a40;
SQL> col "表空間名" for a10
SQL> set linesize 150
SQL>
select
? ts.name "表空間名"
? , df.file# "文件號"
? , df.checkpoint_change# "檢查點"
? , df.name "文件名稱"
? , df.status "在線狀態(tài)"
? , rf.error "恢復(fù)原因"
? , rf.change# "系統(tǒng)變更號"
? , rf.time
? from v$tablespace ts,v$datafile df,v$recover_file rf
where ts.ts#=df.ts# and df.file#=rf.file#
order by df.file#;

SQL> select
? 2??? ts.name "表空間名"
? 3??? , df.file# "文件號"
? 4??? , df.checkpoint_change# "檢查點"
? 5??? , df.name "文件名稱"
? 6??? , df.status "在線狀態(tài)"
? 7??? , rf.error "恢復(fù)原因"
? 8??? , rf.change# "系統(tǒng)變更號"
? 9??? , rf.time
?10??? from v$tablespace ts,v$datafile df,v$recover_file rf
?11? where ts.ts#=df.ts# and df.file#=rf.file#
?12? order by df.file#;

表空間名?????? 文件號???? 檢查點 文件名稱?????????????????????????????????? 在線狀? 恢復(fù)原因?????????? 系統(tǒng)變更號 TIME
---------- ---------- ---------- ---------------------------------------- ------- ------------------ ---------- ------------
TESTTBS02?????????? 8???? 652783 /oracle/oradata/boss/testtbs02_01.dbf??? OFFLINE OFFLINE NORMAL????????????? 0
TESTTBS04????????? 10???? 707840 /oracle/oradata/boss/testtbs04_01.dbf??? ONLINE? FILE NOT FOUND????????????? 0

(5)
SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;

SQL> select file#,name,status,CHECKPOINT_CHANGE#,recover from v$datafile_header where file#=10;

???? FILE# NAME???????????????????????????????????? STATUS? CHECKPOINT_CHANGE# REC
---------- ---------------------------------------- ------- ------------------ ---
??????? 10 /oracle/oradata/boss/testtbs04_01.dbf??? ONLINE????????????? 707602 YES

(6)
SQL> recover automatic tablespace testtbs04;?
Media recovery complete.

SQL> alter database open;

SQL> select * from test04;

??????? ID NAME
---------- ----------------------------------------
???????? 1 xxxxx
???????? 2 yyyyy

總結(jié)

以上是生活随笔為你收集整理的Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。