国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Oracle備份與恢復(fù)案例(三)

6 拷貝備份回到原地點(diǎn)(restore),開始恢復(fù)數(shù)據(jù)庫(recover)

restore過程:

C:\>copy D:\DATABAK\SYSTEM01.DBF D:\Oracle\ORADATA\TEST\

C:\>copy D:\DATABAK\TEST\INDX01.DBF D:\Oracle\ORADATA\TEST\

C:\>copy D:\DATABAK\TEST\TOOLS01.DBF D:\Oracle\ORADATA\TEST\

C:\>copy D:\DATABAK\TEST\RBS01.DBF.DBF D:\Oracle\ORADATA\TEST\

 

Recover過程:

SQL> recover database;

 

ORA-00279: change 1073849 generated at 05/08/2003 08:58:35 needed for thread 1

ORA-00289: suggestion : D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00311.ARC

ORA-00280: change 1073849 for thread 1 is in sequence #311

 

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

auto

ORA-00279: change 1073856 generated at 05/08/2003 09:03:27 needed for thread 1

ORA-00289: suggestion : D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00312.ARC

ORA-00280: change 1073856 for thread 1 is in sequence #312

ORA-00278: log file 'D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00311.ARC' no

longer needed for this recovery

 

ORA-00279: change 1073858 generated at 05/08/2003 09:11:43 needed for thread 1

ORA-00289: suggestion : D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00313.ARC

ORA-00280: change 1073858 for thread 1 is in sequence #313

ORA-00278: log file 'D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00312.ARC' no

longer needed for this recovery

 

ORA-00279: change 1073870 generated at 05/08/2003 09:11:46 needed for thread 1

ORA-00289: suggestion : D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00314.ARC

ORA-00280: change 1073870 for thread 1 is in sequence #314

ORA-00278: log file 'D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00313.ARC' no

longer needed for this recovery

 

Log applied.

Media recovery complete.

 

7、 打開數(shù)據(jù)庫,檢查數(shù)據(jù)庫的數(shù)據(jù)(完全恢復(fù))

SQL> alter database open;

Database altered.

SQL> select * from test;

                        A

---------------------------------------

                        1

                        2

 

說明:

1、只要有備份與歸檔存在,就可以實(shí)現(xiàn)數(shù)據(jù)庫的完全恢復(fù)(不丟失數(shù)據(jù));

2、適合于丟失大量數(shù)據(jù)文件,或包含系統(tǒng)數(shù)據(jù)文件在內(nèi)的數(shù)據(jù)庫的恢復(fù);

3、恢復(fù)過程在mount下進(jìn)行,如果恢復(fù)成功,再打開數(shù)據(jù)庫,down機(jī)時(shí)間可能比較長一些。

 

4.3.2RMAN備份方案

RMAN備份歸檔模式下?lián)p壞(丟失)多個(gè)數(shù)據(jù)文件,進(jìn)行整個(gè)數(shù)據(jù)庫的恢復(fù)

1、連接數(shù)據(jù)庫,創(chuàng)建測(cè)試表并插入記錄

 

SQL> connect internal/password as sysdba;

Connected.

SQL> create table test(a int);

Table created

SQL> insert into test values(1);

1 row inserted

SQL> commit;

Commit complete

 

2、備份數(shù)據(jù)庫

DOSC:>\ rman cmdfile=bakup.rcv msglog=backup.log;

 

以下是backup.log內(nèi)容。

Recovery Manager: Release8.1.6.0.0 - Production

RMAN> #    script.:bakup.rcv

2> #    creater:chenjiping

3> #    date:5.8.2003

4> #    desc:backup all database datafile in archive with rman

5>

6> #connect database

7> connect rcvcat rman/rman@back;

8> connect target internal/virpure;

9>

10> #start backup database

11> run{

12> allocate channel c1 type disk;

13> backup full tag 'dbfull' format 'd:\backup\full%u_%s_%p' database

14> include current controlfile;

15> sql 'alter system archive log current';

16> release channel c1;

17> }

18> #end

19>

 

RMAN-06008: connected to recovery catalog database

RMAN-06005: connected to target database: TEST (DBID=1788174720)

RMAN-03022: compiling command: allocate

RMAN-03023: executing command: allocate

RMAN-08030: allocated channel: c1

RMAN-08500: channel c1: sid=15 devtype=DISK

RMAN-03022: compiling command: backup

RMAN-03023: executing command: backup

RMAN-08008: channel c1: starting full datafile backupset

RMAN-08502: set_count=4 set_stamp=494074368 creation_time=15-MAY-03

RMAN-08010: channel c1: specifying datafile(s) in backupset

RMAN-08522: input datafile fno=00002 name=D:\Oracle\ORADATA\TEST\RBS01.DBF

RMAN-08522: input datafile fno=00001 name=D:\Oracle\ORADATA\TEST\SYSTEM01.DBF

RMAN-08011: including current controlfile in backupset

RMAN-08522: input datafile fno=00005 name=D:\Oracle\ORADATA\TEST\TOOLS01.DBF

RMAN-08522: input datafile fno=00004 name=D:\Oracle\ORADATA\TEST\TEMP01.DBF

RMAN-08522: input datafile fno=00006 name=D:\Oracle\ORADATA\TEST\INDX01.DBF

RMAN-08522: input datafile fno=00003 name=D:\Oracle\ORADATA\TEST\USER01.DBF

RMAN-08013: channel c1: piece 1 created

RMAN-08503: piece handle=D:\BACKUP\FULL04EN5UG0_4_1 comment=NONE

RMAN-08525: backup set complete, elapsed time: 00:01:16

RMAN-03023: executing command: partial resync

RMAN-08003: starting partial resync of recovery catalog

RMAN-08005: partial resync complete

RMAN-03022: compiling command: sql

RMAN-06162: sql statement: alter system archive log current

RMAN-03023: executing command: sql

RMAN-03022: compiling command: release

RMAN-03023: executing command: release

RMAN-08031: released channel: c1

Recovery Manager complete.

到這里表示備份成功。

 

3、 繼續(xù)在測(cè)試表中插入記錄

SQL> insert into test values(2);

1 row inserted

SQL> commit;

Commit complete

SQL> select * from test;

                        A

---------------------------------------

                        1

                        2

SQL>alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

 

4、 關(guān)閉數(shù)據(jù)庫,模擬丟失數(shù)據(jù)文件

SQL> shutdown immediate;

Database closed.

Database dismounted.

Oracle instance shut down

C:\>del D:\Oracle\ORADATA\TEST\SYSTEM01.DBF

C:\>del D:\Oracle\ORADATA\TEST\INDX01.DBF

C:\>del D:\Oracle\ORADATA\TEST\TOOLS01.DBF

C:\>del D:\Oracle\ORADATA\TEST\RBS01.DBF

 

5、啟動(dòng)數(shù)據(jù)庫,檢查錯(cuò)誤

SQL> STARTUP

Oracle instance started.

Total System Global Area 102020364 bytes

Fixed Size                   70924 bytes

Variable Size             85487616 bytes

Database Buffers          16384000 bytes

Redo Buffers                 77824 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file

ORA-01110: data file 1: 'D:\Oracle\ORADATA\TEST\SYSTEM01.DBF'

 

查詢v$recover_file

SQL> select * from v$recover_file;

 

    FILE# ONLINE ERROR                CHANGE# TIME

---------- ------- ------------------ ---------- -----------

        1 ONLINE FILE NOT FOUND             0

        2 ONLINE FILE NOT FOUND             0

        5 ONLINE FILE NOT FOUND             0

        6 ONLINE FILE NOT FOUND             0


可以知道有四個(gè)數(shù)據(jù)文件需要恢復(fù).

 

6、利用RMAN進(jìn)行恢復(fù)

C:\>rman

Recovery Manager: Release8.1.6.0.0 - Production

RMAN> connect rcvcat rman/rman@back

RMAN-06008: connected to recovery catalog database

RMAN> connect target internal/virpure

RMAN-06005: connected to target database: TEST (DBID=1788174720)

RMAN> run{

2> allocate channel c1 type disk;

3> restore database;

4> recover database;

5> sql 'alter database open';

6> release channel c1;

7> }

 

RMAN-03022: compiling command: allocate

RMAN-03023: executing command: allocate

RMAN-08030: allocated channel: c1

RMAN-08500: channel c1: sid=17 devtype=DISK

RMAN-03022: compiling command: restore

RMAN-03025: performing implicit partial resync of recovery catalog

RMAN-03023: executing command: partial resync

RMAN-08003: starting partial resync of recovery catalog

RMAN-08005: partial resync complete

RMAN-03022: compiling command: IRESTORE

RMAN-03023: executing command: IRESTORE

RMAN-08016: channel c1: starting datafile backupset restore

RMAN-08502: set_count=4 set_stamp=494074368 creation_time=15-MAY-03

RMAN-08089: channel c1: specifying datafile(s) to restore from backup set

RMAN-08523: restoring datafile 00001 to D:\Oracle\ORADATA\TEST\SYSTEM01.DBF

RMAN-08523: restoring datafile 00002 to D:\Oracle\ORADATA\TEST\RBS01.DBF

RMAN-08523: restoring datafile 00003 to D:\Oracle\ORADATA\TEST\USER01.DBF

RMAN-08523: restoring datafile 00004 to D:\Oracle\ORADATA\TEST\TEMP01.DBF

RMAN-08523: restoring datafile 00005 to D:\Oracle\ORADATA\TEST\TOOLS01.DBF

RMAN-08523: restoring datafile 00006 to D:\Oracle\ORADATA\TEST\INDX01.DBF

RMAN-08023: channel c1: restored backup piece 1

RMAN-08511: piece handle=D:\BACKUP\FULL04EN5UG0_4_1 tag=DBFULL params=NULL

RMAN-08024: channel c1: restore complete

RMAN-03023: executing command: partial resync

RMAN-08003: starting partial resync of recovery catalog

RMAN-08005: partial resync complete

RMAN-03022: compiling command: recover

RMAN-03022: compiling command: recover(1)

RMAN-03022: compiling command: recover(2)

RMAN-03022: compiling command: recover(3)

RMAN-03023: executing command: recover(3)

RMAN-08054: starting media recovery

RMAN-03022: compiling command: recover(4)

RMAN-06050: archivelog thread 1 sequence 327 is already on disk as file D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00327.ARC

RMAN-06050: archivelog thread 1 sequence 328 is already on disk as file D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00328.ARC

RMAN-06050: archivelog thread 1 sequence 329 is already on disk as file D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00329.ARC

RMAN-06050: archivelog thread 1 sequence 330 is already on disk as file D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00330.ARC

RMAN-03023: executing command: recover(4)

RMAN-08515: archivelog filename=D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00327.ARC thread=1 sequence=327

RMAN-08515: archivelog filename=D:\Oracle\ORADATA\TEST\ARCHIVE\TESTT001S00328.ARC thread=1 sequence=328

RMAN-08055: media recovery complete

RMAN-03022: compiling command: sql

RMAN-06162: sql statement: alter database open

RMAN-03023: executing command: sql

RMAN-03022: compiling command: release

RMAN-03023: executing command: release

RMAN-08031: released channel: c1

RMAN>

 

7、 檢查數(shù)據(jù)庫的數(shù)據(jù)(完全恢復(fù))

SQL> select * from test;

                        A

---------------------------------------

                        1

                        2

 

說明:

1、只要有備份與歸檔存在,RMAN也可以實(shí)現(xiàn)數(shù)據(jù)庫的完全恢復(fù)(不丟失數(shù)據(jù));

2、同OS備份數(shù)據(jù)庫恢復(fù),適合于丟失大量數(shù)據(jù)文件,或包含系統(tǒng)數(shù)據(jù)文件在內(nèi)的數(shù)據(jù)庫的恢復(fù);

3、目標(biāo)數(shù)據(jù)庫在mount下進(jìn)行,如果恢復(fù)成功,再打開數(shù)據(jù)庫;

4、RMAN的備份與恢復(fù)命令相對(duì)比較簡(jiǎn)單并可靠,建議有條件的話,都采用RMAN進(jìn)行數(shù)據(jù)庫的備份。

 

4.4不完全恢復(fù)案例

 

4.4.1OS備份下的基于時(shí)間的恢復(fù)

 

不完全恢復(fù)可以分為基于時(shí)間的恢復(fù),基于改變的恢復(fù)與基于撤消的恢復(fù),這里已基于時(shí)間的恢復(fù)為例子來說明不完全恢復(fù)過程。

 

基于時(shí)間的恢復(fù)可以不完全恢復(fù)到現(xiàn)在時(shí)間之前的某一個(gè)時(shí)間,對(duì)于某些誤操作,如刪除了一個(gè)數(shù)據(jù)表,可以在備用恢復(fù)環(huán)境上恢復(fù)到表的刪除時(shí)間之前,然后把該表導(dǎo)出到正式環(huán)境,避免一個(gè)人為的錯(cuò)誤。

 

1、 連接數(shù)據(jù)庫,創(chuàng)建測(cè)試表并插入記錄:

SQL> connect internal/password as sysdba;

Connected.

SQL> create table test(a int);

Table created

SQL> insert into test values(1);

1 row inserted

SQL> commit;

Commit complete

 

2、 備份數(shù)據(jù)庫,這里最好備份所有的數(shù)據(jù)文件,包括臨時(shí)數(shù)據(jù)文件:

SQL> @hotbak.sql或在DOSsvrmgrl @hotbak.sql

或冷備份也可以

 

3、 刪除測(cè)試表,假定刪除前的時(shí)間為T1,在刪除之前,便于測(cè)試,繼續(xù)插入數(shù)據(jù)并應(yīng)用到歸 

檔。

SQL> insert into test values(2);

1 row inserted

SQL> commit;

Commit complete

SQL> select * from test;

                        A

---------------------------------------

                        1

                        2

SQL> alter system switch logfile;

Statement processed.

SQL> alter system switch logfile;

Statement processed.

 

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY

-------------------

2003-05-21 14:43:01

SQL> drop table test;

Table dropped.

 

4、 準(zhǔn)備恢復(fù)到時(shí)間點(diǎn)T1,找回刪除的表,先關(guān)閉數(shù)據(jù)庫:

SQL> shutdown immediate;

Database closed.

Database dismounted.

Oracle instance shut down.

 

5、

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle備份與恢復(fù)案例
使用rman tspitr恢復(fù)被刪除的數(shù)據(jù)或表
Linux平臺(tái)下使用rman進(jìn)行oracle數(shù)據(jù)庫遷移
史上最全Oracle文件損壞處理辦法(附實(shí)驗(yàn)步驟)
數(shù)據(jù)庫備份與恢復(fù)測(cè)試-李濟(jì)宏
Oracle備份/恢復(fù)案例03
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服