數據庫還原流程v3.0(from32 to 64bit)

[@more@]

數據庫還原流程v3.0(from32 to 64bit)

說明:

當澳門通數據庫出現問題或需要把數據庫還原到某一天的備份

準備:

把需要還原的備份檔案複製到伺服器以下目錄:

/u04/flash_recovery_area/MPACC/backupset/

/u04/flash_recovery_area/MPACC/archivelog/

/u04/flash_recovery_area/MPACC/autobackup/

詳細流程: (以還原2009-01-07日備份為例子)

1. 使用oracle用戶登入伺服器

2. 打開terminal, 登入RMAN

[oracle@localhost ~]$ rman target / ( rman target sys/mpacc@mpacc, emcmpacc換成mpemc)

Recovery Manager: Release 10.2.0.1.0 - Production on Sat Apr 12 07:37:57 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: MPACC (DBID=2777576922)

3. 停止數據庫

RMAN> shutdown immediate;

using target database control file instead of recovery catalog

database closed

database dismounted

Oracle instance shut down

4. 啟動數據庫成nomount模式

RMAN> startup nomount;

connected to target database (not started)

Oracle instance started

Total System Global Area 444596224 bytes

Fixed Size 1219904 bytes

Variable Size 100664000 bytes

Database Buffers 339738624 bytes

Redo Buffers 2973696 bytes

5. 從備份還原controlfil (指明使用含有controlfile的備份檔案, 一般是檔案size較少的一個)

RMAN> restore controlfile from '/u04/flash_recovery_area/MPEMC/autobackup/2009_01_12/o1_mf_s_675910722_4pn9b3n6_.bkp';

Starting restore at 12-APR-08

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:04

output filename=/u01/app/oracle/oradata/MPACC/control01.ctl

output filename=/u01/app/oracle/oradata/MPACC/control02.ctl

output filename=/u01/app/oracle/oradata/MPACC/control03.ctl

Finished restore at 12-APR-08

6. 啟動數據庫成mount模式

RMAN> alter database mount;

database mounted

6.2、将备份集拷贝到相应目录,向控制文件中加载备份集(可選)

RMAN> catalog start with '/u04/flash_recovery_area/MPEMC/backupset/2009_01_12/';

7. 從備份還原數據檔案

RMAN> restore database;

Starting restore at 12-APR-08

Starting implicit crosscheck backup at 12-APR-08

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=157 devtype=DISK

allocated channel: ORA_DISK_2

channel ORA_DISK_2: sid=155 devtype=DISK

Crosschecked 2 objects

Crosschecked 24 objects

Finished implicit crosscheck backup at 12-APR-08

Starting implicit crosscheck copy at 12-APR-08

using channel ORA_DISK_1

using channel ORA_DISK_2

Finished implicit crosscheck copy at 12-APR-08

searching for all files in the recovery area

cataloging files...

cataloging done

List of Cataloged Files

=======================

File Name: /u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_09/o1_mf_1_7369_3zqj7rwp_.arc

File Name: /u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_09/o1_mf_1_7377_3zqjz3b1_.arc

File Name: /u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_09/o1_mf_1_7379_3zqq8l49_.arc

...........................................

using channel ORA_DISK_1

using channel ORA_DISK_2

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /u01/app/oracle/oradata/MPACC/system01.dbf

restoring datafile 00007 to /u01/app/oracle/oradata/MPACC/ud1_1.dbf

………………………………

channel ORA_DISK_2: restore complete, elapsed time: 00:12:08

channel ORA_DISK_1: restored backup piece 1

piece handle=/u01/app/oracle/flash_recovery_area/MPACC/backupset/2008_04_09/o1_mf_nnndf_BACKUP_MPACC_00046_0_3zq9yh47_.bkp tag=BACKUP_MPACC_00046_040908010003

channel ORA_DISK_1: restore complete, elapsed time: 00:06:02

Finished restore at 12-APR-08

8. 退出RMAN

RMAN> exit;

9. 使用sqlplus登入數據庫

[oracle@localhost ~]$ sqlplus / as sysdba (sqlplus sys/mpacc@mpacc as sysdba, emc換成mpemc)

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Apr 12 08:21:30 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

10. 開始恢復數據庫, 並輸入”auto”自動尋找archivelog

SQL> recover database using backup controlfile until cancel;

ORA-00279: change 216664609 generated at 04/09/2008 01:00:19 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_12/o1_mf_1_7366_%u_.arc

ORA-00280: change 216664609 for thread 1 is in sequence #7366

Specify log: {=suggested | filename | AUTO | CANCEL}

auto

ORA-00279: change 216669053 generated at 04/09/2008 01:24:32 needed for thread 1

ORA-00289: suggestion :

/u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_12/o1_mf_1_7367_%u_.arc

ORA-00280: change 216669053 for thread 1 is in sequence #7367

ORA-00278: log file

'/u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_09/o1_mf_1_7366_3z

qbljmz_.arc' no longer needed for this recovery

………………………………

ORA-00308: cannot open archived log

'/u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_12/o1_mf_1_7380_%u_.arc'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

11. 把數據庫啟動成open模式

SQL> alter database open resetlogs migrate;

startup upgrade

Database altered.

alter database open resetlogs migrate;

12. 如果能夠如上成功open, 數據庫還原完成

注意:

- 7步及第8步時要留意系統是否讀取了正確備份資料夾, 否則需要在以下目錄把舊的備份刪除或移走

/u01/app/oracle/flash_recovery_area/MPACC/backupset/

/u01/app/oracle/flash_recovery_area/MPACC/archivelog/

/u01/app/oracle/flash_recovery_area/MPACC/autobackup/

/u01/app/oracle/flash_recovery_area/MPACC/onlinelog/

- 8步若輸入auto也不懂得自動尋找正確文件, 則需要人工輸入archivelog的文件路徑, /u01/app/oracle/flash_recovery_area/MPACC/archivelog/2008_04_12/o1_mf_1_7380_%u_.arc

補充資料 還到數據庫到64-bit系統注意事項

1. 改變數據文件路徑

在第7”restore database” 前需要把數據文件的路徑更改, 準備好rman的腳本文件後在rman鍵入

RMAN> @/script_path/rman-acc.sh

@/u04/recoverdb/rman_emc.sh

相關的腳本請參考rman-acc.shrman-emc.sh附件, 內容如下:

run {

set newname for datafile 4 to '/u02/oradata/MPACC/users01.dbf';

set newname for datafile 3 to '/u02/oradata/MPACC/sysaux01.dbf';

set newname for datafile 2 to '/u02/oradata/MPACC/undotbs01.dbf';

set newname for datafile 1 to '/u02/oradata/MPACC/system01.dbf';

set newname for datafile 5 to '/u02/oradata/MPACC/pd0701_1.dbf';

...

...

restore database;

switch datafile all;

}

2. 改變redo文件路徑

在第11open數據庫前需要更改redo日誌文件路徑

相關sql腳本如下:

-acc

alter database rename file '/u01/app/oracle/oradata/MPACC/redo01.log' to '/u02/oradata/MPACC/redo01.log';

alter database rename file '/u01/app/oracle/oradata/MPACC/redo02.log' to '/u02/oradata/MPACC/redo02.log';

alter database rename file '/u01/app/oracle/oradata/MPACC/redo03.log' to '/u02/oradata/MPACC/redo03.log';

--emc

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo01.log' to '/u04/oradata/MPEMC/redo01.log';

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo01b.log' to '/u04/oradata/MPEMC/redo01b.log';

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo02.log' to '/u04/oradata/MPEMC/redo02.log';

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo02b.log' to '/u04/oradata/MPEMC/redo02b.log';

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo03.log' to '/u04/oradata/MPEMC/redo03.log';

alter database rename file '/u01/app/oracle/oradata/MPEMC/redo03b.log' to '/u04/oradata/MPEMC/redo03b.log';

alter database rename file ' /u01/app/oracle/oradata/MPEMC/temp01.dbf' to '/u04/oradata/MPEMC/ temp01.dbf;

3. 重新編譯系統包

成功open數據庫後需要重新對系統包進行編譯, 相關sql如下:

SQL> @$ORACLE_HOME/rdbms/admin/utlirp.sql

SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

4. 重建臨時表空間

成功open數據庫後需要重建臨時表空間, 相關sql如下(emc例子):

alter tablespace TEMP offline

CREATE SMALLFILE TEMPORARY TABLESPACE TD4

TEMPFILE

'/u04/oradata/MPEMC/td4_1.dbf' SIZE 16M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TD4;

drop tablespace TEMP;

CREATE SMALLFILE TEMPORARY TABLESPACE TEMP

TEMPFILE

'/u04/oradata/MPEMC/temp01.dbf' SIZE 768M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;

drop tablespace td4 INCLUDING CONTENTS AND DATAFILES;

5. 更改用戶密碼及解鎖sql

Sql> alter user USERNAME identified by ‘password’;

Sql> alter user SYSMAN account unlock;

alter user DBSNMP account unlock;

6. 重新設置Oracle EM

成功還原數據庫後需要重新設定Oracle EM程序, 執下以下命令及輸入有關資訊

注意: 有時候還原數據庫後SYSMAN用戶被鎖了, 請進行解鎖後才設置OEM

Linux shell> emca -config dbcontrol db -repos recreate

7. 更改Oracle中的xml Directory數徑

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10815501/viewspace-1018203/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10815501/viewspace-1018203/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值