oracle配置详解,Oracle监听配置详解
客户端不需要知道数据库名字和实例名字,只需要知道数据库对外提供的服务名(service_name)就可以申请连接到数据库。这个服务名字可以设置成和实例名字⼀样,也可以根据业务需求设计。在数据库启动过程,oracle会向监听程序注册相应的服务,任意的⼀个数据库都会有两条信息注册到中:oracle对应的instance_name和service_name。
客户端是通过监听程序连接到数据库服务器的,监听中记录着相应的oracle service,⽽客户端只需要在tnsnames中提供正确的服务名就可以建⽴和数据库服务器的连接。
以下为服务器上的a⽂件(linux:/oracle/product/10g/network/admin;windows:
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN)内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10g)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver3)(PORT = 1521))
)
如何连接oracle数据库)
其中,LISTENER是服务器中监听进程的名称;
PROTOCOL  表明所使⽤的⽹络协议,若是TCP/IP协议,则该值必须为“TCP”;
HOST  表⽰服务器的⽹络地址,为服务器的IP或者⽹内的机器名;
PORT  指TCP/IP协议在主机中所占⽤端⼝号,ORACLE缺省使⽤1521,是在安装ORACLE数据库时定义的,在安装时可以改变,安装完成后不能改变此值;
SID_NAME  指服务器上运⾏的ORACLE数据库名称,该值应与.bash_profile⽂件中的环境变量ORACLE_SID相同(⼀般情况下此⽂件为缺省值“PLSExtProc”);
ORACLE_HOME  是指ORACLE数据库的主⽬录,该值也应与. bash_profile⽂件中的环境变量ORACLE_HOME相同。
客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过a⽂件中的连接描述符来说明连接信息。⼀般a 是建⽴在客户机上的。如果是客户机/服务器结构,整个
⽹络上只有⼀台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户机上定义该⽂件,在服务器上⽆需定义。但是,如果⽹络上有多台机器均安装了ORACLE数据库服务器,并且服务器之间有数据共享的要求,那么在每台服务器上都必须定义该⽂件。
以下是客户端a内容:
ORCL_18 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
其中,ADDRESS_LIST  表⽰该客户机要经由多种协议与⼀台或多台服务器连接。在该样式⽂件中就表⽰该客户机要⽤TCP/IP协议来和服务器相连。
PROTOCOL 指明要连接使⽤的协议。
SERVICE_NAME  “SERVICE_NAME”就是“Global Database Name”,ORACLE8i数据库使⽤“Global Database Name”来唯⼀标识⾃⼰,通常的格式为“name.domain”,此处的值为“ora817.huawei”。
HOST  是TCP/IP协议使⽤的服务器IP地址或者机器名称。
PORT  是TCP/IP使⽤的端⼝地址。
SID  指定要连接的服务器上ORACLE数据库的ORACLE_SID。
SERVER=DEDICATED 表⽰⽤专⽤服务器连接ORACLE数据库,该选项在服务器上的a⽂件中会出现。
Lsnrctl命令综述
Lsnrctl命令⽤来管理Oracle,是⼀个命令⾏界⾯。想调⽤这个命令⾏⼯具,在命令⾏键⼊lsnrctl即可。可以在LSNRCTL>提⽰符下键⼊help来显⽰这些命令的⼀份清单。
Services 列举出服务的⼀个汇总表及为每个协议服务处理程序所建⽴和拒绝的连接信息个数
Start listener 启动指定的
Status listener显⽰指定的状态
Stop listener 关闭指定的
Trace 打开的跟踪特性
Version 显⽰Oracle Net软件与协议适配器的版本
Change_password 允许⽤户修改关闭所需要的密码
Reload 重新读取a⽂件,但不关闭。如果该⽂件发⽣了变化,重新刷新。
Save_config 当从lsnrctl⼯具中对a⽂件进⾏了修改时,复制⼀个叫做listener.bak的a⽂件
Exit 退出lsnrctl实⽤⼯具
Quit 执⾏和exit相同的功能
C:\>lsnrctl services
附录:
RAC某个节点上的a 和 a
# a.dbsv2 Network Configuration File: /oracle/product/10.2/database/network/a.dbsv2 # Generated by Oracle configuration tools.
SID_LIST_LISTENER_DBSV2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10.2/database)
(PROGRAM = extproc)
)
)
LISTENER_DBSV2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521)(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521)(IP = FIRST))
)
)
# a Network Configuration File: /oracle/product/10.2/database/network/a
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsv2-vip)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl2)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbsv1-vip)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl1)
)
)
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.3)(PORT = 1521)) )
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) )
)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。