为数据库设置多个服务名(通过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. ubuntu常用命令操作

    建立文件夹软链接 ln -s 源文件 目标文件 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下 ...

  2. APICloud ajpush(极光推送) 6009

    APICloud 其它的都按照APICloud的使用说明操作即可,但有一点需要提醒像我一样才接触的朋友:极光推送需打包测试,不能直接自定义Loader.否则,你会发现在绑定别名的方法时会一直返回&qu ...

  3. 编写DAO,通过JdbcTemplate操作数据库的实践

    目的:编写DAO,通过Spring中的JdbcTemplate,对数据库中的学生数据进行增删改查操作. 要操作的数据库表结构为: 一.大体框架 1.要利用JdbcTemplate,首先要添加Sprin ...

  4. ubuntu下动态链接库的编译和使用实例

    以下实例的环境是amd64 + ubuntu10.10 + g++ 4.4.5测试成功,在其他配置的机器上可能有一点区别.     动态库的使用方式中有两种,第一种是类似于静态库的使用,另一种我称之为 ...

  5. 使用DirectDraw直接显示YUV视频数据

    最近在编写一个进行视频播放的ActiveX控件,工作已经接近尾声,现将其中显示YUV数据的使用DirectDraw的一些经验总结如下:(解码部分不是我编写的,我负责从网络接收数据,将数据传给解码器,并 ...

  6. 实战DeviceIoControl 之四:获取硬盘的详细信息

    Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...

  7. firebug中的console常用的方法

    firebug中的console常用的方法 1.console.log("Hello!"); --------------------显示基本信息 2.console.info(& ...

  8. Flex中的FusionCharts 2D面积图

    Flex中的FusionCharts 2D面积图 1.源码 <?xml version="1.0" encoding="utf-8"?> <s ...

  9. java.sql.SQLException之数组越界

    java.sql.SQLException之数组越界 1.具体错误如下: (1)java.sql.SQLException:Parameter index out of range(0<1) ( ...

  10. 利用Eclipse中的Maven构建Web项目报错(二)

    利用Eclipse中的Maven构建Web项目 1.错误描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.a ...