資料庫的冷備份遷移

dotaddjj發表於2011-08-26

昨天幫網友弄了一下資料庫的冷備份然後遷移資料檔案 控制檔案 日誌檔案到目標伺服器

磁碟機代號下。

1 關閉資料庫

Sql>Shutdown immediate

此時是正常關閉資料庫,buffer cache會全部寫到資料檔案中。

2 此時把所有的資料檔案 控制檔案 日誌檔案等copy到目標的磁碟機代號下

Sql>host cp /opt/app/oracle/oradata/test/*.dbf /usr/test/db

Cp /opt/app/oracle/oradata/*.log /usr/test/redo

Cp /opt/app/oracle/oradata/*.ctl /usr/test/ctl

cp spfile初始化引數檔案到新的oracle_home/dbs/spfiletest.ora

此時已經將資料檔案 控制檔案等物理的copy到新的磁碟機代號下。

3 此時在目標磁碟機代號的所在伺服器執行

Startup nomount

Create pfile from spfile

手動修改pfile的檔案,windowspfilespfile預設儲存在oracle_home/database下,linux儲存在oracle_home/dbs下,修改control_files的引數來指定控制檔案的位置

Create spfile from pfile

Shutdown immediate

Startup mount

此時spfile和控制檔案都重新定位成功,需要定位資料檔案和日誌檔案等

4 檢視儲存在控制檔案的資料檔案 日誌檔案等的資訊

Select * from v$datafile

Select * from v$logfile

在資料庫mount狀態重新定位資料檔案和日誌檔案

Alter database rename file ‘opt/app/oracle/oradata/test/system01..dbf’ to /usr/test/db/system01.dbf

Alter database rename file ‘opt/app/oracle/oradata/test/sysaux01..dbf’ to /usr/test/db/sysaux01.dbf

Alter database rename file ‘opt/app/oracle/oradata/test/redo01.log’ to /usr/test/db/redo01.log

….

V$datafilev$logfile全部檔案重新定位,racleopen狀態會按照控制檔案中的資訊來查詢資料檔案和日誌檔案

5 alter database open

開啟資料庫,此時已經完成了所有的資料檔案的冷備份以及遷移,不過發現v動態檢視中臨時檔案沒有修改

Select * from v$tempfile

檢視臨時檔案邏輯儲存位置

雖然臨時檔案不屬於備份部分,但是臨時表空間用來儲存是雜湊 排序等資訊,如果pga的記憶體分配不足,臨時表空間將用與排序 雜湊等,臨時表空間檔案無法定位將導致有些查詢無法進行。

說明一下重建臨時表空間:

資料庫無法修改線上的臨時表空間的,這點和回滾表空間一樣

可以首先create tablespace temp

create temporary tablespace temp01 add tempfile ‘’ size 50M

alter database default temporary tablespace temp01

有時可能無法刪除所以可以先將其離線

Alter tablespace temp offline

drop tablespace temp including contents and datafiles

此時新的臨時表空間將上線使用。

當然也可以在資料遷移時把臨時檔案也重新定位下,就可以避免上述問題

Alter database rename file ‘opt/app/oracle/oradata/test/temp01..dbf’ to /usr/test/db/temp01.dbf

最後還要處理的spfile有些引數的設定,例如spfile中儲存的一些後臺跟蹤日誌background_dump_destuser_dump_destlog_archive_dest_1omf管理的引數的設定等

Alter system set background_dump_dest ——警告日誌的儲存位置

Alter system set user_dump_dest ——使用者跟蹤日誌儲存位置

Alter system set log_archive_dest_1=’location= ’ ——歸檔日誌的儲存位置

Alter system set db_recover_file_dest ——oracle 10G閃回區 儲存預設的控制檔案自動備份集 rman備份集 閃回日誌等

Alter system set db_create_file_dest ——OMF管理資料檔案引數

等等,都需要重新檢查設定。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1054415/,如需轉載,請註明出處,否則將追究法律責任。

相關文章