Oracle Rac to Rac One Node

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2020.01.14 20:05:12 =~=~=~=~=~=~=~=~=~=~=~=

[oracle@rac01 ~]$ srvctl status database -d racdb
Instance racdb1 is running on node rac01
Instance racdb2 is running on node rac02
[oracle@rac01 ~]$ srvctl config database -d racdb
Database unique name: racdb
Database name: racdb
Oracle home: /oracle/home
Oracle user: oracle
Spfile: +DGDATA/racdb/spfileracdb.ora
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: racdb
Database instances: racdb1,racdb2
Disk Groups: DGDATA
Mount point paths: 
Services: 
Type: RAC
Database is administrator managed
[oracle@rac01 ~]$ srvctl config service -d racdb
[oracle@rac01 ~]$ srvctl stop database -d racdb
[oracle@rac01 ~]$ srvctl status database -d racdb
Instance racdb1 is not running on node rac01
Instance racdb2 is not running on node rac02
[oracle@rac01 ~]$ srvctl remove instance -d racdb -i racdb2
Remove instance from the database racdb? (y/[n]) y
[oracle@rac01 ~]$ srvctl add service -d racdb -s rac -r racdb1 -P BASIC -e SELECT -m BASIC -y AUTOMATIC
[oracle@rac01 ~]$ srvctl config service -d racdb
Service name: rac
Service is enabled
Server pool: racdb_rac
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: racdb1
Available instances: 
[oracle@rac01 ~]$ srvctl start service -d racdb -s rac
[oracle@rac01 ~]$ srvctl status database -d racdb
Instance racdb1 is running on node rac01
[oracle@rac01 ~]$ srvctl convert database -d racdb -c RACONENODE -i racdb1
[oracle@rac01 ~]$ srvctl config database -d racdb
Database unique name: racdb
Database name: racdb
Oracle home: /oracle/home
Oracle user: oracle
Spfile: +DGDATA/racdb/spfileracdb.ora
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: racdb
Database instances: 
Disk Groups: DGDATA
Mount point paths: 
Services: rac
Type: RACOneNode
Online relocation timeout: 30
Instance name prefix: racdb1
Candidate servers: rac01
Database is administrator managed
[oracle@rac01 ~]$ srvctl config service -d racdb
Service name: rac
Service is enabled
Server pool: racdb
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: racdb1_1
Available instances: 
[oracle@rac01 ~]$ ps -ef|grep smon
root      2512     1  1 Jan12 ?        00:33:13 /grid/home/bin/osysmond.bin
grid      2960     1  0 Jan12 ?        00:00:04 asm_smon_+ASM1
oracle   29723     1  0 17:19 ?        00:00:00 ora_smon_racdb1
oracle   30301 28630  0 17:21 pts/0    00:00:00 grep smon
[oracle@rac01 ~]$ srvctl stop database -d racdb
[oracle@rac01 ~]$ srvctl start database -d racdb
[oracle@rac01 ~]$ ps -ef|grep smon
root      2512     1  1 Jan12 ?        00:33:14 /grid/home/bin/osysmond.bin
grid      2960     1  0 Jan12 ?        00:00:04 asm_smon_+ASM1
oracle   30591     1  0 17:21 ?        00:00:00 ora_smon_racdb1_1
oracle   30724 28630  0 17:22 pts/0    00:00:00 grep smon
[oracle@rac01 ~]$ srvctl relocate database -d racdb -n rac02
[oracle@rac01 ~]$ crsctl stat res -t
-bash: crsctl: command not found
[oracle@rac01 ~]$ su - grid
Password:                                       
[grid@rac01 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DGDATA.dg  ora....up.type ONLINE    ONLINE    rac01       
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac01       
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac02       
ora.OGOCR.dg   ora....up.type ONLINE    ONLINE    rac01       
ora.asm        ora.asm.type   ONLINE    ONLINE    rac01       
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac02       
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    rac01       
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac02       
ora.ons        ora.ons.type   ONLINE    ONLINE    rac01       
ora....SM1.asm application    ONLINE    ONLINE    rac01       
ora....01.lsnr application    ONLINE    ONLINE    rac01       
ora.rac01.gsd  application    OFFLINE   OFFLINE               
ora.rac01.ons  application    ONLINE    ONLINE    rac01       
ora.rac01.vip  ora....t1.type ONLINE    ONLINE    rac01       
ora....SM2.asm application    ONLINE    ONLINE    rac02       
ora....02.lsnr application    ONLINE    ONLINE    rac02       
ora.rac02.gsd  application    OFFLINE   OFFLINE               
ora.rac02.ons  application    ONLINE    ONLINE    rac02       
ora.rac02.vip  ora....t1.type ONLINE    ONLINE    rac02       
ora.racdb.db   ora....se.type ONLINE    ONLINE    rac02       
ora....rac.svc ora....ce.type ONLINE    ONLINE    rac02       
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac01       
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac02       
[grid@rac01 ~]$ srvctl relocate database -d racdb -n rac01
PRCD-1222 : Online relocation of database "racdb" failed but database was restored to its original state
PRCR-1037 : Failed to update cardinality of the resource ora.racdb.db to 2
PRCR-1071 : Failed to register or update resource ora.racdb.db
CRS-0245:  User doesn't have enough privilege to perform the operation
[grid@rac01 ~]$ exit
logout
[oracle@rac01 ~]$ srvctl relocate database -d racdb -n rac01
[oracle@rac01 ~]$ su - grid
Password: 
[grid@rac01 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DGDATA.dg  ora....up.type ONLINE    ONLINE    rac01       
ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac01       
ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac02       
ora.OGOCR.dg   ora....up.type ONLINE    ONLINE    rac01       
ora.asm        ora.asm.type   ONLINE    ONLINE    rac01       
ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac02       
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
ora....network ora....rk.type ONLINE    ONLINE    rac01       
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac02       
ora.ons        ora.ons.type   ONLINE    ONLINE    rac01       
ora....SM1.asm application    ONLINE    ONLINE    rac01       
ora....01.lsnr application    ONLINE    ONLINE    rac01       
ora.rac01.gsd  application    OFFLINE   OFFLINE               
ora.rac01.ons  application    ONLINE    ONLINE    rac01       
ora.rac01.vip  ora....t1.type ONLINE    ONLINE    rac01       
ora....SM2.asm application    ONLINE    ONLINE    rac02       
ora....02.lsnr application    ONLINE    ONLINE    rac02       
ora.rac02.gsd  application    OFFLINE   OFFLINE               
ora.rac02.ons  application    ONLINE    ONLINE    rac02       
ora.rac02.vip  ora....t1.type ONLINE    ONLINE    rac02       
ora.racdb.db   ora....se.type ONLINE    ONLINE    rac01       
ora....rac.svc ora....ce.type ONLINE    ONLINE    rac01       
ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac01       
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac02       
[grid@rac01 ~]$ exit
logout
[oracle@rac01 ~]$ exit
logout

1.删除实例的时候,要保留一个实例,如果两个都删除,新建的实例会因为没有spfile起不来

2.转换后实例在一节点上会变成racdb1_1,在二节点上会变成racdb1_2,并会在spfile中自动加入

原文地址:https://www.cnblogs.com/monkey6/p/12193981.html