Oracle ASM(自動儲存管理系統)是oracle官方提供的資料庫檔案儲存管理系統,相對於其他檔案儲存體系統而言,AMS在負載平衡、效能最佳化和冗餘保護方面具體較大的優勢。目前ORACLE推薦資料庫使用AMS來儲存資料庫相應的檔案,而且11g RAC模式下只能用ASM管理儲存或OCFS管理儲存,已經不可以使用裸裝置當共用儲存。本實驗是類比資料庫從普通檔案系統(資料檔案直接儲存在作業系統上)遷移到ORACLE ASM儲存上。
環境:
遷移涉及的磁碟組:
sys@+asm(asm.com)> create diskgroup fra external redundancy disk '/dev/asm*[n-s]';
sys@+asm(asm.com)> create diskgroup data external redundancy disk '/dev/asm*[b-m]';
遷移的資料庫名稱:szpms
一. 準備工作
1. 相容性參數確認COMPATIBLE
如果資料庫初始化參數COMPATIBLE少於11.0.0,那麼需要將所有的唯讀
資料表空間設定為讀寫資料表空間
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 11.2.0.4.0
2. 如果資料庫是物理備庫,停止日誌應用恢複
邏輯備庫是主要資料庫的一份copy,作為容災用的。通過下面命令停止日誌應用恢複。
SQL> ALTER DATABASE RECOVERY MANAGED STANDBY DATABASE CANCEL;
保持這個終端視窗開啟狀態。
3. 複製spfile或者pfile到臨時儲存位置
$ cp spfileszpms.ora orig_spfileszpms.ora
4. 開啟一個新的視窗,使用RMAN串連到目標資料庫
$ rlwrap rman target /
5. 備份資料檔案到ASM磁碟組
使用0級增量備份。0級備份與全庫備份一樣都備份了資料庫裡面所有被使用過的資料區塊,但是全庫備份不能作為增量備份的起點。
備份指令碼:
run
{
allocate channel dev1 device type disk;
allocate channel dev2 device type disk;
backup as copy incremental level 0 database format '+data' tag 'ora_asm_migration';
}
6. 確認是否開啟BCT特性(可選)
如果開啟了BCT特性(block change tracking),則可以做個1級增量備份一般後續恢複資料庫
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
BACKUP AS COPY
INCREMENTAL LEVEL 1
DATABASE FORAMT ‘+DATA’
TAG ‘ORA_ASM_MIGRATION’;
}
7. 如果資料庫開啟了歸檔模式,則使用下面命令歸檔下時下redo log
RMAN> SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";
8. 如果資料庫使用的spfile,則備份下spfile
RMAN> BACKUP AS BACKUPSET SPFILE;
9. 如果開啟了BCT,則需要禁用下
SQL> select status, filename from v$block_change_tracking;--查詢是否開啟BCT特性
RMAN> SQL "ALTER DATABASE DISABLE BLOCK CHANGE TRACKING";
10. 如果flashback database開啟的話,需先禁用並刪除掉所有還原點
SQL> select FLASHBACK_ON from v$database;--查看是否開啟了flashback database特性
RMAN> SQL "ALTER DATABASE FLASHBACK OFF";
RMAN> SQL "DROP RESTORE POINT Q106";
11. 關閉資料庫(乾淨)
RMAN> SHUTDOWN IMMEDIATE;
推薦閱讀:
如何修改ASM的sys密碼
如何將ASM中的資料檔案複製到作業系統中
Oracle 11g RAC ASM磁碟全部丟失後的恢複
Oracle 11g從入門到精通 PDF+光碟片原始碼
RHEL6 ASM方式安裝Oracle 11g R2
Oracle 10g 手工建立ASM資料庫
Ubuntu 12.04(amd64)安裝完Oracle 11gR2後各種問題解決方案
如何修改Oracle 10g ASM的sys密碼