为数据库设置多个服务名(通过SCOPE=both设置,同时修改参数文件)

 SQL> show parameter service_names;

 NAME                     TYPE     VALUE
 ------------------------------------ ----------- ------------------------------
 service_names                 string     vmdb

 SQL> alter system set service_names='vmdb,sn01,sn02' scope=both;

 System altered.

重启监听后,监听状态并未显示服务sn01,sn02

 [oracle@CentOS ~]$ lsnrctl stop

 LSNRCTL   ::

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

 Connecting )))
 The command completed successfully
 [oracle@CentOS ~]$ lsnrctl start

 LSNRCTL   ::

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

 Starting /dbhome_1/bin/tnslsnr: please wait...

 TNSLSNR  - Production
 System parameter /dbhome_1/network/admin/listener.ora
 Log messages written to /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml
 Listening )))

 Connecting )))
 STATUS of the LISTENER
 ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR  - Production
 Start Date                 ::
 Uptime                     days  hr.   sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter /dbhome_1/network/admin/listener.ora
 Listener Log File         /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml
 Listening Endpoints Summary...
   (DESCRIPTION)))
 Services Summary...
 Service "vmdb" has  instance(s).
   Instance "vmdb", status UNKNOWN, has  handler(s) for this service...
 The command completed successfully

通过另一台机器通过服务名sn01连接可以连接上:

 /sn01

 SQL Production  :: 

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

 ERROR:
 ORA: the password will expire within  days

 Connected to:
 Oracle  - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options

 SQL> 

在数据库中可以查询v$session视图的service_name来判断会话是由通过哪个服务名连接创建的:

 SQL> col paddr format a20
 SQL
 SQL> col username format a15
 SQL> col service_name format a20
 SQL> Select paddr,Sid,serial#,username,service_name From v$session  Where username Is Not Null;

 PADDR              SID     SERIAL# USERNAME     SERVICE_NAME
 -------------------- -------- ---------- --------------- --------------------
 000000008DC95250                  SYS         SYS$USERS
 000000008DC98310                   TEST         vmdb
 000000008DC96290                  TEST         sn01
 000000008DC99350                  TEST         vmdb

重启数据库:

 SQL> shutdown immediate;
 Database closed.
 Database dismounted.
 ORACLE instance shut down.
 SQL> startup
 ORACLE instance started.

 Total System Global Area   bytes
 Fixed Size             bytes
 Variable Size           bytes
  bytes
 Redo Buffers             bytes
 Database mounted.
 Database opened.

再次查看监听,sn01,sn02服务名显示出来了:

 [oracle@CentOS ~]$ lsnrctl status

 LSNRCTL   ::

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

 Connecting )))
 STATUS of the LISTENER
 ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR  - Production
 Start Date                 ::
 Uptime                     days  hr.   sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter /dbhome_1/network/admin/listener.ora
 Listener Log File         /u01/app/oracle/diag/tnslsnr/CentOS/listener/alert/log.xml
 Listening Endpoints Summary...
   (DESCRIPTION)))
 Services Summary...
 Service "sn01" has  instance(s).
   Instance "vmdb", status READY, has  handler(s) for this service...
 Service "sn02" has  instance(s).
   Instance "vmdb", status READY, has  handler(s) for this service...
 Service "vmdb" has  instance(s).
   Instance "vmdb", status UNKNOWN, has  handler(s) for this service...
   Instance "vmdb", status READY, has  handler(s) for this service...
 Service "vmdbXDB" has  instance(s).
   Instance "vmdb", status READY, has  handler(s) for this service...
 The command completed successfully

但是监听配置文件里不会自动增加服务名sn01,sn02:

 /dbhome_1/network/admin/listener.ora
 # listener.ora Network Configuration /dbhome_1/network/admin/listener.ora
 # Generated by Oracle configuration tools.

 SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (GLOBAL_DBNAME = vmdb)
       (ORACLE_HOME /dbhome_1)
       (SID_NAME = vmdb)
     )
   )

 LISTENER =
   (DESCRIPTION =
     (ADDRESS ))
   )

 ADR_BASE_LISTENER = /u01/app/oracle

oracle相同SID对外提供多个service_names的更多相关文章

  1. oracle DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME, SERVICE_NAMES 及监听参数的说明

    DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME, SERVICE_NAMES 及监听参数的说明 DB 相关的: DBID, SIDPFI ...

  2. System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> Oracle.DataAccess.Client.OracleException: 提供程序与此版本的 Oracle 客户机不兼容”

    .net应用程序通过Oracle.DataAccess.dll访问64位的Oracle服务器,在连接时出现以下异常:“System.TypeInitializationException: The t ...

  3. 使用WCF对外提供接口

    本篇将通过WCF以webservices的方式对外提供接口.同时使用NUnit对webservices中的方法进行单元测试. 开发契约 contract Contract项目为类库项目,该项目下会包含 ...

  4. ORA-00214: controlfile '/u01/app/oracle/oradata/[sid]/control01.ctl' version inconsistent with file '/u01/app/oracle/oradata/[sid]/control03.ctl'

    Sample error: SQL> startupORACLE instance started. Total System Global Area 285212672 bytesFixed ...

  5. grpc-gateway:grpc对外提供http服务的解决方案

    我所在公司的项目是采用基于Restful的微服务架构,随着微服务之间的沟通越来越频繁,就希望可以做成用rpc来做内部的通讯,对外依然用Restful.于是就想到了google的grpc. 使用grpc ...

  6. springboot+CXF开发webservice对外提供接口(转)

    文章来源:http://www.leftso.com/blog/144.html 1.项目要对外提供接口,用webservcie的方式实现 2.添加的jar包 maven: <dependenc ...

  7. zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的。

    zookeeper集群,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即对客户端来讲每个服务器都是平等的.

  8. 九、frp对外提供简单的文件访问服务

    通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务.类似于http的文件索引! 服务端frps.ini配置[common]bind_addr = 0.0.0.0bi ...

  9. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...

随机推荐

  1. MySQL高级学习笔记

    1. 变量相关 临时变量 -- 定义在函数体或存储过程中的变量 -- 用法在讲函数时会提到 用户变量,也称会话变量 -- 用户变量只对当前连接用户有效,其他连接用户无法访问 -- 使用 @ 标识符声明 ...

  2. 关于服务器的CPU的几个概念学习总结

    物理CPU 物理CPU: 物理CPU是指插在主板上面的CPU芯片.即指在主板上肉眼能看到的CPU的个数.一般而言,个人台式机或笔记本上只会有一个物理CPU芯片.而服务器主板上往往有多个物理CPU. L ...

  3. 2.2 HOST主桥

    本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥. MPC8548处理器是Freescale基于E500 V2内核的一个P ...

  4. Jenkins+Gradle实现android开发持续集成、打包

    Jenkins简介 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在的错误, ...

  5. 修改android 开机画面

    对于使用安卓手机的人来说,能够自由定制手机的各种界面是每个用户之所以喜欢安卓系统的最根本的缘由,比如手机的开机界面中的bootanimation.zip文件.本文就如何修改开机界面,做一个简单的流程介 ...

  6. HI3531uboot开机画面

    startvo 0 36 13; startgx 0 0x88000000 1600 0 0 800 600; //startgx 0 0x88000000 2048 0 0 1024 768; se ...

  7. php出现Can't use function return value in write context

    <?php if(session('uid')){ }else{ } ?> 在用empty判断值为空的时候,报了这个Can't use function return value in w ...

  8. spring配置datasource三种方式及具体信息

    1.使用org.springframework.jdbc.datasource.DriverManagerDataSource说明:DriverManagerDataSource建立连接是只要有连接就 ...

  9. Struts2入门这一篇就够了

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  10. Windows环境下使用python 3.x自带的CGI服务器测试cgi脚本--Python

    1.在桌面上新建一个文件夹作为服务器目录文件夹(文件夹名称自定义,文件夹位置自定义),在www文件下再建一个文件夹,文件夹名为“cgi-bin”,须是这个文件名,其他试过不行(原因暂时未知)