oracle中 sid与service_name有什么区别?

解决方案 »

  1.   

    一般安装的时候默认是相同的。但如果你安装时也可以修改
    SID是数据库实例名,每创建一个实例都有一个唯一的SID
    而service_name是服务名,是oracle网络连接用的,你配置tnsname的时候就要用到service_name
    可以再命令模式下:
    show parameter instance_name;
    show parameter service_name;
      

  2.   

    正如一楼所说!
    SID数据库实例名,service_name配置在tnsname中,可以随意取名,plsql登录时的Database就是service_name……
      

  3.   

    SID是数据库和操作系统通信的桥梁,比方说通过SID,可以定位initSID.ora或spfileSID.ora文件,以及oracle进程的命名,特别是多实例的情况下
    service_name是供客户端访问的
    这两个值都可以修改,但一个实例只能有一个sid,可以有多个service_name
    service_name设置多个,主要用来分离应用,更好的利用资源,该关键应用分配更多的资源,比方说并行度,当然要将service_name和oracle resource plan management结合起来