oracle rac11g更换存储,11g rac更换存储
環境描述
RAC使用的主機3臺 os version ? redhat as 6.2
cluster和database version ? ? 11.2.0.3
一.使用os的udev命令標識asm使用的磁盤文件
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36005076802810c1a5800000000000008", NAME="asm_a1_ocr1", ?OWNER="grid", ?GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36005076802810c1a5800000000000009", NAME="asm_a1_ocr2", ?OWNER="grid", ?GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36005076802810c1a580000000000000a", NAME="asm_a1_ocr3", ?OWNER="grid", ?GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36005076802810c1a580000000000000c", NAME="asm_a1_disk1", ?OWNER="grid", ?GROUP="asmadmin", MODE="0660"
--重新啟動udev
/sbin/start_udev
二.創建磁盤組
--以sysasm身份登陸創建磁盤組
create diskgroup ocr external redundancy disk ?'/dev/asm_a1_ocr1' attribute 'compatible.asm'='11.2';
create diskgroup pay external redundancy disk ?'/dev/asm_a1_disk1';
--修改asm的屬性(如果創建磁盤組的時候未加asm屬性)
alter diskgroup ocr set attribute 'COMPATIBLE.ASM'='11.2';
--查看磁盤組
select name,total_mb,free_mb,COMPATIBILITY,state from ?v$asm_diskgroup;
--在cluster的所有節點上啟動創建的新磁盤組
srvctl start diskgroup -g ocr
srvctl start diskgroup -g pay
--檢查cluster資源狀態(以oracle用戶執行)
crsctl status resource -t
crsctl status resource -t
三.以root用戶換ocr
--先增加一個鏡像磁盤組,然后刪除原來的磁盤組
/oracle/11.2.0/grid/bin/ocrconfig -add +OCR
/oracle/11.2.0/grid/bin/ocrconfig -delete +ocr_vote_pay1
--檢查ocr
/oracle/11.2.0/grid/bin/ocrcheck
四.以grid用戶換votedisk
crsctl query css votedisk
crsctl replace votedisk +OCR
五.更換asm實例的spfile
--整個cluster最好只啟動一個節點,將其它節點的cluster關閉(以root用戶)
/oracle/11.2.0/grid/bin/crsctl stop crs
--更換asm實例的spfile
create pfile='/tmp/initasm1.ora' from spfile;
startup pfile='/oracle/11.2.0/grid/dbs/initasm1.ora'
create spfile='+OCR' from pfile='/tmp/initasm1.ora';
--重新啟動本節點的高可用服務
/oracle/11.2.0/grid/bin/crsctl stop has
/oracle/11.2.0/grid/bin/crsctl start has
/***
如果沒有關閉其他節點的cluster,那么更新asm的spfile文件時會報以下錯誤
SQL> create spfile='+OCR' from pfile='/oracle/11.2.0/grid/dbs/initasm.ora';
create spfile='+OCR' from pfile='/oracle/11.2.0/grid/dbs/initasm.ora'
*
ERROR at line 1:
ORA-29783: GPnP attribute SET failed with error [CLSGPNP_NOT_FOUND]
根據metalink解釋:此問題還有另外一種解決方法:就是殺死不健康的gpnpd.bin進程,然GI自動重啟動此進程.
***/
六.更換數據庫的spfile
--生成臨時的pfile文件
create pfile='/tmp/initpay.ora' from spfile;
--在新的磁盤組上創建spfile文件
create spfile ='+PAY' from pfile='/tmp/initpay.ora';
--修改cluster配置文件中的參數文件位置
srvctl config database -d pay
--spfile的具體位置可以使用asmcmd命令查看
srvctl modify database -d pay -p +PAY/PAY/PARAMETERFILE/spfile.288.824166281'
七.更換數據庫的磁盤組
--1.查詢表空間及其數據文件
set linesize 300
col fname format A60
select ts.name tname,df.file#,df.name fname from v$tablespace ts,v$datafile df
where ts.ts#=df.ts# order by 1;
--2.更換數據庫非系統使用的磁盤組(system/sysaux/undo)[更換時,數據庫可以是open狀態]
sql 'alter tablespace USERS offline';
backup device type disk as copy datafile 5 format '+PAY';
switch tablespace USERS ?to copy;
sql 'alter tablespace USERS online';
--3.更換數據庫系統使用的磁盤組(system/sysaux/undo)[更換時,數據庫不允許為open狀態]
--先建立數據文件映像副本
backup as copy tablespace system format '+PAY';
backup as copy tablespace sysaux format '+PAY';
backup as copy tablespace UNDOTBS1 format '+PAY';
backup as copy tablespace UNDOTBS2 format '+PAY';
backup as copy tablespace UNDOTBS3 format '+PAY';
--啟動數據庫到mount
shutdown immediate;
startup mount;
--切換表空間數據文件到映像副本
switch tablespace system to copy;
switch tablespace sysaux to copy;
switch tablespace UNDOTBS1 to copy;
switch tablespace UNDOTBS2 to copy;
switch tablespace UNDOTBS3 to copy;
--恢復數據庫
recover database;
--打開數據庫
alter database open;
--4.更換臨時文件
alter tablespace temp add tempfile '+PAY';
alter tablespace temp drop tempfile '+PAY/pay/tempfile/temp.274.824146081';
--5.更換redo log
--查看重做日志組和成員
select * from v$Logfile order by group#;
select * from v$Log;
--增加重做日志成員
alter database add logfile member '+PAY' to group 1;
alter database add logfile member '+PAY' to group 2;
alter database add logfile member '+PAY' to group 3;
alter database add logfile member '+PAY' to group 4;
alter database add logfile member '+PAY' to group 5;
alter database add logfile member '+PAY' to group 6;
alter database add logfile member '+PAY' to group 7;
alter database add logfile member '+PAY' to group 8;
alter database add logfile member '+PAY' to group 9;
--刪除舊的重做日志成員
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_7.263.820542373';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_2.262.820542367';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_1.261.820542365';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_5.267.820542451';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_6.268.820542453';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_9.269.820542459';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_3.270.820542463';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_4.271.820542465';
alter database drop logfile member '+PAY_TMP/pay/onlinelog/group_8.272.820542467';
--6.更換control file
--更新spfile中的control_file參數
alter system set control_files='+PAY_TMP/trade/controlfile/control01.ctl','+TRADE' scope=spfile sid='*';
--重新啟動數據庫
shutdown immediate;
startup nomount;
--使用rman創建新的控制文件
RMAN> connect target /
RMAN> restore controlfile from '+PAY_TMP/trade/controlfile/control01.ctl';
--更新spfile中的control_file參數
alter system set control_files='+TRADE/trade/controlfile/current.275.824169817' scope=spfile sid='*';
八.下線舊的磁盤組
--1.舊的磁盤足離線
srvctl stop diskgroup -g PAY_TMP
跟蹤一段時間如果確實沒有問題再進行離線操作
--2.僅僅在一個asm實例上mount磁盤組
--mount要離線的磁盤組
alter diskgroup PAY_TMP mount;
--刪除磁盤組
drop diskgroup PAY_TMP including contents;
閱讀(4475) | 評論(0) | 轉發(0) |
總結
以上是生活随笔為你收集整理的oracle rac11g更换存储,11g rac更换存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle中rac是什么意思,Orac
- 下一篇: php substr四个参数,PHP s