Production
Start Date 04-OCT-2014 12:28:16
Uptime 0 days 0 hr. 0 min. 30 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/hyldb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hyldb)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "hyl" has 2 instance(s).
Instance "hyl", status UNKNOWN, has 1 handler(s) for this service...
Instance "hyl", status READY, has 1 handler(s) for this service...
Service "hylXDB" has 1 instance(s).
Instance "hyl", status READY, has 1 handler(s) for this service...
The command completed successfully?
动态注册:
1、注意内容:配置local_litener参数,需要指定监听的host和port;
2、注册过程:如果监听先启动,实例后启动,实例会完成动态注册;如果实例先启动,监听后启动,需要使用SQL>alter system register;完成注册;
3、显示状态:如果实例的状态是nomount,监听会显示BLOCKED;如果实例状态是mount或open,监听会显示为READY。
静态注册:
1、注意内容:要配置相应的SID列表;
2、显示状态:静态注册,无论是否启动,都会显示为UNKNOWN状态。
两者的优势分别在于动态注册方便、静态注册稳定。
问题20:使用静态注册的原因是什么?
静态注册为了解决oracle动态注册不稳定的情况。同时也为解决针对于老版本oracle(如8i之前)数据库的连接时使用。
问题21:oracle的服务名、数据库名、实例名如何查看?
参照问题13,我们可以用类似的方法在sqlplus中查看到每个名字,操作如:
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string hyl
db_unique_name string hyl
global_names boolean FALSE
instance_name string hyl
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string hyl
由上表可以查看到数据库的服务名(service_name)为hyl,数据库名(db_name)为hyl,实例名(instance_name)为hyl。这里设置为了同一个名称,为了操作方便,但要注意这几个名词所代表的含义并不相同。service_name是可以任意改动的,但是如果你修改了service_name,你同样需要修改监听器、客户端文件中的service_name,否则将无法完成监听连接。同样,这里又想起一点,就是在静态注册时这个service_name是和GLOBAL_DBNAME相对应的。
问题22:通过连接方式判别客户端是否通过监听连接?
1、本地连接,不走监听,格式如:
sqlplus scott/tiger
sqlplus / as sysdba
sqlplus ‘/as sysdba’
2、客户端连接,需要监听
sqlplus scott/tiger@hyl
3、使用监听但无需tnsnames.ora连接方式,因为这种连接方式中IP地址、端口号、实例名均手工填写出来了,如下所示:
sqlplus scott/tiger@192.168.1.123:1521/hyl
【简而记之】
1. 独立性:监听是单独存在的模块;
2. 连接性:监听只在客户端建立连接时起作用,不存在负载;
3. 连接假象:监听和数据库间,没有长连接,只是彼此间都知道位置所在,在需要连接时可以及时建立连接;
4. 负荷性:监听是有负荷上限的,连接过多会导致延迟。
5. 客户端连接格式:username/password@service_name
【小试牛刀】
说明:以下题目来源于ocp11g考试大纲
题号:130.
Which two statements are true regarding listeners? (Choose two.)
A.Listeners use only the TCP/IP protocol.
B.Multiple listener processes can run simultaneously on a host.
C.Multiple database instances can be registered with a single listener.
D.The listener-related errors can be traced only at the administrative level.
E.Only one database instance can be registered with a single listener at any time.
Answer: BC
深蓝浅析:
A监听器只是一个TCP/IP协议,理解错误,还可以其它通信如IPC(本地间通信协议,此协议使用在本地连接数据库时,即使没有建立监听,也可以连接到数据库);
B一个主机上可以存在多个监听,正确;
C一个监听可以完成多个数据库的注册,正确;
D对于监听错误的分析,不仅是管理层,在用户层上同样可能引起监听错误,此项错误;
E与B矛盾,错误。
题号:131.
Which naming method uses the tnsnames.ora file to store the connect descriptor used by the client while connecting to the database instance from a remote machine?
A.host naming method
B.local naming method
C.external naming method
D.directory naming metho