`

sqlPlus 远程连接oracle数据库 ---- 2016-06-29

阅读更多

TNS简要介绍与应用(原文链接:http://www.jb51.net/article/44668.htm

Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器。

TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置TNS也可以连接Oracle数据库,比如通过JDBC。如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序。

Oracle当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端自动列举出在局域网内所有的在线服务器,只需在客户端选择需要的服务器,然后使用帐号与密码登录即可。而Oracle不能自动列举出网内的服务器,需要通过读取TNS配置文件才能列出经过配置的服务器名。

配置文件名一般为:tnsnames.ora,默认路径:%ORACLE_HOME%\network\admin\tnsnames.ora

上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,当然局域网内用计算机名称也是可以的。通过客户端Net Manager创建一个连接到数据库服务器的连接服务时,实际上就是在tnsnames.ora文件中增加了一个TNS的内容。

TNS的详细配置文件

TNS的配置文件包括服务器端和客户端两部分。服务器端有listener.ora、sqlnet.ora和tnsnames.ora,如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括cman.ora等文件;客户端有tnsnames.ora,sqlnet.ora。Oracle所有的TNS配置文件的默认路径:%ORACLE_HOME%\network\admin

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

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

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

TNS配置

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

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

LISTENER部分配置了Oracle要监听的地址和端口信息;该文件中还会包括SID_LIST_LISTENER部分,这部分配置了Oracle需要监听的实例。(注:在上述截图中并没有SID_LIST_LISTENER这一部分,这是因为Oracle自9i版本引入了动态监听服务注册,在数据库启动时,会自动注册当前数据库实例到监听列表,所以无需配置SID_LIST_LISTENER部分了)

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有客户端的配置,也有服务器端的配置。客户端和服务器端配置的区别是因为服务器端的配置跟LISTENER的配置相关。下面是一个简单的配置示例:

 

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配置相应参数。

 

=======自己的工作经验================

工作中一般都是用sqldeveloper,但是上线的时候不可能用sqldeveloper来做。一般是准备好sql文件,然后用sqlplus直接通过@ + 全路径 + sql文件(EX:@C:\simon\test.sql)的方式来完成。

sqlplus怎么远程连接oracle DB呢?

1. 到oracle官网下载instantclient-basic-windows.x64-11.2.0.2.0和instantclient-sqlplus-windows.x64-11.2.0.2.0,当然要根据你的oracle版本来下载相应的版本,具体不同版本会怎样没有测试过,如果你是个钻牛角尖的人可以自己尝试一下。

2. 将上述的两个压缩包全部解压到一个文件夹下(ex:C:\simon\sqlplus)。

3. 在上述的文件夹下新建一个名为tnsnames.ora的文件, 内容如下,黄色部分输入自己的DB信息。至于这个文件是什么可以自己搜索,下面有一部分copy的解释。当然可以配置多个TNS。

 someDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (SID = XE) 
    )
  )

someDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
      (SID = XE) 
    )
  )

 

 

 

解释:

 

someDB:可以为任何名字,根据自己需求设置一个有意义的名字。

172.17.144.191: oracle服务器的地址,也可以用url类型的

1521:数据库的端口号

DEDICATED:还可以是SHARED,区别请看http://blog.csdn.net/kellyseeme/article/details/8959980( 如果你的数据库配置不是MTS,那所有的连接都是DEDICATED,如果你的数据库配置是MTS,不指定DEDICATED,就是SHARED模式:意味着为你这个客户端服务的server进程和为其他客户端服务的server进程是共享的。

DEDICATED:意味着你这个客户端锁对应服务的server进程只为你这个客户端服务。)

orcl:serviceName

xe:sid

4. 进入解压到的目录C:\simon\sqlplus,然后运行sqlplus。someDB就是上面你设置的名字。

开始菜单-〉cmd

>cd C:\simon\sqlplus

>sqlplus userName/password@someDB

 

下面就连接上DB了,可以开始工作了。

 

 @C:\simon\test.sql

 

 

 

 

分享到:
评论

相关推荐

    win7环境下sqlplus远程连接oracle数据库的方法

    为了能够成功地连接到远程Oracle数据库,需要创建并正确配置`tnsnames.ora`文件。 1. **创建tnsnames.ora文件**: - 在`D:\oraclePlsql\ora`目录下创建名为`tnsnames.ora`的文件。 - 编辑该文件,添加以下内容: ...

    sqlplus 11.2 安装包oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    Oracle Instant Client是Oracle公司提供的一款轻量级数据库连接工具,主要用在不需要完整Oracle数据库服务器安装的情况下,允许用户从客户端应用程序连接到Oracle数据库。在本例中,我们关注的是"sqlplus 11.2 ...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar

    - **网络配置**:正确配置TNS监听器和服务名,以确保可以连接到远程或本地的Oracle数据库实例。 - **安全考虑**:遵循最佳安全实践,限制对敏感数据的访问,定期更新补丁以防止潜在的安全威胁。 总之,Oracle ...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64

    Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,它允许用户在不安装完整Oracle数据库服务器的情况下,与Oracle数据库进行交互。本压缩包"oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_...

    远程连接Oracle报ORA-12545错误解决方案

    NULL 博文链接:https://ajita.iteye.com/blog/1725304

    plsql远程连接数据库,

    Instant Client是Oracle提供的一套轻量级客户端软件,包含了连接Oracle数据库所需的最小组件,如oci.dll和sqlplus等。在提供的文件列表中,我们看到有`instantclient使用步骤.txt`和`instantclient_11_2`,后者是...

    linux下远程定时备份oracle数据库

    在Linux环境下,远程定时备份Oracle数据库是一项至关重要的任务,它能确保数据的安全性和业务的连续性。Oracle数据库作为企业级的数据库管理系统,其备份与恢复策略必须严谨且可靠。以下将详细阐述如何在没有安装...

    远程连接oracle数据库

    远程连接Oracle数据库是数据库管理中常见且重要的任务,尤其在分布式系统和远程协作环境中。本文将详细介绍如何在虚拟机上安装Oracle服务器,并在用户机上配置Oracle客户端或Instant Client,以便进行远程数据库连接...

    Oracle-instantclient-sqlplus-win-ia64

    然后,就可以通过SQL*Plus直接连接到远程Oracle数据库,执行SQL命令,进行数据查询和管理。 总的来说,"Oracle-instantclient-sqlplus-win-ia64"是一个针对Itanium架构的Windows系统的Oracle Instant Client和SQL*...

    instantclient-sqlplus-win-x86-64-11.2.0.1.0

    在实际应用中,Oracle Instant Client 适用于远程数据库访问、自动化脚本、应用程序开发等场景,尤其对那些资源有限或者不希望安装完整客户端的环境非常有用。其轻量级的特性减少了对系统资源的需求,同时提供了与...

    instantclient-sqlplus-win-x86-64-10.2.0.3.0

    "Instantclient-sqlplus-win-x86-64-10.2...Oracle Instant Client与SQL*Plus的组合,为开发人员和DBA提供了一种高效、便捷的方式来访问和管理Oracle数据库,尤其适用于远程工作、临时查询或者轻量级的数据库维护任务。

    oracle-instantclient-sqlplus-win-x86-64

    Oracle Instant Client是一款轻量级的数据库连接工具,它允许用户在不安装完整Oracle数据库服务器的情况下进行数据查询、管理和开发工作。在本案例中,我们关注的是"oracle-instant-client-sqlplus-win-x86-64",这...

    sqlplus连接数据库方法

    PL/SQL Developer是一款强大的Oracle数据库开发工具,提供图形化的界面,支持本地和远程数据库连接: (1) 本机orcl数据库和cesp数据库:在工具中配置相应的数据库连接信息,包括服务名、用户名、密码等。 (2) ...

    instantclient-sqlplus-windows.x64-12.1.0.2.0.zip

    通过这个工具包,用户可以在不安装完整Oracle数据库客户端的情况下,进行远程数据库连接、执行SQL查询、管理数据库对象、运行PL/SQL程序等操作。这对于那些只需要偶尔访问Oracle数据库,或者在有限的计算资源下工作...

    solaris10 sqlplus连接远程ORACLE 11g数据库的配置详解

    在 Solaris 10 操作系统中,配置 SQL*Plus 连接到远程 Oracle 11g 数据库是一项关键任务,特别是在需要跨平台进行数据库管理时。以下是一个详细的步骤指南,教你如何在 Solaris 10 上安装 Oracle Client 11g 并配置...

    instantclient-sqlplus-windows.x64-11.2.0.4.0

    Oracle Instant Client是Oracle公司提供的一款轻量级的数据库连接工具,用于在不安装完整Oracle数据库客户端的情况下,允许应用程序连接到远程Oracle数据库服务器。在给定的压缩包"Instantclient-sqlplus-windows.x...

    在ArcGIS中如何使用Oracle直连方式连接oracle数据库

    ArcGIS 中使用 Oracle 直连方式连接 Oracle 数据库详解 ArcGIS 中使用 Oracle 直连方式连接 Oracle 数据库是一种高效且稳定的连接方式,特别是在大数据量处理的应用中。与使用 SDE 方式连接 Oracle 数据库相比,直...

    Oracle 插件 instantclient-sqlplus-windows.x64-12.2.0.1.0.zip

    1. 远程数据库管理:在没有安装完整数据库客户端的机器上,通过Instant Client连接远程Oracle数据库进行维护。 2. 开发和测试:开发者可以在不占用大量系统资源的情况下,快速测试SQL语句和PL/SQL代码。 3. 数据迁移...

    instantclient-sqlplus-windows.x64-12.2.0.1.0

    1. **数据库连接**:Instant Client提供了一个无需完全安装Oracle数据库的环境,用户可以借此连接到远程Oracle数据库服务器,进行数据查询、更新和管理操作。 2. **SQL*Plus**:作为Instant Client的一部分,SQL*...

Global site tag (gtag.js) - Google Analytics