【翻译自mos文章】多租户中的service管理

本文旨在概述在Oracle数据库多租户环境中管理数据库服务的关键点,包括服务名称的概念、多租户特定的介绍、创建服务的方法及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源于:

Service Management For Multitenant (文档 ID 2009500.1)

APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

GOAL

 This Note is intended to cover the most important point about the management of database services in a Multitenant environment.

SOLUTION

 An introduction on the topic of database services can be found here.

'...A service name is a logical representation of a service used for client connections.
When a client connects to a listener, it requests a connection to a service. When a database instance starts, 
it registers itself with a listener as providing one or more services by name. Thus, the listener acts as a 
mediator between the client and instances and routes the connection request to the right place....'

For a Multitenant-specific introduction please check here and here.

Services are an integral part of the management for Multitenant , esp. as there is
always a service created when a PDB is created or plugged in. The PDB and the 
Service always have the same name and therefore you should never create any
services manually which have the same names as a PDB you intend to plug in.

SQL*Plus: Release 12.1.0.2.0 Production on Mi Mai 13 10:20:44 2015

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

Enter user-name: / as sysdba

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> select service_id, name,enabled ,pdb from cdb_services order by 1;

SERVICE_ID NAME                           ENA PDB
---------- ------------------------------ --- --------------------
         1 SYS$BACKGROUND                 NO  CDB$ROOT
         2 SYS$USERS                      NO  CDB$ROOT
         3 o12cXDB                        NO  CDB$ROOT
         4 o12c                           NO  CDB$ROOT

SQL> alter pluggable database pdb1 open read write;

Pluggable database altered.

SQL> select service_id, name,enabled ,pdb from cdb_services order by 1;

SERVICE_ID NAME                           ENA PDB
---------- ------------------------------ --- --------------------
         1 SYS$BACKGROUND                 NO  CDB$ROOT
         2 SYS$USERS                      NO  CDB$ROOT
         3 o12cXDB                        NO  CDB$ROOT
         4 o12c                           NO  CDB$ROOT
         7 pdb1                           NO  PDB1

It is important to note that the service only becomes active when the PDB is started.

 There are two ways to create a database service:

1. The DBMS_SERVICES package provides an interface to the creation and management of services.
This is also what is used to create the services for the PDB's.
To see a list of currently active services, please run as SYS in the CDB:

SQL> select service_id, name,enabled ,pdb from cdb_services order by 1;

 When you need to create or delete a service, then you need to switch to the container listed under 'PDB' using:

SQL> alter session set container = <pdb name>;

 and then run the required procedure of the DBMS_SERVICE package

 2. There is a utility called srvctl that is mostly used in a RAC environment but it also works in a non-RAC setup.
This is described here for RAC and in Note 1260134.1 for a stand-alone environment.

In order to see a list of the services managed by srvctl, you need to run

$ srvctl status service -db <cdb name> -v

  You can use this to make sure that there are no conflicts when you plan to plug in a database.
A complete reference and examples for this can be found here.

 


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值