ITPub博客

首页 > 数据库 > Oracle > Oracle 正确理解tnsnames.ora中的service_name

Oracle 正确理解tnsnames.ora中的service_name

原创 Oracle 作者:lovehewenyu 时间:2013-04-19 18:50:28 0 删除 编辑

正确理解tnsnames.ora中的service_name

 

正解:tnsnames.ora中的service_name 其实应该是监听程序 监听到

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service " test.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

Service "testXDB.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

Service "test_XPT.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

The command completed successfully

 

 

场景回忆

查看service_names,db_domain

SQL> show parameter service_names

NAME                                  TYPE         VALUE

------------------------------------ ----------- ------------------------------

service_names                         string       test

SQL> show parameter db_domain

 

NAME                                  TYPE         VALUE

------------------------------------ ----------- ------------------------------

db_domain                             string       test.doudou.com

tnsping 通,可以ping通

[ora@dg-ss dbs]$ tnsping test

TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 08-AUG-2008 17:23:19

Copyright (c) 1997,   2007, Oracle.   All rights reserved.

Used parameter files:

/opt/oracle/product/10.2.0/db_2/network/admin/sqlnet.ora

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dg-ss)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test)))

OK (0 msec)

用户登录确报错 ORA-12514

[ora@dg-ss dbs]$ sqlplus doudou/123@test

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 8 17:23:23 2008

Copyright (c) 1982, 2007, Oracle.   All Rights Reserved.

ERROR:

ORA-12514: TNS:listener does not currently know of service requested in connect

descriptor

查看监听程序状态

[ora@dg-ss dbs]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 08-AUG-2008 17:22:00

Copyright (c) 1991, 2007, Oracle.   All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dg-ss)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                      LISTENER

Version                    TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date                 08-AUG-2008 17:21:35

Uptime                     0 days 0 hr. 0 min. 24 sec

Trace Level                off

Security                   ON: Local OS Authentication

SNMP                       OFF

Listener Parameter File    /opt/oracle/product/10.2.0/db_2/network/admin/listener.ora

Listener Log File          /opt/oracle/product/10.2.0/db_2/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg-ss)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service " test.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

Service "testXDB.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

Service "test_XPT.test.doudou.com" has 1 instance(s).

  Instance "test", status READY, has 1 handler(s) for this service...

The command completed successfully

查看tnsnames.ora文件

[ora@dg-ss admin]$ cat tnsnames.ora

TEST =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dg-ss)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = test)

    )

  )

 

 

解决方法

TEST =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dg-ss)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = test.test.doudou.com)

    )

  )

用户可以正常登录

[ora@dg-ss admin]$ sqlplus doudou/123@test

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 8 17:24:14 2008

Copyright (c) 1982, 2007, Oracle.   All Rights Reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

 

总结:

通过这次简单的错误,让我意识到研究oracle不能人云亦云,必须通过实验才能研究的更深,更明了。

    最后提醒自己一次tnsnames.ora中的service_name是监听程序监听到的service_name也可以认为是servcie_name=db_name.db_domain

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26442936/viewspace-758902/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年金融行业老鸟。Oracle,Mysql,PostgreSQL,EMC 存储,NBU备份。微信/电话 18211103995

注册时间:2012-02-03

  • 博文量
    307
  • 访问量
    1528534