Jadual Kandungan
1.综述
2.专用服务器
3.共享服务器
4. 使用场景
5. 服务器模式设置
6. 服务器模式判断
7. 关闭共享服务器模式
Rumah pangkalan data tutorial mysql ORACLE的连接模式专用服务器和共享服务器

ORACLE的连接模式专用服务器和共享服务器

Jun 07, 2016 pm 03:32 PM
oracle berdedikasi dikongsi pelayan model Gambaran keseluruhan menyambung

1.综述 ORACLE数据存在两种连接模式,一种是一个会话建立一个连接的专用服务器模式;另外一种是多个会话共用一个连接的共享服务器模式。在不同的场景中,恰当的运用可以极大的提高应用访问效率和命令执行效率。 2.专用服务器 专用服务器,顾名思义,就是指该

1.综述

ORACLE数据存在两种连接模式,一种是一个会话建立一个连接的专用服务器模式;另外一种是多个会话共用一个连接的共享服务器模式。在不同的场景中,恰当的运用可以极大的提高应用访问效率和命令执行效率。

2.专用服务器

专用服务器,顾名思义,就是指该服务器连接只提供单个用户使用,不得与其他用户共用。当用户采取专用服务器方式请求连接时,服务器会专门为该用户创建一个连接进程提供服务。

当我们进行专用服务器方式连接数据库时,则会创建一个专门的进程来提供服务:

ORACLE的连接模式专用服务器和共享服务器

然后,我们通过pl/sql developer用 scott用户与实例建立两个专用服务器连接,再次查询数据库实例进程:

ORACLE的连接模式专用服务器和共享服务器

可以发现实例多了两个会话进程,从而得出实例为每个会话分配一个专门进程,会话与专用服务器一一对应。

专用服务器的原理图如下所示:

ORACLE的连接模式专用服务器和共享服务器

当用户登录时,总会创建一个进程来为会话提供专门的服务。每当一个新会话建立,监听程序会创建新的专用服务器来提供专门服务,会话与专门服务器一一对应。用户的客户进程会通过某种网络通道与专门服务器直接通信,来响应我们提交的SQL、PL/SQL调用。

3.共享服务器

共享服务器,可以理解为类似连接池原理,有众多的会话,但可供使用的连接数一定,通过资源调度来动态管理会话与实例建立连接,这些连接供所有的会话共享,可以有效的减少资源负载。

共享服务器的原理如下图所示:

ORACLE的连接模式专用服务器和共享服务器

由于共享服务器进程的共享,需要在客户进程与共享服务器通信之间建立一种调度机制——调度程序,来保障调度的有效性。用户提出连接请求,监听器接收到连接请求后,会从可调用的调度程序中选择一个,将连接端口等信息返回给用户,调度程序在相应的端口等待,客户进程将于该调度程序进行连接。与调度程序连接后,将用户请求转入SGA的请求队列中,第一个空闲的共享服务器会得到这个请求,并进行处理。待处理完成,共享服务器会将结果放在响应的队列中。调度程序一致在监听响应队列,一旦发现有结果了,就会把结果传给用户。

4. 使用场景

专用服务器与共享服务器的主要区别:

客户进程不会与共享服务器直接通信,而可以与专用服务器直接通信。在客户进程与共享服务器之间还有一层调度机制。

共享服务器方式比专用服务器方式能够更好的分配资源,均衡负载,但是调度机制在使用过程中对系统资源有一定的消耗,执行效率有所下降,所以需要慎重使用方式。

专用服务器使用环境:

1.       连接用户数少的情况下,并不超出共享进程的限定数,提高了连接效率。

2.       数据库为了实现数据仓库,则必须使用专用服务器,oracle的强制要求。

3.       当联机事务处理系统满足用户连接数大于共享进程的限定数,且处理的事务都是大,则专用服务相对于共享服务器更高效。

共享服务器使用环境:

1.       连接用户数比较多,事务都比较小,则共享服务器可以高效的配置资源调高效率。

2.       服务器内存的考虑,共享服务器可以再有效的资源下更加高效。

3.       例如:负载均衡等特性要求采用共享服务器。

ORACLE默认推荐使用的是专用服务器方式,而共享服务器带了优势:

1.       操作系统进程数减少,减少操作系统上下文切换的资源消耗,提高效率。

2.       有效的限制并发度,即将系统消耗现在一个合理的范围。

这两种模式有利有弊需要视情况使用。

5. 服务器模式设置

5.1 专用服务器

专用服务器这是ORACLE的默认启动选项,不需要额外的设置。

5.2 共享服务器

1.参数:SHARED_SERVERS

SHARED_SERVERS的值大于0,表示启动了共享模式。

共享服务器个数:

alter systemset shared_servers = 1 scope=both ;

最大共享服务器个数:

alter systemset max_shared_servers = 5 scope=both ;

2.参数:DISPATCHERS

alter systemset dispatchers=’ (PROTOCOL=TCP) (SERVICE=zrgXDB) ‘;

ORACLE文档上指出该参数为可选项,如果不配置将匹配任何协议和服务。但在测试将参数设置为控制,进行登录时,显示失败。

PROTOCOL表示连接的协议。

SERVICE表示允许共享服务器的服务。

3.在客户端的tnsnames.ora 的tns设置中,在 CONNECT_DATA 设置中将SERVER 的值 DEDICATED改为SHARED,即可使用共享服务器连接。

5.3 TNS配置

在客户端的TNS中配置如下:

ORACLE的连接模式专用服务器和共享服务器

根据监听器状态,服务zrgXDB.zrg.com可以配置共享服务器连接:

DBZRG =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.199.134)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = SHARED)

      (SERVICE_NAME = zrgXDB.zrg.com)

    )

  )

如果我们将SERVICE_NAME改为orcl.zrg.com或pdbzrg.zrg.com,则会出现ORA-12520: TNS: 监听程序无法找到需要的服务器类型的可用句柄

而专用服务器的连接可以配置为:

DBZRG =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.199.134)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = zrgXDB.zrg.com)

    )

  )

专用服务器模式是数据库默认支持的所以无需配置,而共享服务器需要配置开启的,支持共享服务器模式的,也可以进行专用服务器模式连接。

我们也可以将SERVICE_NAME改用SID=epps代替,epps作为连接的实例,存在服务使用共享服务器,可以建立共享服务器连接,同时也可以建立专用服务器连接。

6. 服务器模式判断

判断当前是否启动了共享服务器可以从以下视图入手:

1.  V$session

ORACLE的连接模式专用服务器和共享服务器

可以看到我用PL/SQL DEVELOPER与实例建立了共享服务器方式:SERVER类型为SHARED,如果为NONE也表示了启用了共享服务器。还可以发现系统后台进程全部启动了专用服务器进程。

2. V$shared_server

启动共享服务器:

ORACLE的连接模式专用服务器和共享服务器

关闭共享服务器:

ORACLE的连接模式专用服务器和共享服务器

需要将已经建立的共享服务器的会话结束,该参数才会发生变化。

3.   V$circuit

ORACLE的连接模式专用服务器和共享服务器

有查询结果则表示启用了共享模式,否则不能做出判断。

4. 查看监听器状态

ORACLE的连接模式专用服务器和共享服务器

从以上信息,我们看到有一个服务zrgXDB.zrg.com使用的是共享服务器,有一个调度器“D000”;还有两个服务orcl.zrg.com,pdbzrg.zrg.com使用的是专用服务器。

7. 关闭共享服务器模式

将参数shared_servers的值设置为0,就可以禁用共享服务器模式了。

命令如下:

alter systemset shared_servers = 0 ;

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mengimport pangkalan data oracle Cara mengimport pangkalan data oracle Apr 11, 2025 pm 08:06 PM

Kaedah Import Data: 1. Gunakan utiliti SQLLoader: Sediakan fail data, buat fail kawalan, dan jalankan SQLLoader; 2. Gunakan alat IMP/EXP: data eksport, data import. Petua: 1. Disyorkan SQL*loader untuk set data besar; 2. Jadual sasaran harus wujud dan perlawanan definisi lajur; 3. Selepas mengimport, integriti data perlu disahkan.

Cara memeriksa saiz meja oracle Cara memeriksa saiz meja oracle Apr 11, 2025 pm 08:15 PM

Untuk menanyakan saiz ruang meja oracle, ikuti langkah -langkah berikut: Tentukan nama meja dengan menjalankan pertanyaan: pilih Tablespace_Name dari DBA_TableSpaces; Tanya saiz meja dengan menjalankan pertanyaan: pilih jumlah (bait) sebagai total_size, jumlah (bytes_free) sebagai tersedia_space, jumlah (bytes) - jumlah (bytes_free) sebagai digunakan_space dari dba_data_files di mana tablespace_

Cara membuat jadual di oracle Cara membuat jadual di oracle Apr 11, 2025 pm 08:00 PM

Mewujudkan Jadual Oracle melibatkan langkah -langkah berikut: Gunakan sintaks Create Table untuk menentukan nama jadual, nama lajur, jenis data, kekangan, dan nilai lalai. Nama jadual harus ringkas dan deskriptif, dan tidak boleh melebihi 30 aksara. Nama lajur hendaklah menjadi deskriptif, dan jenis data menentukan jenis data yang disimpan dalam lajur. Kekangan tidak null memastikan bahawa nilai null tidak dibenarkan dalam lajur, dan klausa lalai menentukan nilai lalai untuk lajur. Kekangan utama utama untuk mengenal pasti rekod unik jadual. Kekangan utama asing menentukan bahawa lajur dalam jadual merujuk kepada kunci utama dalam jadual lain. Lihat penciptaan pelajar jadual sampel, yang mengandungi kunci utama, kekangan unik, dan nilai lalai.

Cara menambah medan meja ke oracle Cara menambah medan meja ke oracle Apr 11, 2025 pm 07:30 PM

Gunakan pernyataan ALTER Jadual, sintaks khusus adalah seperti berikut: alter table table_name Tambah column_name data_type [kekangan-klausa]. Di mana: Table_name adalah nama jadual, column_name adalah nama medan, data_type adalah jenis data, dan kekangan-fasal adalah kekangan pilihan. Contoh: Alter Table Pekerja menambah e -mel varchar2 (100) Tambahkan medan e -mel ke jadual pekerja.

Apa yang perlu dilakukan sekiranya oracle tidak dapat dibuka Apa yang perlu dilakukan sekiranya oracle tidak dapat dibuka Apr 11, 2025 pm 10:06 PM

Penyelesaian kepada Oracle tidak boleh dibuka termasuk: 1. Mulakan perkhidmatan pangkalan data; 2. Mulakan pendengar; 3. Periksa konflik pelabuhan; 4. Menetapkan pembolehubah persekitaran dengan betul; 5. Pastikan perisian firewall atau antivirus tidak menghalang sambungan; 6. Periksa sama ada pelayan ditutup; 7. Gunakan RMAN untuk memulihkan fail rasuah; 8. Periksa sama ada nama perkhidmatan TNS betul; 9. Periksa sambungan rangkaian; 10. Pasang semula perisian Oracle.

Cara menyelesaikan kod gadbled di oracle Cara menyelesaikan kod gadbled di oracle Apr 11, 2025 pm 10:09 PM

Masalah Garbled Oracle boleh diselesaikan dengan memeriksa set aksara pangkalan data untuk memastikan ia sepadan dengan data. Tetapkan set aksara klien untuk memadankan pangkalan data. Tukar data atau ubah suai set aksara lajur untuk memadankan set aksara pangkalan data. Gunakan set aksara Unicode dan elakkan set aksara multibyte. Semak bahawa tetapan bahasa pangkalan data dan pelanggan betul.

Cara menyampaikan semula oracle Cara menyampaikan semula oracle Apr 11, 2025 pm 07:33 PM

Oracle menyediakan pelbagai kaedah pertanyaan deduplikasi: Kata kunci yang berbeza mengembalikan nilai yang unik untuk setiap lajur. Kumpulan oleh klausa mengumpulkan hasil dan mengembalikan nilai tidak berulang bagi setiap kumpulan. Kata kunci yang unik digunakan untuk membuat indeks yang mengandungi hanya baris unik, dan pertanyaan indeks akan secara automatik deduplicate. Fungsi row_number () memberikan nombor unik dan menapis hasil yang mengandungi hanya baris 1. Min () atau max () mengembalikan nilai tidak berulang dari lajur angka. Operator Intersect mengembalikan nilai -nilai bersama kedua -dua set hasil (tiada pendua).

Cara Menyiapkan Pengguna Oracle Cara Menyiapkan Pengguna Oracle Apr 11, 2025 pm 08:21 PM

Untuk membuat pengguna di Oracle, ikuti langkah -langkah berikut: Buat pengguna baru menggunakan pernyataan pengguna Create. Berikan kebenaran yang diperlukan menggunakan penyata geran. Pilihan: Gunakan pernyataan sumber untuk menetapkan kuota. Konfigurasikan pilihan lain seperti peranan lalai dan ruang meja sementara.

See all articles