概述:数据库没有开启归档,当前环境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
[grid@test12c2 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所在磁盘组
[grid@test12c1 ~]$ 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备份
[grid@test12c1 ~]$ 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
[root@test12c1 ~]# /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:
[grid@test12c1 ~]$ 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).
[grid@test12c1 ~]$ 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
[grid@test12c1 ~]$ 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
[grid@test12c1 ~]$ 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密码文件
[oracle@test12c1 ~]$ 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启动数据库
[grid@test12c1 ~]$ 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.
[oracle@test12c1 ~]$ 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'
[oracle@test12c1 ~]$ 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.
[grid@test12c1 ~]$ srvctl config database -d stu12c|grep pfile
Spfile: +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
#oracle用户执行modify,grid用户无权限
[oracle@test12c1 ~]$ srvctl modify database -d stu12c -p +DG_VOTE/STU12C/PARAMETERFILE/spfile.ora
[oracle@test12c1 ~]$ 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;
[oracle@test12c1 ~]$ 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
[oracle@test12c1 ~]$ 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
数据库启动失败
[grid@test12c1 ~]$ 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资源
[grid@test12c1 ~]$ srvctl disable diskgroup -g VOTEDG
[grid@test12c1 ~]$ srvctl remove diskgroup -g VOTEDG -f
[grid@test12c1 ~]$ 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资源有问题
[oracle@test12c1 ~]$ srvctl start database -d stu12c
PRCR-1079 : Failed to start resource ora.stu12c.db
CRS-2640: Required resource 'ora.VOTEDG.dg' is missing.
[root@test12c1 ~]# /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.