1. 程式人生 > >rac遷移ocr,votedisk,引數檔案,資料檔案,控制檔案,密碼檔案,redo,undo,temp,asm磁碟

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.