Rumah pangkalan data tutorial mysql Oracle 工具后台进程

Oracle 工具后台进程

Jun 07, 2016 pm 05:05 PM
pangkalan data

配置了作业队列:CJQ0进程是作业队列协调器(job queue coordinator).配置了Oracle AQ,从Q000(AQ队列进程,AQ queue process)和QMN

这些后台进程都是可选的,可以根据你的需要来选用。它们提供了一些工具,不过这些工具并不是每天运行数据库所必需要的,除非你自己要使用(如作业队列),

或者你要利用使用了这些工具的特性(如新增加的Oracle 10g诊断功能).

在UNIX中,这些进程可以像其他后台进程一样可见,如果你执行ps命令,就能看到这些进程。在介绍中心后台进程那一节的开始,我列出了ps命令的执行的执行结果

(这里列出其中一部分),可以看到,,我有以下进程:

配置了作业队列:CJQ0进程是作业队列协调器(job queue coordinator).

配置了Oracle AQ,从Q000(AQ队列进程,AQ queue process)和QMNC(AQ 监视器进程,AQ monistor process)可以看出。

启用了自设置SGA大小,由内存管理器(memory manager,MMAN)进程可以看出。

启用了Oracle 10g可管理性/诊断性,由可管理性监视器(manageability monitor,MMON)和可管理性监视器灯(manageability monitor light,MMNL)进程可以看出:

1.CJQ0和Jnnn进程:作业队列

在第一个7.0版本中,Oracle通过一种称为快照(snapshot)的数据库对象来提供复制特性。作业队列就是刷新快照(或将快照置为当前快照)进使用的内部机制。

作业队列进程监视一个作业表,这个作业表告诉它何时需要刷新系统中的各个快照。

作业队列进程监视一个作业表,这个作业表告诉它何时需要刷新系统中的各个快照。在Oracle 7.1中,Oracle公司通过一个名为DBMS_JOB的数据库包提供这个功能。

所以,原告7.0中与快照相关的进程到了7.1及以后版本中变马了"作业队列".后来,控制作业队列行为的参数(检查的频度,以及应该有多少个队列进程)名字也发生了变化

,从SNAPSHOT_REFRESH_INTERVAL和SNAPSHOT_REFRESH_PROCESSES变成了JOB_QUEUE_INTERVAL和JOB_QUEUE_PROCESS。在当前版本中,只有JOB_QUEUE_PROCESS参数的设置是用户可调的。

最多可以有1000个作业队列进程。名字分别是J000,J001,...,J999。这些进程在复制中大量使用,并作为物化视图刷新进程的一部分。基于流的复制使用AQ来完成复制,因此

不使用作业队列进程。开发人员还经常使用作业队列来高度一次性(后台)作来或反复出现的作业,例如,在后台发送一封电子邮件,或者在后台完成一个长时间运行的批处理。

通过在后台做这些工作,就能达到这种一种效果:尽管一个任务耗时很长,但在性急的最终用户看来所花费的时间并不多(他会认为任务运行得快多了,但事实上可能并非如此).

这与Oracle用LGWR和DBWn进程所做的工作类似,他们在后台做大量工作,所以你不必实时地等待它们完成所有任务。

Jnnn进程与共享服务器很相似,但是也有专用服务器中的某些方面。它们处理完一个作业之后再处理下一个作业,从这个意义上讲是共享的,但是它们管理内存的方式更像一个专用服务器(其UGA内存在PGA中,而不是在SGA中).每个作业队列进程一次只运行一个作业,一个接一个地运行,直至完成。正因为如此,如果我们想同时运行多个作业,就需要多个进程。这里不存在多纯种或作来的抢占。一旦运行一个作业,就会一直运行到完成(或失败).

你会注意到,经过一段时间,Jnnn进程会不断地来来去去,也就是说,如果配置了最多1000个Jnnn进程,并不会看到真的有1000进程随便数据库启动。相反,开始时只会启动

一个进程,即作业队列协调器(CJQ0),它在作业队列中看到需要运行的作业时,会启动Jnnn进程。如果Jnnn进程完成其工作,并发现没有要处理的新作业,此时Jnnn进程就会退出,也就是说,会消失。因此,如果将大多数作业都调度为凌晨2:00运行(没有人在场),你可能永远也看不到这些Jnnn进程。

2、QMNC  和 Qnnn:高级队列

QMNC进程对于AQ表来说就相当于CJQ0进程之于作业表。QMNC进程会监视高级队列,并警告从队列中删除等待消息的"出队进程"(dequeuer):已经有一个消息变成可用。QMNC和Qnnn还要负责队列传播(propagation),也就是说,能够将在一个数据库入队(增加)的消息移动另一个数据库的队列中,从而实现出队(dequeueing).

Qnnn 进程对于QMNC进程就相当于Jnnn进程与CJQ0进程的关系。QMNC进程要通知Qnnn进程需要完成什么工作,Qnnn进程则会处理这些工作。

QMNC和Qnnn进程是可选的后台进程。参数AQ_TM_PROCESSES可以指定最多创建10个这样的进程(分别为Q000,。。。,Q008),以及一个QMNC进程。如果AQ——TM_PROCESSES设置为0,就没有QMNC或Qnnn进程。不同于作业队列所用的Jnnn进程,Qnnn进程是持久的。如果将AQ_TM_PROCESSES设置为10,数据库启动时

可以看到10个Qnnn进程和一个QMNC 进程,而且在实例的整个生成期中这些进程都存在。

3.EMNn:事件监视器进程(Event Monitor Process)

EMNn进程是AQ体系结构的一部分,用于通知对某些消息感兴趣的队列订购者。通知会异步地完成。可以用一些Oracle调用接口(Oracle Call Interface,OCI)函数来注册消息通知

的回调。回调是OCI程序中的一个函数,只要队列中有了订购者感谢兴趣的消息,就会自动地调用这个函数。EMNn后台进程用于通知订购者,第一次向实例发出通知时会自启动EMNn进程。然后应用可以发出一个显式的message_receive(dequeue)来获得消息。

4.MMAN:内存管理器(Memory Manager)

这个进程是Oracle 10g中增加的,自动设置SGA大小特性会使用这个进程。MMAN进程用于协调共享内存中各组件(默认缓冲区池,共享池,Java池和大池) 的大小设置和大小调整。

5.MMON,MMNL和Mnnn:可管理性监视器(Manageability Monitor)

这此进程用于填充自动工作负载存储库(Automatic Workload Repository,AWR),这是Oracle 10g中新增的一个特性。MMNL进程会根据调度从SGA将统计结果刷新输出至数据库表。MMON进程用于"自动检测"数据库性能问题,并实现新增的自调整特性.Mnnn进程类似于作业队列的Jnnn和Qnnnn进程:MMON进程会请求这些从属进程代表它完成工作.Mnnn进程本质上是临时性的,它们将根据需要来来去去。

linux

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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan 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)

Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Bagaimanakah bahasa Go melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data? Mar 27, 2024 pm 09:39 PM

Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Bagaimanakah Hibernate melaksanakan pemetaan polimorfik? Apr 17, 2024 pm 12:09 PM

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak iOS 18 menambah fungsi album 'Dipulihkan' baharu untuk mendapatkan semula foto yang hilang atau rosak Jul 18, 2024 am 05:48 AM

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Tutorial terperinci tentang mewujudkan sambungan pangkalan data menggunakan MySQLi dalam PHP Jun 04, 2024 pm 01:42 PM

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Apr 09, 2024 pm 12:36 PM

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Bagaimana untuk mengendalikan ralat sambungan pangkalan data dalam PHP Jun 05, 2024 pm 02:16 PM

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Petua dan amalan untuk mengendalikan aksara Cina bercelaru dalam pangkalan data dengan PHP Mar 27, 2024 pm 05:21 PM

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang? Bagaimana untuk menyambung ke pangkalan data jauh menggunakan Golang? Jun 01, 2024 pm 08:31 PM

Melalui pakej pangkalan data/sql perpustakaan standard Go, anda boleh menyambung ke pangkalan data jauh seperti MySQL, PostgreSQL atau SQLite: buat rentetan sambungan yang mengandungi maklumat sambungan pangkalan data. Gunakan fungsi sql.Open() untuk membuka sambungan pangkalan data. Lakukan operasi pangkalan data seperti pertanyaan SQL dan operasi sisipan. Gunakan tangguh untuk menutup sambungan pangkalan data untuk mengeluarkan sumber.

See all articles