`
LJ你是唯一LT
  • 浏览: 245452 次
社区版块
存档分类
最新评论

oracle 监听详细设置+plsql监听配置

阅读更多

一、监控文件说明:
1.TNS的详细配置文件

TNS的配置文件包括服务器端和客户端两部分:
1)服务器端:listener.ora、sqlnet.ora和tnsnames.ora
如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括cman.ora等文件;

2.客户端:tnsnames.ora,sqlnet.ora

listener.ora:监听器配置文件,成功启动后是驻留在服务器端的一个服务。
监听器是用来侦听客户端的连接请求以及建立客户端和服务器端连接通道的一个服务程序。
默认情况下Oracle在1521端口上侦听客户端连接请求。

sqlnet.ora:用来管理和约束或限制tns连接的配置,通过在该文件中设置一些参数,可以管理TNS连接。根据参数作用的不同,需要分别在服务器和客户端配置.

tnsnames.ora:配置客户端到服务器端的连接服务,包括客户端要连接到的服务器和数据库的配置信息

3.TNS配置
可以通过Oracle Net Configuretion Assitant配置TNS,也可以手动配置。
首先在Oracle服务器端安装完成之后,应该先着手配置LISTENER,LISTENER是进行Oracle通讯的首要组件,紧接着在客户端安装Oracle client,同时配置tnsnames.ora文件

首先监听器包括两个部分:Oracle要监听的地址、端口、通讯协议;Oracle要监听的数据库实例,非RAC环境下,LISTENER只能监听本服务器的地址和实例,RAC环境下,LISTENER还可以监听远程服务器。每个数据库最少要配置一个监听器。(注:RAC环境,指的是Oracle服务器集群配置的环境)

LISTENER部分配置了Oracle要监听的地址和端口信息;
HOST参数可以是Oracle服务器主机名称,也可以是相应的IP地址。在一个多IP的服务器上可以配置listener同时监听多个地址,比如下面的配置:

LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.11)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.11) (PORT=1521))) )
或者可以配置多个监听器,分别监听不同的IP地址。

一般说的TNS配置其实就是对tnsnames.ora文件的配置,tnsnames.ora有客户端的配置,也有服务器端的配置。

tnsnames.ora也包括两部分,ADDRESS_LIST 部分包含了Oracle数据库服务器的监听地址信息,也就是要告诉TNS数据库可通过这个地址和CLIENT进行通讯;CONNECT_DATA 定义了CLIENT要连接的数据库,以及数据库的连接方式,(专用或共享)。

在一个多IP环境中,TNS也可以配置多个远程IP地址:
CGDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.55)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.56)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = CGDB) (SERVER = DEDICATED) ) )

sqlnet.ora是个很重要的配置,它可以控制和管理Oracle连接的属性,根据参数作用的不同决定在客户端配置还是在server端配置。sqlnet.ora的配置是全局性的,也就说sqlnet.ora的配置是对所有的连接起作用,如果想对某个特殊的连接或服务进行约束或限制,可以在TNS配置相应参数。

二、监听文件的位置:
Oracle所有的TNS配置文件的默认路径:$ORACLE_HOME/network/admin
$ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/tnsnames.ora

我的ORACLE_HOME=/u01/oracle
所以监听文件在/u01/oracle/network/admin/listener.ora

三、监听文件配置
vi listener.ora
tinadb =       
   (DESCRIPTION_LIST =
       (DESCRIPTION =
          (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.12.253)(PORT=1521))
        )
   )
SID_LIST_tinadb =
    (SID_LIST =
       (SID_DESC =
          (SID_NAME = tinadb)
          (ORACLE_HOME=/u01/oracle)
        )
     )
host 可以填写数据库所在主机的主机名或者ip
port 可以默认1521,也可以指定其他端口
listener_name 监听名我直接使用的数据库名,也可以指定成其他,例如tina_pri  tina_dy
sid_name 必须跟实际数据库名保持一致

vi tnsnames.ora
tinadb_1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.253)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tinadb)
    )
  )

四、启动监听
配置完成后:
监听器启动起来              $ lsnrctl start
停止监听器的命令为          $ lsnrctl stop
监测监听器当前状态的命令为  $ lsnrctl status
重新加载参数                $ lsnrctl reload

例如:
[oracle@oratest ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 10-DEC-2015 13:02:15
Copyright (c) 1991, 2011, Oracle.  All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started

可以看到报错 LISTENER这个监听名已经启动

[oracle@oratest ~]$ lsnrctl stop

可以启动我们指定的监听名
[oracle@oratest admin]$ lsnrctl start tinadb

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 10-DEC-2015 13:49:06

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

Starting /u01/oracle/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.3.0 - Production
System parameter file is /u01/oracle/network/admin/listener.ora
Log messages written to /u01/diag/tnslsnr/oratest/tinadb/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.12.253)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.12.253)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     tinadb
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                10-DEC-2015 13:49:06
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/oracle/network/admin/listener.ora
Listener Log File         /u01/diag/tnslsnr/oratest/tinadb/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.12.253)(PORT=1521)))
Services Summary...
Service "tinadb" has 1 instance(s).
  Instance "tinadb", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

UNKNOWN 静态注册(修改文件listener.ora)
READY  动态注册 (如果在数据库实例启动后再启动监听器,Listener.ora文件中不需要配置相关的SID信息, PMON会自动对监测到的Service进行注册)

打开客户端plsql
username:sys
password:创建时指定的密码
database:192.168.12.253:1521/tinadb
connect as sysdba
注意:database 这里也可以填写你在客户端tnsnames.ora 里面配置的服务名tinadb_1


五、可能遇到的报错有:
1)ORA-12154:TNS:could not resolve the connect identifier specified
上面的文件内容没有配置正确

2)$ lsnrctl start 启动报错提示:
The listener supports no services
The command completed successfully
客户端连接会报错:
ORA-12170:TNS:Connect timeout occurred

方法一:
在listener.ora里面添加了一行   --我们之前已经添加了,不行
SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
  (SID_NAME = orcl)
  )
)

方法二:           
登录数据库:
$sqlplus / as sysdba              --注册后发现依然不行
显示服务名:
SQL>show parameter service_names
强制注册服务:
SQL>alter system register;
查看监听状态:
$lsnrctl status

方法三:                             ---实际就是配置上面两个文件 
后发现Oracle有个Net Manager可用:
Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。

linux上面:
[root@localhost oracle]# xhost +
[root@localhost oracle]# su - oracle
[oracle@localhost ~]$ netmgr

方法四:
防火墙的原因
关闭防火墙  service iptables stop    ---最终发现是这个问题

六、plsql配置远程数据库连接(即监听文件的配置)

---1.只安装oracle的一个客户端软件,不安装oracle整个软件

前期工作:
检查oracle服务器端监听是否正常工作及了解监听信息。

1.首先检查监听程序是否能正常启动
2.用 tnsping 服务名 ,来检查tnsnames.ora服务配置是否正确。
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.253)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = tinadb)))
OK (10 msec)

PLSQL Developer设置说明:
1.安装PLSQL Developer
2.安装oracle instance client端。  ---这个是oracle的一个客户端
直接下载解压instanceclient-basic-nt-11.2.0.3.0.zip 到D盘instantclient_11_2目录即可。

3.启动PLSQL Developer ,选择cancle,no logged on。
4.选择tools》》preferences》》connection,在oracle home中输入安装好的oracle instance client目录,
在OCI LIBRARY中输入oracle instance client 的OCI.dll文件的具体路径

我的配置是:
ORACLE_HOME(empty is autodetect)
D:\instantclient_11_2

OCI library(empty is autodetect)
D:\instantclient_11_2\oci.dll

5.在oracle instance client根目录,如D:\data\database\instantclient-basic-nt-11.2.0.2.0\instantclient_11_2\中
建立tnsnames.ora名字解析文件,在其中输入对应的oracle服务器解析规则信息,可参考oracle服务器端的tnsnames.ora文件内容,如:
tinadb_1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.253)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tinadb)
    )
  )
 
6.设置环境变量:
TNS_ADMIN=D:\instantclient_11_2(必须)
PATH=%PATH%;D:\instantclient_11_2(必须)
ORACLE_HOME=D:\instantclient_11_2(必须)
LD_LIBRARY_PATH=D:\instantclient_11_2(必须)
SQLPATH=D:\instantclient_11_2(可选)
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(可选) --我的是AMERICAN_AMERICA.AL32UTF8

添加oracle语言环境变量,添加环境变量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.AL32UTF8”,(CHINESE_CHINA.AL32UTF8 是ASCII编码类型,其它类型可自己到服务器看一下,
在服务器上输入命令:select userenv('language') from dual;)。
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8

7.确定,重启程序

补充:
【通过DOS连接Oracle Server(当然可通过sqlplus)以下情况适用命令式连接远程的Oracle】
1 通过Net Configuration Assistant 配置本地的Listener
2 DOS> sqlplus/nolog
3 DOS> connect username/password@TNSName


----2.如果客户端这边已经安装了oracle软件,则直接指向oracle的home即可
plsql选择tools》》preferences》》connection,在oracle home中输入安装好的oracle instance client目录,
在OCI LIBRARY中输入oracle instance client 的OCI.dll文件的具体路径

我的配置是:
ORACLE_HOME(empty is autodetect)
D:\oracle11g\product\11.2.0\dbhome_1

OCI library(empty is autodetect)
D:\oracle11g\product\11.2.0\dbhome_1\bin\oci.dll

这时候只需要修改D:\oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora里面添加一个配置即可。
tinadb_1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.253)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tinadb)
    )
  )
 
就可以直接通过以下信息连接到数据库
username:sys
password:创建时指定的密码tina
database:tinadb_1
connect as sysdba

命令行:
sqlplus system/tina@tinadb_1

分享到:
评论

相关推荐

    WIN7+oracle11g+plsql

    在本文中,我们将详细探讨如何在64位Windows 7操作系统上安装Oracle 11g数据库及PL/SQL Developer工具。Oracle 11g是一款强大的关系型数据库管理系统,而PL/SQL Developer则是一款用于开发和管理Oracle数据库的应用...

    plsql连接oracle服务器监听配置文件

    plsql连接oracle服务器监听配置文件: 需要进入plsql的安装目录:product\11.1.0\db_3\NETWORK\ADMIN 将附件存入该目录下,需要修改对应的IP地址

    Oracle12c客户端+plsql12

    - **环境变量设置**:设置TNS_ADMIN和ORACLE_HOME环境变量,以指向客户端安装目录。 - **网络配置**:配置监听器(LISTENER.ORA)和服务名(SQLNET.ORA)以连接到远程数据库服务器。 - **连接测试**:使用SQL*...

    oracle+plsql配置

    如果遇到任何问题,可以检查网络配置、监听器配置以及PL/SQL Developer的设置是否正确无误。 #### 六、总结 通过本文介绍的步骤,您可以轻松地完成Oracle与PL/SQL Developer之间的基本配置。这对于初学者来说是非常...

    Oracle 11g安装教程 含监听 客户端 PLSQL配置 中文版

    本教程主要针对初学者,旨在提供一套完整的Oracle 11g Release 2 (11.2) for Linux x86的安装过程,包括监听器配置、客户端连接以及PL/SQL Developer的配置,帮助学习者快速上手。 一、Oracle 11g安装基础 在开始...

    oracle11g+plsql详解

    本教程将详细解释如何使用 PL/SQL 连接到 Oracle 11g 数据库,以及配置远程访问。 首先,安装 Oracle 11g(64位)的过程主要包括以下几个步骤: 1. 启动安装程序(setup.exe)。 2. 接受许可协议并进行系统检测。 3...

    oracle 11g+plsql+傻瓜式安装说明.rar

    7. **设置监听器**:配置Oracle监听器以允许远程连接。 8. **创建管理员用户**:创建数据库管理员用户(如SYSDBA)并设置密码。 9. **指定文件位置**:确认或自定义数据文件、日志文件等的存放位置,确保路径全英文...

    PLSQL配置监听器

    PLSQL配置监听器是指在Oracle服务器上配置监听器,以便于远程访问数据库。监听器是Oracle Net组件之一,负责监听来自客户端的连接请求,并将其路由到相应的数据库实例。 在配置监听器之前,需要了解 listener.ora和...

    oracle 11g配置plsql详细完整版

    本文详细介绍了如何安装和配置 Oracle 11g 以及如何设置 PL/SQL Developer 以便于与 Oracle 11g 数据库进行交互。通过遵循这些步骤,开发者可以轻松地利用 PL/SQL 的强大功能来提高数据库应用程序的性能和效率。此外...

    PLSQL Developer 12.0.7连接Oracle12c数据库 首选项配置文件

    下面我们将详细介绍如何配置PLSQL Developer与Oracle 12c的连接以及涉及的相关知识点。 首先,让我们了解PLSQL Developer中的首选项配置。首选项是用户根据个人喜好或工作需求定制的工具设置,包括但不限于数据库...

    plsqlDeveloper连接数据库配置

    PL/SQL Developer 连接 Oracle 数据库配置是 Oracle 数据库管理的重要组成部分,本文将详细介绍 PL/SQL Developer 连接 Oracle 数据库的配置方法,包括监听配置、本地配置和 Oracle 网络配置等。 一、监听器...

    安装oracle客户端,配置plsql developer

    `PORT`字段则应为Oracle监听器开放的端口号。 **1.4 配置tnsnames.ora文件** 同样地,`tnsnames.ora`文件也需要进行相应的配置,它同样位于`<客户端目录>/network/admin/`目录下。示例配置如下: ```plaintext # ...

    oracle11g在64位win7下安装创建监听实例并连接plsql

    如题所述,本人亲自安装测试,装了3遍,都能用,最后一遍是用来写这个文档的,如果安装连接不成功可以私信我,里面有些问题如果能有好的解决方法还希望能够给大家分享出来。博客后面会补上,因为图太多,写起来比较...

    oracle10g客户端以及plsql客户端

    Oracle 10g客户端是Oracle数据库的一个组成部分,它允许用户连接到Oracle服务器并进行各种数据库管理操作。这个客户端包含了用于数据库连接、查询、数据管理以及应用程序开发所需的工具和组件。在本篇中,我们将深入...

    PLSQL+instantclient.7z

    2. **网络配置**:02网络配置.pdf应会讲解Oracle数据库的网络配置,如监听器(Listener)设置、数据库服务名(Service Name)配置、网络安全策略(如SQL*Net)等。 3. **PL/SQL Developer安装与使用**:04安装PLSQL...

    oracle配置绿色PLSQLDeveloper

    `listener.ora` 文件是 Oracle 监听器的配置文件,用于定义监听器如何监听特定端口并接收客户端连接请求。以下是对该文件关键部分的解读: #### SID_LIST_LISTENER 这部分定义了监听器将监听的服务标识 (SID)。例如...

    配置PLSQL远程连接oracle

    配置 PLSQL 远程连接 Oracle PLSQL 连接是 Oracle 数据库的一种编程语言,用于创建存储过程、函数和触发器。远程连接 Oracle 数据库是指在客户端通过网络连接到远程的 Oracle 数据库服务器,以便在客户端执行 SQL ...

    64位Oracle_11g+32位plsql

    本文将详细介绍如何在64位操作系统上安装Oracle 11g R2数据库,以及如何配置32位的PL/SQL Developer进行成功连接。 1. **Oracle 11g R2 64位安装步骤** - 首先,从Oracle官方网站(如...

    不用安装oracle客户端,用PLSQL访问服务器oracle数据库所需的所有文件

    其中,`MYDB`是你自定义的别名,`server.example.com`是服务器的域名或IP地址,`1521`是Oracle监听的默认端口,`myservice`是服务器上的Oracle服务名。 5. **启动PLSQL Developer**:打开PLSQL Developer,进入...

    PLSQL集成ORACLE客户端精简版

    PLSQL Developer是一款强大的Oracle数据库管理工具,它专为开发人员设计,提供了图形化的用户界面,使得与Oracle数据库的交互变得更加简单。"PLSQL集成ORACLE客户端精简版"标题所指的,就是一种免去传统Oracle客户端...

Global site tag (gtag.js) - Google Analytics