合 Oracle监听器中的XDB、_XPT、_DGMGRL 、_DGB、PLSExtProc服务
Tags: Oracle
数据库在shutdown状态下,仅有PLSExtProc服务,且处于未知状态。
数据库在nomount状态下,有SID、SIDXDB、SID_XPT、PLSExtProc服务,其中,SID、SIDXDB、SID_XPT服务处于
就绪/准备状态,PLSExtProc处于未知状态。
下面分别介绍各个服务的作用:
SID:启动数据库实例的服务
SIDXDB:高效处理XML数据的服务,默认会占用8080端口。
SID_XPT:Oracle 10g为DG准备的服务,DB BROKER会用到,如果不用DG可以删掉。
PLSExtProc:PL/SQL调用外部接口(C、JAVA编写的过程)的服务——容易受攻击
" _DGB ":的做用是dgmgrl直接通信用的。
"_DGMGRL" :静态监听的作用:
A static entry is needed for the Broker to be able to connect remotely to a database that has been shut down by the Broker during certain operations. They are required for the Broker to complete the following operations:
- Switchover from the Primary database to a Physical Standby database
- Reinstatement of failed Primary database after a manual or automatic failover has occurred.
- Conversion of a Snapshot Standby database back to a Physical Standby database
To access a database that has been shutdown in one of the above situations, the Broker uses a default name for the static entry using the information from the LOCAL_LISTENER parameter of the instance and the keyword "_DGMGRL" and stores that information in the broker StaticConnectIdentifier property associated with each instance of the database. As a best practice, users should not change the default values assigned to the Broker StaticConnectIdentifier property or to the database LOCAL_LISTENER initialization parameter as the value of the StaticConnectIdentifier property will be automatically updated by the Broker whenever the instance specified by the SidName property is started on a different host.
Note: Static entries are only used by the Broker itself via the Broker defined StaticConnectIdentifier property. They are NEVER to be used for any other purpose by the user. This includes using it for the normal DGConnectIdentifier, RMAN connections or anything else. Also note that you must never define a static entry for the Broker 'DGB' service. That service is for the Broker exclusive use. Also note that using the "_DGMGRL" or "_DGB" in your TNSNAMES definition is expressly forbidden.
================
11g:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [grid@rhel6lhr admin]$ lsnrctl status LISTENER_DG LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 02-AUG-2019 09:08:29 Copyright (c) 1991, 2011, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.59.130)(PORT=1526))) STATUS of the LISTENER ------------------------ Alias LISTENER_DG Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production Start Date 02-AUG-2019 09:01:30 Uptime 0 days 0 hr. 6 min. 59 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/grid/11.2.0/network/admin/listener.ora Listener Log File /u01/app/grid/diag/tnslsnr/rhel6lhr/listener_dg/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.130)(PORT=1526))) Services Summary... Service "oradg11g" has 2 instance(s). Instance "oradg11g", status UNKNOWN, has 1 handler(s) for this service... Instance "oradg11g", status READY, has 1 handler(s) for this service... Service "oradg11gXDB" has 2 instance(s). Instance "oradg11g", status READY, has 1 handler(s) for this service... Instance "oradgphy", status READY, has 1 handler(s) for this service... Service "oradg11g_DGB" has 1 instance(s). Instance "oradg11g", status READY, has 1 handler(s) for this service... Service "oradg11g_DGMGRL" has 1 instance(s). Instance "oradg11g", status UNKNOWN, has 1 handler(s) for this service... Service "oradgphy" has 2 instance(s). Instance "oradgphy", status UNKNOWN, has 1 handler(s) for this service... Instance "oradgphy", status READY, has 1 handler(s) for this service... Service "oradgphy_DGB" has 1 instance(s). Instance "oradgphy", status READY, has 1 handler(s) for this service... Service "oradgphy_DGMGRL" has 1 instance(s). Instance "oradgphy", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully [grid@rhel6lhr admin]$ |
10g:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Service "oradg10g" has 2 instance(s). Instance "oradg10g", status UNKNOWN, has 1 handler(s) for this service... Instance "oradg10g", status READY, has 1 handler(s) for this service... Service "oradg10gXDB" has 1 instance(s). Instance "oradg10g", status READY, has 1 handler(s) for this service... Service "oradg10g_DGB" has 1 instance(s). Instance "oradg10g", status READY, has 1 handler(s) for this service... Service "oradg10g_DGMGRL" has 1 instance(s). Instance "oradg10g", status UNKNOWN, has 1 handler(s) for this service... Service "oradg10g_XPT" has 1 instance(s). Instance "oradg10g", status READY, has 1 handler(s) for this service... Service "orawldg" has 2 instance(s). Instance "orawldg", status UNKNOWN, has 1 handler(s) for this service... Instance "orawldg", status READY, has 1 handler(s) for this service... Service "orawldg_DGB" has 1 instance(s). Instance "orawldg", status READY, has 1 handler(s) for this service... Service "orawldg_DGMGRL" has 1 instance(s). Instance "orawldg", status UNKNOWN, has 1 handler(s) for this service... Service "orawldg_XPT" has 1 instance(s). Instance "orawldg", status READY, has 1 handler(s) for this service... |
2 Oracle Data Guard Installation
To enable DGMGRL to restart instances during the course of broker operations, a static service must be registered with the local listener of each instance. A static service registration is also required to enable the observer to restart instances as part of automatic reinstatement of the old primary database after a fast-start failover has occurred. By default, the broker assumes a static service name of db_unique_name_DGMGRL.db_domain and expects the listener has been started with the following content in the listener.ora file:
1 2 3 4 5 6 7 | LISTENER = (DESCRIPTION = (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name) (PORT=port_num)))) SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=sid_name) (GLOBAL_DBNAME=db_unique_name_DGMGRL.db_domain) (ORACLE_HOME=oracle_home) (ENVS="TNS_ADMIN=oracle_home/network/admin"))) |
观察监听在数据库每个状态下各个服务的启动情况和状态:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
注:数据库在shutdown状态下,仅有PLSExtProc服务,且处于未知状态。
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 826277888 bytes
Fixed Size 1222096 bytes
Variable Size 473958960 bytes
Database Buffers 348127232 bytes
Redo Buffers 2969600 bytes
Service "C2155" has 1 instance(s).
Instance "C2155", status BLOCKED, has 1 handler(s) for this service...
Service "C2155_XPT" has 1 instance(s).