最近维护Oracle RAC 组件对有些概念进行梳理和验证
一、概念DBID 、SID、DB NAME 、 DB GLOBAL NAME 、DB_UNIQUE_NAME
二、修改DB_UNIQUE_NAME(单实例&RAC)
一、概念DBID 、SID、DB NAME 、 DB GLOBAL NAME 、DB_UNIQUE_NAME
DBID DB NAME 一致
•DBID:唯一标识数据库的 32 位整数,用于标识一个 Oracle 数据库。它是数据库创建时自动生成的,每个数据库都有唯一的 DBID。
•SID:标识单个 Oracle 实例的标识符。
•DB_NAME : 数据库的名称标识,用于区分同一系统中的不同数据库。(不超过 8 个字符),用于标识数据库。
•DB_GLOBAL_NAME :DB_GLOBAL_NAME 是数据库的全局名称,通常是一个完全限定的域名(FQDN),用于在分布式环境中唯一标识数据库。
•DB_UNIQUE_NAME :数据库的唯一标识,通常用于数据守护(Data Guard)配置中区分主库和备库。
注:DB_NAME 侧重于物理实例的唯一性,而 DB_UNIQUE_NAME 更强调逻辑或配置层面的唯一性,尤其在容灾场景中用于区分主备库身份。
1.DBID : RAC环境两个节点一致的
特性:
DBID用于区分不同数据库。DBID存储在数据文件和控制文件中,基于DB_NAME通过特定算法计算得出。
SQL> select dbid from v$database ;
2.DB_NAME: RAC环境两个节点一致的
特性:
安装数据库时定义,写入控制文件和数据文件头部。长度限制为8个字符。
在动态注册监听时,PMON进程会使用DB_NAME进行注册。
SQL> select name from v$database;
3.SID: 唯一确定数据库中的实例,db_name+数字序列号
特性:
SID用于区分同一数据库的不同实例,SID存储在内存中,用于共享内存管理
instance_name = SID = instance_number + DB_NAME
SQL> show parameter instance_number
SQL> show parameter instance_name
SQL> select instance from v$thread;
SQL> SELECT sys_context('userenv','instance_name') FROM dual;
4.DB_UNIQUE_NAME
特性:
在Data Guard环境中,主库和备库的DB_NAME相同,但DB_UNIQUE_NAME不同。
动态注册监听时,服务名(SERVICE_NAME)由DB_UNIQUE_NAME决定
SQL> show parameter db_unique_name
SQL> select db_unique_name from v$database ;
5.DB_GLOBAL_NAME
我们将Db_name和 Db_domain两个参数用‘.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name(全局数据库名),即它扩展了Db_name
定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。
SQL> select * from global_name
SQL> show parameter dom
二、DB_UNIQUE_NAME 修改(单实例&RAC)
DB_UNIQUE_NAME动态注册监听时,服务名(SERVICE_NAME)DB_UNIQUE_NAME决定,需要特别注意。
1.单实例修改DB_UNIQUE_NAME
1)备份pfile 文件
create pfile='/home/oracle/inittestdb' from spfile;
2)记录 db_name db_unique_name,监听服务(DB_UNIQUE_NAME)
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string testdb
db_unique_name string testdb
global_names boolean FALSE
instance_name string testdb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string testdb
[oracle@thdbtest ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-JUL-2025 11:16:57
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=thdbtest)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 08-APR-2025 10:35:22
Uptime 84 days 0 hr. 41 min. 34 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/thdbtest/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=thdbtest)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "testdb" has 1 instance(s). ======================>>>>testdb(service_names)
Instance "testdb", status READY, has 1 handler(s) for this service...
Service "testdbXDB" has 1 instance(s).
Instance "testdb", status READY, has 1 handler(s) for this service...
The command completed successfully
3)备份控制文件
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/home/oracle/controlfile1.sql';
4)修改
db_name string testdb
db_unique_name string testdb
ALTER SYSTEM SET db_unique_name='testdb_st' SCOPE=SPFILE;
***********************************************************
那我们为什么要加这个呢??这个跟用户配置的tns服务有关
ALTER SYSTEM SET service_names ='testdb_st, testdb ' SCOPE=both; 》》配置tns
***************************************************************
下面是两种完全不一样配置
tnsnames.ora案例:
[oracle@szrac01]
cat /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
TESTDB1_ST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = thdb17.tech.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb_st)
)
)
TESTDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = thdb17.tech.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(ORACLE_SID = testdb)
)
)
[oracle@szrac01 admin]$ tnsping TESTDB1
[oracle@szrac01 admin]$ tnsping TESTDB1_ST
上述都是可以直接连接数据库的,一旦db_unique_name 那第一种配置的client将无法连接数据库。
5)重启数据库并验证
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string testdb
db_unique_name string testdb_st
global_names boolean FALSE
instance_name string testdb
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string testdb_st,testdb
[oracle@thdbtest ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 03-JUL-2025 14:50:18
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=thdbtest)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 08-APR-2025 10:35:22
Uptime 86 days 4 hr. 14 min. 56 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/thdbtest/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=thdbtest)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "testdb" has 1 instance(s).
Instance "testdb", status READY, has 1 handler(s) for this service...
Service "testdbXDB" has 1 instance(s).
Instance "testdb", status READY, has 1 handler(s) for this service...
Service "testdb_st" has 1 instance(s). ->>>>自动注册
Instance "testdb", status READY, has 1 handler(s) for this service...
2. Oracle RAC 修改db_unique_name 双节点
1)备份pfile 文件
Node 1:
[oracle@szrac01 ~]$ export ORACLE_SID=dbts1
[oracle@szrac01 ~]$ sqlplus / as sysdba
SQL> create pfile from spfile; --默认放在ORACLE_HOME/dbs/ 下面
2)查看并记录信息
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string dbts
db_unique_name string dbts
global_names boolean FALSE
instance_name string dbts1
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string dbts
--监听
[oracle@szrac01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 03-JUL-2025 09:13:39
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 10-JUN-2025 15:43:25
Uptime 22 days 17 hr. 30 min. 14 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/szrac01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.184)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.185)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATAC1" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_OCR" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "dbts" has 1 instance(s).
Instance "dbts1", status READY, has 1 handler(s) for this service...
Service "dbtsXDB" has 1 instance(s).
Instance "dbts1", status READY, has 1 handler(s) for this service...
Service "szdb01" has 1 instance(s).
Instance "szdb011", status READY, has 1 handler(s) for this service...
Service "szdb01XDB" has 1 instance(s).
Instance "szdb011", status READY, has 1 handler(s) for this service...
The command completed successfully
----DB服务
[oracle@szrac01 ~]$ srvctl config database
dbts
orcl
szdb01
[oracle@szrac01 ~]$ srvctl config database -d dbts -v
Database unique name: dbts
Database name: dbts
Oracle home: /u01/app/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATAC1/DBTS/PARAMETERFILE/spfile.298.1205317273
Password file: +DATAC1/DBTS/PASSWORD/pwddbts.285.1205314483
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATAC1
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: dbts1,dbts2
Configured nodes: szrac01,szrac02
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
--db状态
[oracle@szrac01 ~]$ srvctl status database -d dbts -v
Instance dbts1 is running on node szrac01. Instance status: Open.
Instance dbts2 is running on node szrac02. Instance status: Open.
--ASM状态
[grid@szrac01 ~]$ export ORACLE_SID=+ASM1
[grid@szrac01 ~]$ asmcmd -p
ASMCMD [+] > ls -l
State Type Rebal Name
MOUNTED EXTERN N DATAC1/
MOUNTED EXTERN N FRA/
MOUNTED NORMAL N OCR/
[oracle@szrac01 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +OCR/orapwASM
Backup of Password file: +OCR/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup DATAC1
Disk Group DATAC1 is running on szrac02,szrac01
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup FRA
Disk Group FRA is running on szrac02,szrac01
--集群状态
[grid@szrac01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.chad
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.net1.network
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.ons
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 ONLINE OFFLINE STABLE
ora.DATAC1.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE szrac01 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE szrac02 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE szrac01 Started,STABLE
2 ONLINE ONLINE szrac02 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE szrac02 STABLE
ora.dbts.db
1 ONLINE ONLINE szrac01 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
2 ONLINE ONLINE szrac02 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
ora.orcl.db
1 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
2 OFFLINE OFFLINE Instance Shutdown,ST
ABLE
ora.qosmserver
1 ONLINE ONLINE szrac02 STABLE
ora.scan1.vip
1 ONLINE ONLINE szrac01 STABLE
ora.scan2.vip
1 ONLINE ONLINE szrac02 STABLE
ora.szdb01.db
1 ONLINE ONLINE szrac01 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
2 ONLINE ONLINE szrac02 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
ora.szrac01.vip
1 ONLINE ONLINE szrac01 STABLE
ora.szrac02.vip
1 ONLINE ONLINE szrac02 STABLE
--------------------------------------------------------------------------------
3)移除数据库
[oracle@szrac01 ~]$ srvctl stop database -d dbts
[oracle@szrac01 ~]$ srvctl remove database -d dbts
Remove the database dbts? (y/[n]) y
[oracle@szrac01 ~]$ srvctl status database -d dbts
PRCD-1120 : The resource for database dbts could not be found.
PRCR-1001 : Resource ora.dbts.db does not exist
节点状态查看,监听也会变化
[grid@szrac01 ~]$ srvctl status database -d dbts
[grid@szrac01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 03-JUL-2025 09:43:53
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 10-JUN-2025 15:43:25
Uptime 22 days 18 hr. 0 min. 28 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/szrac01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.184)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.185)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATAC1" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_OCR" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "szdb01" has 1 instance(s).
Instance "szdb011", status READY, has 1 handler(s) for this service...
Service "szdb01XDB" has 1 instance(s).
Instance "szdb011", status READY, has 1 handler(s) for this service...
The command completed successfully
4) 开启数据库,修改,并添加至集群资源
[oracle@szrac01 ~]$ export ORACLE_SID=dbts1
[oracle@szrac01 ~]$ sqlplus / as sysdba
SQL> startup pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initdbts1.ora';
SQL> alter system set db_unique_name=dbts_st scope=spfile sid='*';
SQL> SELECT * FROM global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DBTS
SQL> alter database rename global_name to dbts_st;
SQL> create spfile='+DATAC1' from pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initdbts1.ora';
SQL> shut immediate;
[grid@dbaupt ~]$ asmcmd find --type parameterfile +DATAC1 *
--asmcmd find --type controlfile +DATAC1 *
+DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187
======================================================
======================================================
启动过程中遇到如下报错
--格式错误,修改格式
SQL> startup spfile='+DATAC1/DBTS/PARAMETERFILE/spfile.298.1205317273';
SP2-0714: invalid combination of STARTUP options
--因为还未加入集群管理,启动找不到文件
SQL> startup ;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/19.0.0/dbhome_1/dbs/initdbts1.ora'
[oracle@szrac01~]$
vi /u01/app/oracle/product/19.0.0/dbhome_1/dbs/initdbts1.ora
spfile=’ +DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187’
SQL>startup;
SQL>show parameter spfile
NAME TYPE VALUE
-------------------- -----------------------
spfile string +DATAC1/DBTS_ST/PARAMETERFILE/spfile.268.1183664483
=========================================================
==========================================================
--添加资源至集群
[oracle@szrac01 ~]$ srvctl add database -d dbts_st -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1/dbs -spfile '+DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187' -pwfile '+DATAC1/DBTS/PASSWORD/pwddbts.285.1205314483';
--添加节点
[oracle@szrac01 ~]$ srvctl add instance -d dbts_st -i dbts1 -n szrac01
[oracle@szrac01 ~]$ srvctl add instance -d dbts_st -i dbts2 -n szrac02
[oracle@szrac01 ~]$ srvctl config database -d dbts_st
Database unique name: dbts_st
Database name: dbts
Oracle home: /u01/app/oracle/product/19.0.0/dbhome_1
Oracle user: oracle
Spfile: +DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187
Password file: +DATAC1/DBTS/PASSWORD/pwddbts.285.1205314483
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools:
Disk Groups: DATAC1
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
OSDBA group: dba
OSOPER group: oper
Database instances: dbts1,dbts2
Configured nodes: szrac01,szrac02
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services:
Database is administrator managed
5)重启库,检查资源状态
[oracle@szrac01 ~]$ export ORACLE_SID=dbts1
[oracle@szrac01 ~]$ sqlplus / as sysdba
SQL> shut immediate;
[oracle@szrac01 ~]$ srvctl start database -d dbts_st
服务已启动,添加 tns的服务
[oracle@szrac01 ~]$ export ORACLE_SID=dbts1
[oracle@szrac01 ~]$ sqlplus / as sysdba
SQL> ALTER SYSTEM SET service_names ='dbts_st, dbts ' SCOPE=both;
[oracle@szrac01 admin]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 03-JUL-2025 15:57:36
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 10-JUN-2025 15:43:25
Uptime 23 days 0 hr. 14 min. 11 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/19.0.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/szrac01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.184)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.182.15.185)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATAC1" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_FRA" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_OCR" has 1 instance(s).
Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "dbts_st" has 1 instance(s).
Instance "dbts1", status READY, has 1 handler(s) for this service...
Service "sdbtsXDB" has 1 instance(s).
Instance "dbts11", status READY, has 1 handler(s) for this service...
The command completed successfully
--------------------------------------------------------------------------------
[grid@szrac01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.chad
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.net1.network
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
ora.ons
ONLINE ONLINE szrac01 STABLE
ONLINE ONLINE szrac02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 ONLINE OFFLINE STABLE
ora.DATAC1.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE szrac01 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE szrac02 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE szrac01 Started,STABLE
2 ONLINE ONLINE szrac02 Started,STABLE
3 OFFLINE OFFLINE STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE szrac01 STABLE
2 ONLINE ONLINE szrac02 STABLE
3 OFFLINE OFFLINE STABLE
ora.cvu
1 ONLINE ONLINE szrac02 STABLE
ora.dbts_st.db
1 OFFLINE ONLINE szrac01 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STOPPING
2 OFFLINE ONLINE szrac02 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STOPPING
--db状态
[oracle@szrac01 ~]$ srvctl status database -d dbts_st -v
Instance dbts1 is running on node szrac01. Instance status: Open.
Instance dbts2 is running on node szrac02. Instance status: Open.
6)检查存储资源状态
--ASM状态
[grid@szrac01 ~]$ export ORACLE_SID=+ASM1
[grid@szrac01 ~]$ asmcmd -p
ASMCMD [+] > ls -l
State Type Rebal Name
MOUNTED EXTERN N DATAC1/
MOUNTED EXTERN N FRA/
MOUNTED NORMAL N OCR/
[oracle@szrac01 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +OCR/orapwASM
Backup of Password file: +OCR/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup DATAC1
Disk Group DATAC1 is running on szrac02,szrac01
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup FRA
Disk Group FRA is running on szrac02,szrac01
至此,修改完毕。
三、总结:本次主要对集群数据库资源进行管理
命令如下:
--database查看
[oracle@szrac01 ~]$ srvctl status database -d dbts_st -v
[oracle@szrac01 ~]$ srvctl config database -d dbts_st -v
--database移除
[oracle@szrac01 ~]$ srvctl remove database -d dbts
--添加database 至
[oracle@szrac01 ~]$ srvctl add database -d dbts_st -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1/dbs -spfile '+DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187' -pwfile '+DATAC1/DBTS/PASSWORD/pwddbts.285.1205314483';
srvctl add instance -d <db_unique_name> -i <instance1> -n 主机名
$ srvctl add database -d <database>_test -n <node> -o <ORACLE_HOME>
$ srvctl add instance -d <database>_test -i <instance1> -n <node1>
$ srvctl add instance -d <database>_test -i <instance2> -n <node2>
[oracle@szrac01 ~]$ srvctl add instance -d dbts_st -i dbts1 -n szrac01
[oracle@szrac01 ~]$ srvctl add instance -d dbts_st -i dbts2 -n szrac02
此命令待验证:
[oracle@szrac01 ~]$ srvctl add database -d dbts_st -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1/dbs -spfile '+DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187' -pwfile '+DATAC1/DBTS/PASSWORD/pwddbts.285.1205314483';
ASM管理命令
--ASM 服务查看
[oracle@szrac01 ~]$ srvctl config asm
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup DATAC1
[oracle@szrac01 ~]$ srvctl status diskgroup -diskgroup FRA
[grid@dbaupt ~]$ asmcmd find --type parameterfile +DATAC1 *
--asmcmd find --type controlfile +DATAC1 *
+DATAC1/DBTS_ST/PARAMETERFILE/spfile.299.1205492187
[grid@dbaupt ~]$ cp +DATAC1/DBTS/PARAMETERFILE/spfile.299.1205492187 /tmp/initdbst1.ora
SQL> alter diskgroup "DATAC1" drop file '+DATAC1/DBTS/PARAMETERFILE/spfile.298.1205317273'
文章参考MOS: How to change the DB_UNIQUE_NAME in a RAC database (Doc ID 1604421.1)