现在的位置: 首页 > 综合 > 正文

oracle 配置监听器listener及net service

2013年10月18日 ⁄ 综合 ⁄ 共 2113字 ⁄ 字号 评论关闭

我用的数据库是oracle 10.2.0,全局数据库名 orcl.local,SID是orcl。

 

创建oracle数据库的一个实例之后,就能从本地连接了,如下:

sqlplus /nolog

或者

sqplus sys/orcl as sysdba

or

sqlplus "as sysdba"之后再输入用户名密码。

 

几点比较挠头,在windows上安装时,如果安装到了Program Files下,由于路径中有空格,会造成不必要的麻烦。因此还是按照他的默认路径或者取一个没有空格的路径。

 

1 使用net configuration assistant 进行配置时,名称很容易搞混。配置完了再检查一下listener.ora与tnsnames.ora

最简单的一个配置,我对由她生成的listner.ora进行了修改,修改了SID_NAME(必须地,蓝色),删掉了另外两行(可选,红色)

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = D:/works/oracle/product/10.2.0/db_1)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-f54d7532)(PORT = 1521))
    )
  )

 

附:由net configuration assistant 的监听程序配置 生成的:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:/works/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-f54d7532)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

 

生成了之后,用lsnrctl start 来启动,并通过lsnrctl status 来查看状态。

此时启动可能不成功,原因可是命名方法配置里的问题,查看sqlnet.ora:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES)

将蓝色的NTS改成NONE

try again。最好不要配置命名方法,如果生生了sqlnet文件的话,删掉它。

 

2 用net configuration assistant 的本地net服务名配置,

a) 填写“服务名”,数据库实例的名字,与SID相同,当前我创建库的时候用的是orcl,因此这里填orcl

b)选TCP,

c)主机名填IP,192.168.1.111 我的ip,我的机器使用固定IP,非DHCP

端口号默认就1521,与监听器一致

d)输入net服务名(网络服务名),默认与前面的一样。改成自己想用的名字,任意。

此时生成的tnsnames.ora是下面的样子

PPPPDB=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-f54d7532)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

将红色部分删掉(可选,它是第一次添加listner时就自动添加的),蓝色部分改成SID(必须的,不改的话报:ORA-28547: 连接服务器失败, 可能是 Oracle Net 管理错误)。

修改后即如下面的样子:

PPPPDB=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lenovo-f54d7532)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
    )
  )

HOST 可以是IP地址,域名,机器名。

我用的就是机器名。

3 命令行中 测试

sqlplus uuu/uuu123@PPPPDB

如果联通成功就ok了。

注意这时候如果使用sys用户的话,需要加上as  sysdba。进入之后,可以添加有些自己方便使用的用户等。

 

用Net Manager 也能完成这些。注意检查一下生成的配置文件。

 

确保在操作前。DB是启动的。

 

抱歉!评论已关闭.