oracle存储换硬盘,Oracle 10g RAC 数据存储更换
說(shuō)明
目前數(shù)據(jù)庫(kù)為10gRAC
環(huán)境(10.2.0.4)
,操作系統(tǒng)為
,采用ASM
磁盤組,需要對(duì)存儲(chǔ)進(jìn)行遷移,計(jì)劃遷移采用oracle rman
遷移方案,確保遷移安全可控。本次遷移涉及ocr,vote
盤及DATA
磁盤組的數(shù)據(jù)遷移
環(huán)境如下:
操作系統(tǒng):
HP
數(shù)據(jù)庫(kù):
10.2.0.4
數(shù)據(jù)文件存儲(chǔ)方式:
ASM
數(shù)據(jù)量:
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
整體遷移流程:
不停業(yè)務(wù)準(zhǔn)備:
步驟
流程計(jì)劃
時(shí)間估算
1
操作系統(tǒng)掃描新磁盤
已完成
2
創(chuàng)建新NDATA
磁盤組
(不停機(jī)做)
停業(yè)務(wù)做:
步驟
流程計(jì)劃
時(shí)間估算
1
數(shù)據(jù)庫(kù)全備
50
分鐘(業(yè)務(wù)停止)
2
數(shù)據(jù)文件遷移
90
分鐘
(業(yè)務(wù)不停止)
3
REDO
日志切換到新存儲(chǔ)NDATA
中
30
分鐘(業(yè)務(wù)停止)
4
遷移OCR ,VOTE
盤
50
分鐘
(業(yè)務(wù)停止)
5
重啟三節(jié)點(diǎn)集群,確保OCR
及VOTE
切換正常
20
分鐘
(業(yè)務(wù)停止)
6
遷移參數(shù)文件
20
分鐘
(業(yè)務(wù)停止)
7
遷移控制文件
20
分鐘
(業(yè)務(wù)停止)
8
rename
控制文件中數(shù)據(jù)文件路徑
15
分鐘
(業(yè)務(wù)停止)
9
重建TEMP
表空間
15
分鐘
(業(yè)務(wù)停止)
10
打開(kāi)數(shù)據(jù)庫(kù)
30
分鐘
(業(yè)務(wù)停止)
總結(jié)時(shí)間:
總計(jì)花費(fèi)業(yè)務(wù)停機(jī)時(shí)間 340
分鐘
前期準(zhǔn)備
掛載新磁盤
創(chuàng)建新磁盤組考慮磁盤較多,創(chuàng)建采用asmca
圖形交互界面完成,創(chuàng)建新磁盤過(guò)程中需要調(diào)整ASM
磁盤組的版本參數(shù),創(chuàng)建包括由5
張1G
磁盤組成的OCR
及VOTE
磁盤及若干數(shù)據(jù)盤組成的NDATA
磁盤組。
現(xiàn)場(chǎng)步驟(停業(yè)務(wù)):
全庫(kù)備份
{
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;
}
數(shù)據(jù)文件至新磁盤組
獲取rman備份腳本:
產(chǎn)生腳本文件,考慮到在不影響生產(chǎn)的情況下,采用一個(gè)進(jìn)程處理,不開(kāi)啟并行拷貝:
切換至新磁盤組
redo
通過(guò)增減替換添加至新的磁盤組中
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
的健康狀態(tài)
ocrcheck
ocrconfig -showbackup
B
、如果沒(méi)有,手工備份一下
ocrconfig -export /home/oracle/ocrbak.ocr -s online
C
、使用
OCR
備份還原
ocrconfig -import /home/oracle/ocrbak.ocr
D
、查看
OCR
的健康狀態(tài)
ocrcheck
2)
添加新的
OCR
盤
該步驟會(huì)使用
rhdiskpower5
覆蓋原有鏡像
rhdisk8
ocrconfig -replace ocrmirror /dev/rhdiskpower5
ocrcheck
3)
移除原有
OCR
盤
該步驟會(huì)移除
rhdisk4
,并且
rhdiskpower5
成為
OCR
盤
ocrconfig -replace ocr
ocrcheck
4)
添加新的鏡像
OCR
盤
該步驟會(huì)使
rhdiskpower6
盤成為
ocrmirror
ocrconfig -replace ocrmirror /dev/rhdiskpower6
ocrcheck
注:移除
OCR
鏡像盤,用不到該命令
ocrconfig -replace ocrmirror
遷移vote
磁盤組
當(dāng)添加新的
vote
盤、或者替換時(shí),
vote
盤的內(nèi)容自動(dòng)從備份恢復(fù)
添加
vote
盤時(shí),必須以
root
用戶停止整個(gè)集群
1)
備份
vote
盤
(
備份一份即可,無(wú)需全部備份
)
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
注:所有節(jié)點(diǎn)都執(zhí)行
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)
啟動(dòng)集群
crsctl start crs
所有節(jié)點(diǎn)都執(zhí)行
6)
驗(yàn)證當(dāng)前
vote
盤路徑
crsctl query css votedisk
select name, path, mode_status, state from v$asm_disk order by name;
7)
檢查集群資源狀態(tài)
crs_stat –t
遷移參數(shù)文件
創(chuàng)建數(shù)據(jù)庫(kù)pfile文件
create pfile='/tmp/initorcl.ora' from spfile;
通過(guò)創(chuàng)建的pfile
啟動(dòng)數(shù)據(jù)庫(kù)至nomount
狀態(tài)
create spfile='+NDATA/orcl/spfileorcl.ora' from pfile='/tmp/initorcl.ora';
修改三節(jié)點(diǎn)
$ORACLE_HOME/dbs
下
initorcl.ora
文件,指向磁盤組中的參數(shù)文件位置
重新啟動(dòng)至nomount
狀態(tài)
(startup nomount)
(首先查看數(shù)據(jù)庫(kù)的配置信息
srvctl config database -d orcl -a
通過(guò)srvctl
修改spfile
的位置
srvctl modify database -d orcl -p ‘+ndata/orcl/spfileorcl.ora’
遷移控制文件
重啟實(shí)例是nomount狀態(tài):
修改參數(shù)文件中控制文件的路徑:
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';
啟動(dòng)數(shù)據(jù)庫(kù)至mount狀態(tài)
數(shù)據(jù)文件
select 'alter database rename file '||''''||name||''''||' to '||''''||'+NDATA/ORCL/DATAFILE/'||substr(name,instr(name,'/',-1)+1)||''';' from v$datafile;
獲取以上腳本運(yùn)行結(jié)果,rename
數(shù)據(jù)文件
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;
打開(kāi)數(shù)據(jù)庫(kù)
查詢數(shù)據(jù)文件及控制文件的scn
select name ,CHECKPOINT_CHANGE#?? from v$datafile
select name ,CHECKPOINT_CHANGE#?? from v$datafile_header;
三個(gè)節(jié)點(diǎn)正常打開(kāi)數(shù)據(jù)庫(kù)
歸檔路徑檢查。
檢查
a.
參數(shù)文件、控制文件、數(shù)據(jù)庫(kù)文件、臨時(shí)文件等是否位于正確位置。
b.
sqlplus / as sysasm
dismount
舊的磁盤組
alter diskgroup ocrvt dismount; ?(
三個(gè)節(jié)點(diǎn))
alter diskgroup data dismount;
(三個(gè)節(jié)點(diǎn))
show parameter diskgroup;
修改此參數(shù)
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
修改權(quán)限 root:root
防止機(jī)器重啟,自動(dòng)拉起
d.
重啟數(shù)據(jù)庫(kù)和集群驗(yàn)證。
常用命令:
select name,state,type from v$asm_diskgroup;
select group_number,disk_number,state,name,path from v$asm_disk;
回退措施
1.
修改三節(jié)點(diǎn)$ORACLE_HOME/dbs
下initorcl.ora
文件,指向原磁盤組中的參數(shù)文件位置
2.
啟動(dòng)數(shù)據(jù)庫(kù)到nomount
狀態(tài)
通過(guò)srvctl
修改spfile
的位置
srvctl modify database -d orcl -p ‘+data/orcl/spfileorcl.ora’
3.
還原參數(shù)文件中控制文件的路徑:
alter system set control_files='+DATA/orcl/control01.ctl' scope=spfile sid='*';
4.
將數(shù)據(jù)庫(kù)mount
起來(lái),重建temp
表空間,檢查數(shù)據(jù)文件位置,確認(rèn)無(wú)誤后,開(kāi)啟數(shù)據(jù)庫(kù)。
5.
還原redo
文件
6. dismount
新建磁盤組,并更改其權(quán)限,避免它重新掛上來(lái)
7.
在線還原ocr
盤
8.
停庫(kù),停集群還原vote
盤
9.
重啟集群,集群方法開(kāi)啟數(shù)據(jù)庫(kù)。
總結(jié)
以上是生活随笔為你收集整理的oracle存储换硬盘,Oracle 10g RAC 数据存储更换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求艾开头的成语接龙!
- 下一篇: 神迹凌风和神迹帝卡哪个值得练?