rac遷移ocr,votedisk,引數檔案,資料檔案,控制檔案,密碼檔案,redo,undo,temp,asm磁碟
概述:資料庫沒有開啟歸檔,當前環境12.1。votedg(normal)遷移到dg_vote(external),把votedg下的磁碟新增到dg_vote中,並幹掉votedg
因為只建立了votedg磁碟組,cdb,pdb也建立在上面,過程還是比較複雜,因為資料庫很多檔案都放在votedg上,不同的檔案有不同的遷移方式。
遷移目標:
資料檔案,臨時資料檔案,undo,redo,密碼檔案(asm,db),控制檔案(db),引數檔案(asm,db),ocr,votedisk
pdb:資料檔案,臨時資料檔案(因為pdb新建的,直接刪除pdb,減少遷移複雜性)
1.刪除pdb(空pdb,所以先刪了,PDB$SEED得保留):
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB MOUNTED
4 PDB1 MOUNTED
alter pluggable database PDB unplug into '/home/oracle/PDB.xml';
drop pluggable database PDB including datafiles;
alter pluggable database PDB1 unplug into '/home/oracle/PDB1.xml';
drop pluggable database PDB1 including datafiles;
SQL> sho pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
2.asmdisk遷移
asmdisk資訊:
GROUP_NUMBER ASM_GROUP_ TYPE DISK_NUMBER DISK_NAME PATH OS_MB FREE_MB FAILGROUP
------------ ---------- -------- ----------- -------------------- -------------------- ---------- ---------- -------------
1 VOTEDG NORMAL 0 VOTEDG_0000 /dev/asmvote01 10240 8647 VOTEDG_0000
1 VOTEDG NORMAL 1 VOTEDG_0001 /dev/asmvote02 10240 8644 VOTEDG_0001
1 VOTEDG NORMAL 2 VOTEDG_0002 /dev/asmvote03 10240 8638 VOTEDG_0002
1 VOTEDG NORMAL 3 VOTEDG_0003 /dev/asmvote04 10240 8670 VOTEDG_0003
1 VOTEDG NORMAL 4 VOTEDG_0004 /dev/asmvote05 10240 8679 VOTEDG_0004
1 VOTEDG NORMAL 5 VOTEDG_0005 /dev/asmvote06 10240 8675 VOTEDG_0005
SQL> alter diskgroup VOTEDG drop disk VOTEDG_0005 rebalance power 10;
Diskgroup altered.
VOTEDG_0005刪除後的磁碟狀態:
----------- ---------- -------- ----------- -------------------- -------------------- ----------------- -----
1 VOTEDG NORMAL 0 VOTEDG_0000 /dev/asmvote01 VOTEDG_0000 Y
1 VOTEDG NORMAL 1 VOTEDG_0001 /dev/asmvote02 VOTEDG_0001 Y
1 VOTEDG NORMAL 2 VOTEDG_0002 /dev/asmvote03 VOTEDG_0002 Y
1 VOTEDG NORMAL 3 VOTEDG_0003 /dev/asmvote04 VOTEDG_0003 N
1 VOTEDG NORMAL 4 VOTEDG_0004 /dev/asmvote05 VOTEDG_0004 N
格式化磁碟
dd if=/dev/null count=10 bs=512 of=/dev/asmvote06
建立磁碟組 DG_VOTE
create diskgroup DG_VOTE external redundancy disk '/dev/asmvote06';
檢查各節點asm資訊是否一致
2 DG_VOTE EXTERN 0 DG_VOTE_0000 /dev/asmvote06 10240 10190 DG_VOTE_0000 N
1 VOTEDG NORMAL 0 VOTEDG_0000 /dev/asmvote01 10240 8289 VOTEDG_0000 Y
1 VOTEDG NORMAL 1 VOTEDG_0001 /dev/asmvote02 10240 8288 VOTEDG_0001 Y
1 VOTEDG NORMAL 2 VOTEDG_0002 /dev/asmvote03 10240 8295 VOTEDG_0002 Y
1 VOTEDG NORMAL 3 VOTEDG_0003 /dev/asmvote04 10240 8321 VOTEDG_0003 N
1 VOTEDG NORMAL 4 VOTEDG_0004 /dev/asmvote05 10240 8320 VOTEDG_0004 N
0 DG_VOTE 0 /dev/asmvote06 10240 0 N
0 DG_VOTE 1 /dev/asmdata01 102400 0 N
0 DG_VOTE 2 /dev/asmdata03 102400 0 N
0 DG_VOTE 3 /dev/asmdata02 102400 0 N --這個狀態是不對的
1 VOTEDG NORMAL 0 VOTEDG_0000 /dev/asmvote01 10240 8289 VOTEDG_0000 Y
1 VOTEDG NORMAL 1 VOTEDG_0001 /dev/asmvote02 10240 8288 VOTEDG_0001 Y
1 VOTEDG NORMAL 2 VOTEDG_0002 /dev/asmvote03 10240 8295 VOTEDG_0002 Y
1 VOTEDG NORMAL 3 VOTEDG_0003 /dev/asmvote04 10240 8321 VOTEDG_0003 N
1 VOTEDG NORMAL 4 VOTEDG_0004 /dev/asmvote05 10240 8320 VOTEDG_0004 N
不一致的話先解決了顯示的問題再做遷移
asm磁碟資訊不一致
dg_vote資源狀態:
ora.DG_VOTE.dg
ONLINE ONLINE test12c1 STABLE
OFFLINE OFFLINE test12c2 STABLE
[[email protected] trace]$ srvctl status diskgroup -diskgroup DG_VOTE
Disk Group DG_VOTE is running on test12c1
#啟動2節點的DG_VOTE資源
srvctl start diskgroup -diskgroup DG_VOTE
ora.DG_VOTE.dg
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
2個節點的asm資訊一致了
3.遷移ocr
ocr所在磁碟組
[[email protected] ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 409568
Used space (kbytes) : 1488
Available space (kbytes) : 408080
ID : 1588028727
Device/File Name : +VOTEDG
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
檢查ocr備份
[[email protected] ~]$ ocrconfig -showbackup
test12c1 2018/11/21 09:51:48 /oracle/app/12.1/grid/cdata/test-cluster/backup00.ocr 67954641
test12c1 2018/11/21 05:51:46 /oracle/app/12.1/grid/cdata/test-cluster/backup01.ocr 67954641
test12c1 2018/11/21 01:51:45 /oracle/app/12.1/grid/cdata/test-cluster/backup02.ocr 67954641
test12c2 2018/11/20 04:09:06 /oracle/app/12.1/grid/cdata/test-cluster/day.ocr 67954641
test12c1 2018/11/15 22:11:44 /oracle/app/12.1/grid/cdata/test-cluster/week.ocr 0
test12c2 2018/11/19 16:15:01 /oracle/app/12.1/grid/cdata/test-cluster/backup_20181119_161501.ocr 67954641
確保compatible一致
SQL> select GROUP_NUMBER,NAME,STATE,TOTAL_MB,FREE_MB,OFFLINE_DISKS,COMPATIBILITY,DATABASE_COMPATIBILITY,VOTING_FILES from v$asm_diskgroup ;
GROUP_NUMBER NAME STATE TOTAL_MB FREE_MB OFFLINE_DISKS COMPATIBILITY DATABASE_COMPAT VO
------------ --------------- ---------- ---------- ---------- ------------- --------------- --------------- --
1 VOTEDG MOUNTED 51200 41513 0 12.1.0.0.0 10.1.0.0.0 Y
2 DG_VOTE MOUNTED 10240 10147 0 10.1.0.0.0 10.1.0.0.0 N
alter diskgroup VOTEDG set attribute 'compatible.asm'='12.1.0.2.0';
alter diskgroup VOTEDG set attribute 'compatible.rdbms'='12.1.0.2.0';
alter diskgroup DG_VOTE set attribute 'compatible.asm'='12.1.0.2.0';
alter diskgroup DG_VOTE set attribute 'compatible.rdbms'='12.1.0.2.0';
root:
/oracle/app/12.1/grid/bin/ocrconfig -add +DG_VOTE
/oracle/app/12.1/grid/bin/ocrconfig -delete +VOTEDG
[[email protected] ~]# /oracle/app/12.1/grid/bin/ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 409568
Used space (kbytes) : 1504
Available space (kbytes) : 408064
ID : 1588028727
Device/File Name : +DG_VOTE
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
ocr遷移完畢
4.遷移votedisk:
[[email protected] ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 4a0e0d22a6ea4fffbf7fcd3512947c47 (/dev/asmvote01) [VOTEDG]
2. ONLINE 5f33798945bc4ff5bf76482841c5b437 (/dev/asmvote02) [VOTEDG]
3. ONLINE 4b7eee364a224f63bfc15eee40344ff5 (/dev/asmvote03) [VOTEDG]
Located 3 voting disk(s).
[[email protected] ~]$ crsctl replace votedisk +DG_VOTE
Successful addition of voting disk e55fbb37a2464f68bfcf217c7430605a.
Successful deletion of voting disk 4a0e0d22a6ea4fffbf7fcd3512947c47.
Successful deletion of voting disk 5f33798945bc4ff5bf76482841c5b437.
Successful deletion of voting disk 4b7eee364a224f63bfc15eee40344ff5.
Successfully replaced voting disk group with +DG_VOTE.
CRS-4266: Voting file(s) successfully replaced
[[email protected] ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE e55fbb37a2464f68bfcf217c7430605a (/dev/asmvote06) [DG_VOTE]
Located 1 voting disk(s).
votedisk遷移完畢
5.遷移資料檔案,臨時資料檔案,undo檔案:
資料檔案(cdb和pdb的檔案都要遷移):
cdb:
+VOTEDG/STU12C/DATAFILE/system.262.992692141
+VOTEDG/STU12C/DATAFILE/sysaux.269.992692091
+VOTEDG/STU12C/DATAFILE/undotbs1.268.992692209
+VOTEDG/STU12C/DATAFILE/users.265.992692207
+VOTEDG/STU12C/DATAFILE/undotbs2.259.992692391
+VOTEDG/STU12C/TEMPFILE/temp.260.992692271
PDB$SEED :
+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.261.992692281
+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.266.992692281
+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/pdbseed_temp012018-11-20_11-52-02-am.dbf
建立asm目錄
ASMCMD> cd +DG_VOTE
ASMCMD> mkdir STU12C
ASMCMD> cd STU12C
ASMCMD> mkdir DATAFILE
ASMCMD> cd +VOTEDG/STU12C
ASMCMD> mkdir PDBSEED
ASMCMD> cd PDBSEED
ASMCMD> mkdir DATAFILE
cp +VOTEDG/STU12C/DATAFILE/system.262.992692141 +DG_VOTE/STU12C/DATAFILE/system01.dbf
cp +VOTEDG/STU12C/DATAFILE/sysaux.269.992692091 +DG_VOTE/STU12C/DATAFILE/sysaux01.dbf
cp +VOTEDG/STU12C/DATAFILE/users.265.992692207 +DG_VOTE/STU12C/DATAFILE/users01.dbf
cp +VOTEDG/STU12C/DATAFILE/undotbs1.268.992692209 +DG_VOTE/STU12C/DATAFILE/undotbs1.dbf
cp +VOTEDG/STU12C/DATAFILE/undotbs2.259.992692391 +DG_VOTE/STU12C/DATAFILE/undotbs2.dbf
cp +VOTEDG/STU12C/TEMPFILE/temp.260.992692271 +DG_VOTE/STU12C/DATAFILE/temp.dbf
cp +VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.261.992692281 +DG_VOTE/STU12C/PDBSEED/DATAFILE/system.dbf
cp +VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.266.992692281 +DG_VOTE/STU12C/PDBSEED/DATAFILE/sysaux.dbf
cp +VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/pdbseed_temp012018-11-20_11-52-02-am.dbf +DG_VOTE/STU12C/PDBSEED/DATAFILE/pdbseed_temp.dbf
啟動一個節點到mount狀態:
sqlplus / as sysdba
startup mount
alter database rename file '+VOTEDG/STU12C/DATAFILE/system.262.992692141' to '+DG_VOTE/STU12C/DATAFILE/system01.dbf';
alter database rename file '+VOTEDG/STU12C/DATAFILE/sysaux.269.992692091' to '+DG_VOTE/STU12C/DATAFILE/sysaux01.dbf';
alter database rename file '+VOTEDG/STU12C/DATAFILE/users.265.992692207' to '+DG_VOTE/STU12C/DATAFILE/users01.dbf';
alter database rename file '+VOTEDG/STU12C/DATAFILE/undotbs1.268.992692209' to '+DG_VOTE/STU12C/DATAFILE/undotbs1.dbf';
alter database rename file '+VOTEDG/STU12C/DATAFILE/undotbs2.259.992692391' to '+DG_VOTE/STU12C/DATAFILE/undotbs2.dbf';
alter database rename file '+VOTEDG/STU12C/TEMPFILE/temp.260.992692271' to '+DG_VOTE/STU12C/DATAFILE/temp.dbf';
alter database rename file '+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.261.992692281' to '+DG_VOTE/STU12C/PDBSEED/DATAFILE/system.dbf';
alter database rename file '+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.266.992692281' to '+DG_VOTE/STU12C/PDBSEED/DATAFILE/sysaux.dbf';
alter database rename file '+VOTEDG/STU12C/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/pdbseed_temp012018-11-20_11-52-02-am.dbf' to '+DG_VOTE/STU12C/PDBSEED/DATAFILE/pdbseed_temp.dbf';
shutdown immediate
啟動2個節點,檢驗資料庫是否可用拉起且資料檔案等已經rename過去。control file如果在本地,操作上有些許不同
srvctl start database -d stu12c
SQL> select file_name from dba_data_files;
FILE_NAME
-----------------
+DG_VOTE/STU12C/DATAFILE/system01.dbf
+DG_VOTE/STU12C/DATAFILE/sysaux01.dbf
+DG_VOTE/STU12C/DATAFILE/undotbs1.dbf
+DG_VOTE/STU12C/DATAFILE/users01.dbf
+DG_VOTE/STU12C/DATAFILE/undotbs2.dbf
SQL> select file_name from dba_temp_files;
FILE_NAME
---------------------------------
+DG_VOTE/STU12C/DATAFILE/temp.dbf
alter session set container=PDB$SEED
SQL> select file_name from dba_data_files;
FILE_NAME
-----------------------------------------
+DG_VOTE/STU12C/PDBSEED/DATAFILE/system.dbf
+DG_VOTE/STU12C/PDBSEED/DATAFILE/sysaux.dbf
SQL> select file_name from dba_temp_files;
FILE_NAME
-----------------------------------------
+DG_VOTE/STU12C/PDBSEED/DATAFILE/pdbseed_temp.dbf
資料檔案,臨時資料檔案,undo檔案遷移完成
6.redo:
SQL> select INST_ID,group#,thread#,bytes/1024/1024 mb,members,status from gv$log order by 3,2;
INST_ID GROUP# THREAD# MB MEMBERS STATUS
---------- ---------- ---------- ---------- ---------- --------------------------------
2 1 1 50 1 CURRENT
1 1 1 50 1 CURRENT
2 2 1 50 1 INACTIVE
1 2 1 50 1 INACTIVE
1 3 2 50 1 CURRENT
2 3 2 50 1 CURRENT
1 4 2 50 1 INACTIVE
2 4 2 50 1 INACTIVE
SQL> select member from v$logfile;
MEMBER
----------------------------
+VOTEDG/STU12C/ONLINELOG/group_2.263.992692267
+VOTEDG/STU12C/ONLINELOG/group_1.264.992692265
+VOTEDG/STU12C/ONLINELOG/group_3.270.992692693
+VOTEDG/STU12C/ONLINELOG/group_4.271.992692693
ASMCMD> cd +DG_VOTE/STU12C
ASMCMD> mkdir ONLINELOG
按需求調整size
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 5 '+DG_VOTE/STU12C/ONLINELOG/redo_1_05.log' SIZE 50M;
ALTER DATABASE ADD LOGFILE THREAD 1 GROUP 6 '+DG_VOTE/STU12C/ONLINELOG/redo_1_06.log' SIZE 50M;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 7 '+DG_VOTE/STU12C/ONLINELOG/redo_2_07.log' SIZE 50M;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 8 '+DG_VOTE/STU12C/ONLINELOG/redo_2_08.log' SIZE 50M;
alter system switch logfile;
/
/
alter system checkpoint;
alter database drop logfile group 1;
alter database drop logfile group 2;
到2節點上操作,刪除group3,group4
alter database drop logfile group 3;
alter database drop logfile group 4;
SQL> select member from v$logfile;
MEMBER
----------------------------------
+DG_VOTE/STU12C/ONLINELOG/redo_1_05.log
+DG_VOTE/STU12C/ONLINELOG/redo_1_06.log
+DG_VOTE/STU12C/ONLINELOG/redo_2_07.log
+DG_VOTE/STU12C/ONLINELOG/redo_2_08.log
redo遷移完成
7.asm共享密碼檔案遷移:
12c密碼檔案可以放在asm中,使用asmcmd中的pw*命令管理
http://www.cnblogs.com/fengaix6/p/9551948.html
pwget --asm
pwget --dbuniquename
檢視密碼檔案的位置
ASMCMD> pwmove --asm +VOTEDG/orapwasm +DG_VOTE/orapwasm
[[email protected] ~]$ crsctl stat res ora.asm -p|grep PW
PWFILE=+DG_VOTE/orapwasm
grid無權move db的密碼檔案,oracle無權使用asmcmd
ASMCMD> pwmove --dbuniquename stu12c +VOTEDG/STU12C/PASSWORD/pwdstu12c.257.992692057 +DG_VOTE/STU12C/pwdstu12c
moving +VOTEDG/STU12C/PASSWORD/pwdstu12c.257.992692057 -> +DG_VOTE/STU12C/pwdstu12c
PRCD-1163 : Failed to modify database stu12c
PRCR-1071 : Failed to register or update resource ora.stu12c.db
CRS-0245: User doesn't have enough privilege to perform the operation
ASMCMD-9453: failed to register password file as a CRS resource '
在oracle使用者下使用orapwd命令建立db密碼檔案
[[email protected] ~]$ orapwd file='+DG_VOTE/STU12C/pwdstu12c.1' dbuniquename='stu12c' password='oracle'
ASMCMD> pwget --dbuniquename stu12c
+DG_VOTE/STU12C/pwdstu12c.1
ASMCMD> pwget --asm
+DG_VOTE/orapwasm
asm,db密碼檔案遷移完成
8.引數檔案spfile&控制檔案control file
db spfile:
思路:create pfile,關閉資料庫,cp controlfile,修改pfile中的controlfile路徑,已pfile方式啟動資料庫,create spfile,modify spfile路徑,以spfile啟動資料庫
[[email protected] ~]$ srvctl config database -d stu12c|grep pfile
Spfile: +VOTEDG/STU12C/PARAMETERFILE/spfile.272.992692693
SQL> create pfile='/home/oracle/pfile.ora' from spfile;
File created.
[[email protected] ~]$ srvctl stop database -d stu12c
ASMCMD> cp '+VOTEDG/STU12C/CONTROLFILE/current.267.992692263' '+DG_VOTE/STU12C/CONTROLFILE/control.ora'
copying +VOTEDG/STU12C/CONTROLFILE/current.267.992692263 -> +DG_VOTE/STU12C/CONTROLFILE/control.ora
vi /home/oracle/pfile.ora
#*.control_files='+VOTEDG/STU12C/CONTROLFILE/current.267.992692263'
*.control_files='+DG_VOTE/STU12C/CONTROLFILE/control.ora'
[[email protected] ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Thu Nov 22 10:29:49 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup pfile=pfile.ora
ORACLE instance started.
Total System Global Area 5167382528 bytes
Fixed Size 3721560 bytes
Variable Size 1241515688 bytes
Database Buffers 3909091328 bytes
Redo Buffers 13053952 bytes
Database mounted.
Database opened.
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
+DG_VOTE/STU12C/CONTROLFILE/control.ora
SQL> create spfile='+DG_VOTE/STU12C/PARAMETERFILE/spfile.ora' from pfile='/home/oracle/pfile.ora';
File created.
[[email protected] ~]$ srvctl config database -d stu12c|grep pfile
Spfile: +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
#oracle使用者執行modify,grid使用者無許可權
[[email protected] ~]$ srvctl modify database -d stu12c -p +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
[[email protected] ~]$ srvctl config database -d stu12c|grep pfile
(需要在$ORACLE_HOME/dbs/initstu12c1.ora上更改spfile的路徑
SPFILE='+DG_VOTE/STU12C/spfilestu12c.ora')
Spfile: +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
SQL> shutdown immediate;
[[email protected] ~]$ srvctl start database -d stu12c
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string +DG_VOTE/STU12C/PARAMETERFILE/
spfile.ora
SQL> select name from v$controlfile;
NAME
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+DG_VOTE/STU12C/CONTROLFILE/control.ora
控制檔案和db引數檔案遷移完成
9.asm spfile
asm spfile:
spcopy,spget只能管理asm spfile,不能管理db spfile
ASMCMD> spget
+VOTEDG/test-cluster/ASMPARAMETERFILE/registry.253.992282001
ASMCMD> spcopy -u '+VOTEDG/test-cluster/ASMPARAMETERFILE/registry.253.992282001' '+DG_VOTE/test-cluster/initasm.ora'
ASMCMD> spget
+DG_VOTE/test-cluster/initasm.ora
asm例項中的asmspfile還沒有改變,需要重啟asm
SQL> show parameter spfile
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile string
+VOTEDG/test-cluster/ASMPARAME
TERFILE/registry.253.992282001
重啟下叢集(其實重啟asm就可以了)
crsctl stop crs
crsctl start crs
SQL> show parameter spfile
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile string
+DG_VOTE/test-cluster/initasm.
ora
10.刪除VOTEDG
GROUP_NUMBER NAME AU_size STATE TYPE
------------ --------------- ------------ ------------ ----------
0 VOTEDG 0 DISMOUNTED
1 DG_VOTE 1,048,576 MOUNTED EXTERN
SQL> alter diskgroup VOTEDG mount;
Diskgroup altered.
GROUP_NUMBER NAME AU_size STATE TYPE
------------ --------------- ------------ ------------ ----------
2 VOTEDG 1,048,576 MOUNTED NORMAL
1 DG_VOTE 1,048,576 MOUNTED EXTERN
SQL> drop diskgroup VOTEDG;
Diskgroup dropped.
GROUP_NUMBER NAME AU_size STATE TYPE
------------ --------------- ------------ ------------ ----------
1 DG_VOTE 1,048,576 MOUNTED EXTERN
dd if=/dev/null count=10 bs=512 of=/dev/asmvote01
dd if=/dev/null count=10 bs=512 of=/dev/asmvote02
dd if=/dev/null count=10 bs=512 of=/dev/asmvote03
dd if=/dev/null count=10 bs=512 of=/dev/asmvote04
dd if=/dev/null count=10 bs=512 of=/dev/asmvote05
[[email protected] ~]$ srvctl start database -d stu12c
PRCR-1079 : Failed to start resource ora.stu12c.db
CRS-2674: Start of 'ora.VOTEDG.dg' on 'test12c1' failed
CRS-2632: There are no more servers to try to place resource 'ora.stu12c.db' on that would satisfy its placement policy
CRS-2674: Start of 'ora.VOTEDG.dg' on 'test12c2' failed
資料庫啟動失敗
[[email protected] ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_VOTE.dg
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.VOTEDG.dg
OFFLINE OFFLINE test12c1 STABLE
OFFLINE OFFLINE test12c2 STABLE --votedg資源還存在
ora.asm
ONLINE ONLINE test12c1 Started,STABLE
ONLINE ONLINE test12c2 Started,STABLE
ora.net1.network
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.ons
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE test12c1 STABLE
ora.MGMTLSNR
1 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE test12c1 STABLE
ora.oc4j
1 ONLINE ONLINE test12c1 STABLE
ora.scan1.vip
1 ONLINE ONLINE test12c1 STABLE
ora.stu12c.db
1 ONLINE OFFLINE Instance Shutdown,ST
ABLE
2 ONLINE OFFLINE Instance Shutdown,ST
ABLE
ora.test12c1.vip
1 ONLINE ONLINE test12c1 STABLE
ora.test12c2.vip
1 ONLINE ONLINE test12c2 STABLE
ora.VOTEDG.dg資源還在,一般drop diskgroup後dg資源也會被刪除
刪除diskgroup資源
[[email protected] ~]$ srvctl disable diskgroup -g VOTEDG
[[email protected] ~]$ srvctl remove diskgroup -g VOTEDG -f
[[email protected] ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_VOTE.dg
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.asm
ONLINE ONLINE test12c1 Started,STABLE
ONLINE ONLINE test12c2 Started,STABLE
ora.net1.network
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
ora.ons
ONLINE ONLINE test12c1 STABLE
ONLINE ONLINE test12c2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE test12c1 STABLE
ora.MGMTLSNR
1 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE test12c1 STABLE
ora.oc4j
1 ONLINE ONLINE test12c1 STABLE
ora.scan1.vip
1 ONLINE ONLINE test12c1 STABLE
ora.stu12c.db
1 ONLINE OFFLINE Instance Shutdown,ST
ABLE
2 ONLINE OFFLINE Instance Shutdown,ST
ABLE
ora.test12c1.vip
1 ONLINE ONLINE test12c1 STABLE
ora.test12c2.vip
1 ONLINE ONLINE test12c2 STABLE
startup啟動一個單例項,正常啟動,叢集命令啟動資料庫報錯。
應該是ora.stu12c.db資源有問題
[[email protected] ~]$ srvctl start database -d stu12c
PRCR-1079 : Failed to start resource ora.stu12c.db
CRS-2640: Required resource 'ora.VOTEDG.dg' is missing.
[[email protected] ~]# /oracle/app/12.1/grid/bin/srvctl config database -d stu12c
Database unique name: stu12c
Database name: stu12c
Oracle home: /oracle/app/oracle/product/12.1/dbhome_1
Oracle user: oracle
Spfile: +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
Password file: +DG_VOTE/STU12C/pwdstu12c.1
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
PRCD-1012 : Failed to retrieve disk group list for database stu12c.
PRCR-1035 : Failed to look up CRS resource ora.VOTEDG.dg for stu12c
PRCA-1000 : ASM Disk Group VOTEDG does not exist
PRCR-1001 : Resource ora.VOTEDG.dg does not exist --叢集db資源stu12c狀態不正常
重建db資源(oracle使用者)
srvctl remove database -d stu12c
srvctl add instance -d stu12c -i stu12c1 -oraclehome /oracle/app/oracle/product/12.1/dbhome_1
srvctl add instance -d stu12c -i stu12c1 -node test12c1
srvctl add instance -d stu12c -i stu12c2 -node test12c2
重啟資料庫就ok了
最後別忘了改create引數
SQL> show parameter create
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
create_bitmap_area_size integer 8388608
create_stored_outlines string
db_create_file_dest string +votedg
db_create_online_log_dest_1 string +votedg
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
SQL> alter system set db_create_file_dest='+dg_vote' scope=both sid='*';
System altered.
SQL> alter system set db_create_online_log_dest_1='+dg_vote' scope=both sid='*';
System altered.