首页 > 代码库 > 一些name的连接 学习总结
一些name的连接 学习总结
主要实现下,oracle中instance_name ,db_name等对连接的关系(动态监听)
我们查看监听
[oracle@localhost ~]$ lsnrctl status lsnr2
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 17-NOV-2014 19:59:47
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))
STATUS of the LISTENER
------------------------
Alias lsnr2
Version TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date 17-NOV-2014 19:53:45
Uptime 0 days 0 hr. 6 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /app/oracle/product/11g/db_1/network/admin/listener.ora
Listener Log File /app/oracle/product/11g/db_1/log/diag/tnslsnr/localhost/lsnr2/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc1)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
可以看到监听中的serice是orcl,则在你的tns中的配置中的
132test=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.23.132)(PORT = 1522))
(CONNECT_DATA =http://www.mamicode.com/
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
这样一些客户端能连接上。
1.当我们修改db_domain
SQL> alter system set db_domain=‘xxx‘ scope= spfile;System altered.
需要重启数据库。
在执行lsnrctl status ,会发现,现在的service name为
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))STATUS of the LISTENER------------------------Alias lsnr2Version TNSLSNR for Linux: Version 11.2.0.3.0 - ProductionStart Date 17-NOV-2014 19:53:45Uptime 0 days 0 hr. 13 min. 36 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /app/oracle/product/11g/db_1/network/admin/listener.oraListener Log File /app/oracle/product/11g/db_1/log/diag/tnslsnr/localhost/lsnr2/alert/log.xmlListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc1)))Services Summary...Service "orcl.xxx" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...Service "orclXDB.xxx" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...The command completed successfully
发现server 为 "orcl.xxx" ,此时的oracle 客户端连接工具,如pl/sql 等工具将连接不上。需要重新配置TNS。
2.如果修改service_names,则情况如下,一个实例下的数据库能对应多个服务
先将原来设置的db_domain 还原
SQL> alter system reset db_domain; System altered.重启SQL> show parameter db_domainNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_domain string
修改service_names
SQL> alter system set service_names=app1,app2;System altered.SQL> show parameter serviceNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string APP1, APP2
在查看监听内容,发现
Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc1)))Services Summary...Service "APP1" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...Service "APP2" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service...The command completed successfully
此时,我这里使用PL/SQL 可以看到连个都能连上
tns如下
132testapp1= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.23.132)(PORT = 1522)) (CONNECT_DATA = http://www.mamicode.com/(SERVER = DEDICATED)>
3.db_name是写入到文件头里面的,一般不能修改
4.db_unique_name
SQL> alter system set db_unique_name=‘aaaa‘ scope=spfile;System altered.
重启,观察lsnrctl
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc1)))
Services Summary...
Service "APP1" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "APP2" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "aaaa" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
这样的实验我们可以看书使用tns连接的时候,oracle的一些配置对于tns连接的。可以去排错。
一些name的连接 学习总结