A single-instance database generally has the database name db_name, Instance name: instance_name: Service name: service_names. Generally, the three names are consistent.
There are some differences in the RAC cluster. In terms of planning, we will first talk about the layout of RAC. Each node has its own listener, IP address, instance, ASM instance and cluster software CRS, OCR
The general process is that the client connects to the listener> instance> ASM instance> shared device on the node through the VIP address.
Cluster for the next experiment: node = NODE1 listener = listener_node1; instance = myrac1; asm instance = + ams1; database name = myrac service name = MYRAC
The TRNSNAME. ORA configuration of the client generally uses the service name = MYRAC.
The srvctl config-d database-name-s service-name in the CRS cluster does not register the database service name MYRAC to OCR by default.
CRS_STAT-T does not display the MYRAC service.
Add internal services:
[Oracle @ node1 ~] $ Srvctl add service-d MYRAC-s MYRAC-r "MYRAC2"-a "MYRAC1"-P basic
PRKO-2120: you cannot use srvctl to manage the internal database service MYRAC.
Well, add an OLTP name.
[Oracle @ node1 ~] $ Srvctl add service-d MYRAC-s OLTP-r "MYRAC1"-a "MYRAC2"-P basic
[Oracle @ node1 ~] $ Crs_stat-t
Name Type Target State Host
------------------------------------------------------------
Ora... C1.inst application ONLINE node1
Ora... C2.inst application ONLINE node2
Ora... AC1.srv application ONLINE node1
Ora... OLTP. CS application online node1
Ora. myrac. DB application online node2
Ora... sm1.asm application online node1
Ora... e1.lsnr application online node1
Ora. node1.gsd application online node1
Ora. node1.ons application online node1
Ora. node1.vip application online node1
Ora... SM2.asm application ONLINE node2
Ora... E2.lsnr application ONLINE node2
Ora. node2.gsd application ONLINE node2
Ora. node2.ons application ONLINE node2
Ora. node2.vip application ONLINE node2
The instance on node 1 adds the OLTP Service
SQL> show parameter name
Name type value
-----------------------------------------------------------------------------
Db_file_name_convert string
Db_name string myrac
Db_unique_name string myrac
Global_names boolean FALSE
Instance_name string MYRAC1
Lock_name_space string
Log_file_name_convert string
Service_names string MYRAC, OLTP
No
SQL> show parameter name
NAME TYPE VALUE
-----------------------------------------------------------------------------
Db_file_name_convert string
Db_name string MYRAC
Db_unique_name string MYRAC
Global_names boolean FALSE
Instance_name string MYRAC2
Lock_name_space string
Log_file_name_convert string
Service_names string MYRAC
For better understanding, you must plan the names to prevent errors.
Database Name = myrac_db
Instance name = myrac_inst1
Internal Service = myrac_service
CRS service = myrac
Node name = node1
Listener name = listener1_node1