Oracle 10g RAC 資料儲存更換
說明
目前資料庫為10gRAC 環境(10.2.0.4) ,作業系統為 ,採用ASM 磁碟組,需要對儲存進行遷移,計劃遷移採用oracle rman 遷移方案,確保遷移安全可控。本次遷移涉及ocr,vote 盤及DATA 磁碟組的資料遷移
環境如下:
作業系統:
HP
資料庫:
10.2.0.4
資料檔案儲存方式:
ASM
資料量: 131GB
Data 盤大小: 800000MB
Data 盤:
NAME |
PATH |
MODE_ST STATE |
DGAM_0000 |
/dev/vgora/rlvasm1 |
ONLINE NORMAL |
DGAM_0001 |
/dev/vgora/rlvasm2 |
ONLINE NORMAL |
DGAM_0002 |
/dev/vgora/rlvasm3 |
ONLINE NORMAL |
DGAM_0003 |
/dev/vgora/rlvasm4 |
ONLINE NORMAL |
Ocr 盤:
[u@h /oracle/product/10.2.0/crs/bin]$ ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 1048300
Used space (kbytes) : 6476
Available space (kbytes) : 1041824
ID : 1756826852
Device/File Name : /dev/vgora/rlvocr1
Device/File integrity check succeeded
Device/File Name : /dev/vgora/rlvocr2
Device/File integrity check succeeded
Cluster registry integrity check succeeded
Vote 盤:
[u@h /oracle/product/10.2.0/crs/bin]$ ./crsctl query css votedisk
0. 0 /dev/vgora/rlvvot1
1. 0 /dev/vgora/rlvvot2
2. 0 /dev/vgora/rlvvot3
整體遷移流程:
不停業務準備:
步驟 |
流程計劃 |
時間估算 |
1 |
作業系統掃描新磁碟 |
已完成 |
2 |
建立新NDATA 磁碟組 |
(不停機做) |
停業務做:
步驟 |
流程計劃 |
時間估算 | |
1 |
資料庫全備 |
50 分鐘(業務停止) | |
2 |
資料檔案遷移 |
90 分鐘 (業務不停止) | |
3 |
REDO 日誌切換到新儲存NDATA 中 |
30 分鐘(業務停止) | |
4 |
遷移OCR ,VOTE 盤 |
50 分鐘 (業務停止) | |
5 |
重啟三節點叢集,確保OCR 及VOTE 切換正常 |
20 分鐘 (業務停止) | |
6 |
遷移引數檔案 |
20 分鐘 (業務停止) | |
7 |
遷移控制檔案 |
20 分鐘 (業務停止) | |
8 |
rename 控制檔案中資料檔案路徑 |
15 分鐘 (業務停止) | |
9 |
重建TEMP 表空間 |
15 分鐘 (業務停止) | |
10 |
開啟資料庫 |
30 分鐘 (業務停止) | |
|
|
|
|
總結時間:
總計花費業務停機時間 340 分鐘
前期準備
掛載新磁碟
建立新磁碟組考慮磁碟較多,建立採用asmca 圖形互動介面完成,建立新磁碟過程中需要調整ASM 磁碟組的版本引數,建立包括由5 張1G 磁碟組成的OCR 及VOTE 磁碟及若干資料盤組成的NDATA 磁碟組。
現場步驟(停業務):
全庫備份
{
allocate channel c1 type disk;
sql 'alter system archive log current';
backup as backupset database format '/orabak/backup1126/rmanfull_%d_%T_%s_%p.bak' include current controlfile;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup format '/orabak/backup1126/rmanarch_full%T%U' archivelog all;
backup spfile format '/orabak/backup1126/spfile_%d_%T_%s_%p.bak';
backup current controlfile format '/orabak/backup1126/control_%d_%T_%s_%p.bak';
release channel c1;
}
資料檔案至新磁碟組
獲取rman備份指令碼:
產生指令碼檔案,考慮到在不影響生產的情況下,採用一個程式處理,不開啟並行複製:
切換至新磁碟組
redo 透過增減替換新增至新的磁碟組中
SQL> select GROUP#,THREAD#,BYTES,STATUS from v$log;
GROUP# THREAD# BYTES STATUS
---------- ---------- ---------- ----------------
1 1 52428800 ACTIVE
2 1 52428800 CURRENT
3 2 52428800 ACTIVE
4 2 52428800 CURRENT
5 3 52428800 CURRENT
6 3 52428800 ACTIVE
7 1 52428800 ACTIVE
8 2 52428800 ACTIVE
9 3 52428800 ACTIVE
常用命令:
alter database add logfile thread 2 group 14 ('+ndata') size 50m;
alter database drop logfile group 1;
alter system archive log current;
alter system checkpoint;
備份控制檔案
backup current controlfile format '/tmp/control.bak';
遷移OCR 磁碟組
1)
確保
OCR
有最近的備份
A
、檢視
OCR
的健康狀態
ocrcheck
ocrconfig -showbackup
B
、如果沒有,手工備份一下
ocrconfig -export /home/oracle/ocrbak.ocr -s online
C
、使用
OCR
備份還原
ocrconfig -import /home/oracle/ocrbak.ocr
D
、檢視
OCR
的健康狀態
ocrcheck
2)
新增新的
OCR
盤
該步驟會使用
rhdiskpower5
覆蓋原有映象
rhdisk8
ocrconfig -replace ocrmirror /dev/rhdiskpower5
ocrcheck
3)
移除原有
OCR
盤
該步驟會移除
rhdisk4
,並且
rhdiskpower5
成為
OCR
盤
ocrconfig -replace ocr
ocrcheck
4)
新增新的映象
OCR
盤
該步驟會使
rhdiskpower6
盤成為
ocrmirror
ocrconfig -replace ocrmirror /dev/rhdiskpower6
ocrcheck
注:移除
OCR
映象盤,用不到該命令
ocrconfig -replace ocrmirror
遷移vote 磁碟組
當新增新的
vote
盤、或者替換時,
vote
盤的內容自動從備份恢復
新增
vote
盤時,必須以
root
使用者停止整個叢集
1)
備份
vote
盤
(
備份一份即可,無需全部備份
)
dd if=/dev/rhdisk22 of=/home/oracle/votebak6.vote
dd if=/dev/rhdisk23 of=/home/oracle/votebak7.vote
dd if=/dev/rhdisk24 of=/home/oracle/votebak8.vote
2)
停止叢集
crsctl stop crs
注:所有節點都執行
3)
新增
vote
盤
crsctl add css votedisk /dev/rhdiskpower0 -force
# crsctl add css votedisk /dev/rhdiskpower0 -force
Now formatting voting disk: /dev/rhdiskpower0
successful addition of votedisk /dev/rhdiskpower0.
4)
移除原
vote
盤
crsctl delete css votedisk /dev/rhdisk22 -force
5)
啟動叢集
crsctl start crs
所有節點都執行
6)
驗證當前
vote
盤路徑
crsctl query css votedisk
select name, path, mode_status, state from v$asm_disk order by name;
7)
檢查叢集資源狀態
crs_stat –t
遷移引數檔案
建立資料庫pfile檔案
create pfile='/tmp/initorcl.ora' from spfile;
透過建立的pfile 啟動資料庫至nomount 狀態
create spfile='+NDATA/orcl/spfileorcl.ora' from pfile='/tmp/initorcl.ora';
修改三節點 $ORACLE_HOME/dbs 下 initorcl.ora 檔案,指向磁碟組中的引數檔案位置
重新啟動至nomount 狀態 (startup nomount)
(首先檢視資料庫的配置資訊
srvctl config database -d orcl -a
透過srvctl 修改spfile 的位置
srvctl modify database -d orcl -p ‘+ndata/orcl/spfileorcl.ora’
遷移控制檔案
重啟例項是nomount狀態:
修改引數檔案中控制檔案的路徑:
alter system set control_files='+NDATA/orcl/control01.ctl' scope=spfile sid='*';
Restore 控制檔案:
rman:
restore controlfile to '+NDATA/orcl/control01.ctl' from '+DATA/ASM/CONTROLFILE/control01.ctl.286.968939085';
啟動資料庫至mount狀態
資料檔案
select 'alter database rename file '||''''||name||''''||' to '||''''||'+NDATA/ORCL/DATAFILE/'||substr(name,instr(name,'/',-1)+1)||''';' from v$datafile;
獲取以上指令碼執行結果,rename 資料檔案
alter database rename file '+DATA/orcl/datafile/system.259.967068683' to '+NDATA/orcl/datafile/SYSTEM.bdf';
alter database rename file '+DATA/orcl/datafile/sysaux.260.967068697' to '+NDATA/orcl/datafile/sysaux.bdf';
alter database rename file '+DATA/orcl/datafile/undotbs1.261.967068711' to '+NDATA/orcl/datafile/undotbs1.bdf';
alter database rename file '+DATA/orcl/datafile/undotbs2.263.967068729' to '+NDATA/orcl/datafile/undotbs2.bdf';
alter database rename file '+DATA/orcl/datafile/users.264.967068735' to '+NDATA/orcl/datafile/users.bdf';
重建TEMP 檔案
s elect 'alter database rename file '||''''||name||''''||' to '||''''||'+data/orcl/datafile/'||substr(name,instr(name,'/',-1)+1)||''''||';' from v$tempfile;
開啟資料庫
查詢資料檔案及控制檔案的scn
select name ,CHECKPOINT_CHANGE# from v$datafile
select name ,CHECKPOINT_CHANGE# from v$datafile_header;
三個節點正常開啟資料庫
歸檔路徑檢查。
檢查
a.
引數檔案、控制檔案、資料庫檔案、臨時檔案等是否位於正確位置。
b.
sqlplus / as sysasm
dismount 舊的磁碟組
alter diskgroup ocrvt dismount; ( 三個節點)
alter diskgroup data dismount; (三個節點)
show parameter diskgroup; 修改此引數
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string NDATA
c.
[oracle@rac2 ~]$ srvctl modify database -d orcl -a "ndata"
[oracle@rac2 ~]$ srvctl config database -d orcl -a
Database unique name: orcl
Database name: orcl
Oracle home: /oracle/app/product/11.2.0/db_1
Oracle user: oracle
Spfile: +NDATA/orcl/spfileorcl.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: orcl
Database instances: orcl1,orcl2
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is enabled
Database is administrator managed
修改許可權 root:root
防止機器重啟,自動拉起
d. 重啟資料庫和叢集驗證。
常用命令:
select name,state,type from v$asm_diskgroup;
select group_number,disk_number,state,name,path from v$asm_disk;
回退措施
1. 修改三節點$ORACLE_HOME/dbs 下initorcl.ora 檔案,指向原磁碟組中的引數檔案位置
2. 啟動資料庫到nomount 狀態
透過srvctl 修改spfile 的位置
srvctl modify database -d orcl -p ‘+data/orcl/spfileorcl.ora’
3. 還原引數檔案中控制檔案的路徑:
alter system set control_files='+DATA/orcl/control01.ctl' scope=spfile sid='*';
4. 將資料庫mount 起來,重建temp 表空間,檢查資料檔案位置,確認無誤後,開啟資料庫。
5. 還原redo 檔案
6. dismount 新建磁碟組,並更改其許可權,避免它重新掛上來
7. 線上還原ocr 盤
8. 停庫,停叢集還原vote 盤
9. 重啟叢集,叢集方法開啟資料庫。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69993859/viewspace-2755782/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle RAC 更換儲存遷移資料Oracle
- 【RAC】RAC更換心跳地址和RAC更換儲存主要步驟
- ORACLE 10g RAC 遷移共享儲存Oracle 10g
- RAC資料庫心跳更換方案資料庫
- RAC變更ASMSPFILE儲存位置(轉)ASM
- 日立HDS VM儲存更換硬碟硬碟
- oracle 11.2.0.3 rac資料庫線上新增ASM儲存空間Oracle資料庫ASM
- aix 下 oracle 11.2 rac 把資料遷移到新儲存AIOracle
- 為儲存再更換一塊硬碟硬碟
- Oracle資料儲存結構Oracle
- AIX系統儲存故障後的Oracle 10g RAC恢復過程AIOracle 10g
- Oracle RAC 體系結構--儲存Oracle
- RAC資料庫一節點更換HBA卡導致emc儲存裝置序號變動處理記錄資料庫
- oracle 11g rac 共享儲存壞掉後資料庫恢復Oracle資料庫
- oracle 10g rac on solaris 10 x86_配置共享儲存_利用vmware server 1.0.6Oracle 10gServer
- 低程式碼平臺+阿里雲端儲存:讓業務開發更簡單,資料儲存更安全阿里
- oracle資料塊中資料儲存(摘錄)Oracle
- 簡單分析oracle的資料儲存Oracle
- Oracle大物件資料儲存簡介Oracle物件
- 資料儲存--檔案儲存
- 檔案系統儲存與oracle資料庫儲存對比Oracle資料庫
- oracle 10g rac資料庫不能自動啟動Oracle 10g資料庫
- 資料儲存
- oracle資料泵方式更換資料預設表空間.Oracle
- 資料庫伺服器備份儲存更換不受任何影響的便捷操作方法資料庫伺服器
- 資料儲存(1):從資料儲存看人類文明-資料儲存器發展歷程
- ORACLE資料檔案儲存之我見Oracle
- oracle資料型別與儲存結構Oracle資料型別
- 按照online文件在Linux下安裝Oracle 10g RAC(二.儲存準備)LinuxOracle 10g
- Mysql更換MyISAM儲存引擎為Innodb的操作記錄MySql儲存引擎
- 用於大資料儲存:國產10G光纖網路卡大資料
- Oracle 10g RAC NFSOracle 10gNFS
- Oracle 10g RAC TAFOracle 10g
- 【RAC】儲存陣列電源故障導致RAC資料庫異常掛起陣列資料庫
- 資料儲存:CoreData
- iOS 資料儲存iOS
- IOS資料儲存iOS
- Oracle 12.1 RAC安裝新主機,識別老儲存和恢復資料庫例子Oracle資料庫