• Oracle中Basic与TNS的区别及与Oracle三种连接方式的关系


    Oracle JDBC连接一共有三种方式,分别是:SERVICE_NAME、SID和TNSName。

    1.SERVICE_NAME方式:jdbc:oracle:thin:@//<host>:<port>/<SERVICE_NAME>  

    2.SID连接方式:jdbc:oracle:thin:@<host>:<port>:<SID> 
                        或:jdbc:oracle:thin:@<host>:<port>/<SID>

    3.TNSName连接方式:jdbc:oracle:thin:@<TNSName>

    打开oracle路径下的D:oraclexeapporacleproduct11.2.0server etworkADMIN nsames.ora文件

    红线框内的db25就是TNSName,是属于客户端的参数,其余内容都是服务端的参数。

    SERVICE_NAME和SID的比较:
        SID是对内的,是实例级别的一个名字,用来内部之间称呼用。
        SERVICE_NAME是对外的,是数据库级别的一个名字,用来告诉外面的人,我数据库叫"SERVICE_NAME"。

    访问数据库的过程:
    要想访问数据库,必须把数据库文件加载进实例中。SID即INSTANCE_NAME是用来唯一标示实例的。SERVICE_NAME是oracle8i新引进的,8i之前,一个数据库只能由一个实例对应,但是随着高性能的需求,并行技术的使用,一个数据库可以由多个实例对应了,比较典型的应用如RAC。为了充分利用所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念,该参数直接对应数据库,而不是某个实例。自此Oracle JDBC连接多使用SERVICE_NAME方式连接,逐渐替代SID方式连接。

    ===========================================================

    oracle连接是TNSName格式,之前没有见过这样的格式,于是研究了下。
    首先附上oracle连接:
    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.32)(PORT = 1551)) (CONNECT_DATA = (SERVER = CWDB) (SERVICE_NAME = CWDB) ) )

    然后百度了下这种连接方式,发现Oracle其实是有三种连接方式的,感谢这位博主的文章:
    https://blog.csdn.net/u012062455/article/details/52442838

    然后尝试用Navicat 12.1连接数据库,发现一些连接参数看不懂。百度了下没找到类似的问题解答,下面说下自己的感悟吧,不一定对,不对的地方希望大神帮忙改正:

    1:连接类型。
    这里连接类型有两种:Basic和TNS两种。
    我的理解是。Basic是基础的连接类型,可以支持SID和ServiceName两种连接方式连接Oracle,
    TNS支持用TNSName的方式连接Oracle。
    测试用连接类型改为TNS,参数改为上面的,可以连接成功:

    TNS网络服务名其实可以读取文件中的几个服务,选中就可以如下:)

    2.服务名和SID
    服务名对应ServiceName的连接方式,SID对应的是SID的连接方式。只要将对应的service_name和sid输入即可。(此处没有测试。)

    另Navicat12.1有时候会因为和oracle版本不一样连接不上,需要修改这里的配置:
    工具—选项—环境:

    这个网上很多,可以多备用几个。更改完需要重启。

    转 : https://blog.csdn.net/qq_40391559/article/details/87936681

    https://blog.csdn.net/qq_39688195/article/details/103579926

  • 相关阅读:
    [翻译]Kafka Streams简介: 让流处理变得更简单
    KafkaClient接口与Kafka处理请求的若干特性
    KIP-32 Add timestamps to Kafka message
    (翻译)Google Guava Cache
    Kerberos的组件和术语(翻译和注解)
    目录
    java map 分析
    编译原理
    Java中的SPI(Service Provider Interface)
    新型数据库Kudu应用经验分享
  • 原文地址:https://www.cnblogs.com/fps2tao/p/14059678.html
Copyright © 2020-2023  润新知