rac迁移ocr,votedisk,参数文件,数据文件,控制文件,密码文件,redo,undo,temp,asm磁盘

版权声明:本文为博主原创文章,欢迎转载! https://blog.csdn.net/qq_40687433/article/details/84338562

概述:数据库没有开启归档,当前环境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.

猜你喜欢

转载自blog.csdn.net/qq_40687433/article/details/84338562