请看下面Oracle官方文档关于这两个视图的定义描述:
V$BGPROCESS
V$BGPROCESS displays information about the background processes.
V$PROCESS
This view contains information about the currently active processes. While the LATCHWAIT column indicates what latch a process is waiting for, the LATCHSPIN column indicates what latch a process is spinning on. On multi-processor machines, Oracle processes will spin on a latch before waiting on it.
通过下面的SQL语句的查询结果,您可能会更加真切的了解其中的区别与联系。
1.单独通过v$bgprocess是获得当前系统中启动的Oracle“后台进程”信息
若不加限制条件是列出所有可能的Oracle“后台进程”。
sys@ora10g> select paddr, name from v$bgprocess where paddr<>'00';
PADDR NAME
---------------- -----
0000000081656688 PMON
0000000081656E70 PSP0
0000000081657658 MMAN
0000000081657E40 DBW0
000000008165C568 ARC0
000000008165CD50 ARC1
000000008165D538 ARC2
0000000081658628 LGWR
0000000081658E10 CKPT
00000000816595F8 SMON
0000000081659DE0 RECO
000000008165A5C8 CJQ0
000000008165DD20 QMNC
000000008165ADB0 MMON
000000008165B598 MMNL
15 rows selected.
2.单独通过v$process视图,我们获的是当前系统中所有进程信息,包括“后台进程”,也包括“服务器进程”。
这个是概念性区别:“后台进程”和“服务器进程”(又分共享服务器进程和专有服务器进程)是由区别的哦。
sys@ora10g> select addr, program from v$process;
ADDR PROGRAM
---------------- ------------------------
0000000081655EA0 PSEUDO
0000000081656688 oracle@testdb (PMON)
0000000081656E70 oracle@testdb (PSP0)
0000000081657658 oracle@testdb (MMAN)
0000000081657E40 oracle@testdb (DBW0)
0000000081658628 oracle@testdb (LGWR)
0000000081658E10 oracle@testdb (CKPT)
00000000816595F8 oracle@testdb (SMON)
0000000081659DE0 oracle@testdb (RECO)
000000008165A5C8 oracle@testdb (CJQ0)
000000008165ADB0 oracle@testdb (MMON)
000000008165B598 oracle@testdb (MMNL)
000000008165BD80 oracle@testdb (J000)
000000008165C568 oracle@testdb (ARC0)
000000008165CD50 oracle@testdb (ARC1)
000000008165D538 oracle@testdb (TNS V1-V3)
000000008165DD20 oracle@testdb (QMNC)
000000008165E508 oracleora10g@testdb
000000008165ECF0 oracle@testdb (q001)
000000008165FCC0 oracle@testdb (q000)
20 rows selected.
3.V$BGPROCESS与V$PROCESS二者的联系
这两个视图是通过v$bgprocess.paddr与v$process.addr关联起来的,关联后查询结果显而易见只会有Oracle“后台进程”的信息
sys@ora10g> select a.paddr, a.name, a.description from v$bgprocess a, v$process b where a.paddr=b.addr;
PADDR NAME DESCRIPTION
---------------- ----- -------------------------
0000000081656688 PMON process cleanup
0000000081656E70 PSP0 process spawner 0
0000000081657658 MMAN Memory Manager
0000000081657E40 DBW0 db writer process 0
0000000081658628 LGWR Redo etc.
0000000081658E10 CKPT checkpoint
00000000816595F8 SMON System Monitor Process
0000000081659DE0 RECO distributed recovery
000000008165A5C8 CJQ0 Job Queue Coordinator
000000008165ADB0 MMON Manageability Monitor Process
000000008165B598 MMNL Manageability Monitor Process 2
000000008165C568 ARC0 Archival Process 0
000000008165CD50 ARC1 Archival Process 1
000000008165D538 ARC2 Archival Process 2
000000008165DD20 QMNC AQ Coordinator
15 rows selected.
4.小结
Oracle提供给我们很多宝贵的系统视图,在充分理解其含义及内在的联系是深入研究的基础。抛砖待玉来。
Good luck.
secooler
10.02.01
-- The End --
V$BGPROCESS
V$BGPROCESS displays information about the background processes.
V$PROCESS
This view contains information about the currently active processes. While the LATCHWAIT column indicates what latch a process is waiting for, the LATCHSPIN column indicates what latch a process is spinning on. On multi-processor machines, Oracle processes will spin on a latch before waiting on it.
通过下面的SQL语句的查询结果,您可能会更加真切的了解其中的区别与联系。
1.单独通过v$bgprocess是获得当前系统中启动的Oracle“后台进程”信息
若不加限制条件是列出所有可能的Oracle“后台进程”。
sys@ora10g> select paddr, name from v$bgprocess where paddr<>'00';
PADDR NAME
---------------- -----
0000000081656688 PMON
0000000081656E70 PSP0
0000000081657658 MMAN
0000000081657E40 DBW0
000000008165C568 ARC0
000000008165CD50 ARC1
000000008165D538 ARC2
0000000081658628 LGWR
0000000081658E10 CKPT
00000000816595F8 SMON
0000000081659DE0 RECO
000000008165A5C8 CJQ0
000000008165DD20 QMNC
000000008165ADB0 MMON
000000008165B598 MMNL
15 rows selected.
2.单独通过v$process视图,我们获的是当前系统中所有进程信息,包括“后台进程”,也包括“服务器进程”。
这个是概念性区别:“后台进程”和“服务器进程”(又分共享服务器进程和专有服务器进程)是由区别的哦。
sys@ora10g> select addr, program from v$process;
ADDR PROGRAM
---------------- ------------------------
0000000081655EA0 PSEUDO
0000000081656688 oracle@testdb (PMON)
0000000081656E70 oracle@testdb (PSP0)
0000000081657658 oracle@testdb (MMAN)
0000000081657E40 oracle@testdb (DBW0)
0000000081658628 oracle@testdb (LGWR)
0000000081658E10 oracle@testdb (CKPT)
00000000816595F8 oracle@testdb (SMON)
0000000081659DE0 oracle@testdb (RECO)
000000008165A5C8 oracle@testdb (CJQ0)
000000008165ADB0 oracle@testdb (MMON)
000000008165B598 oracle@testdb (MMNL)
000000008165BD80 oracle@testdb (J000)
000000008165C568 oracle@testdb (ARC0)
000000008165CD50 oracle@testdb (ARC1)
000000008165D538 oracle@testdb (TNS V1-V3)
000000008165DD20 oracle@testdb (QMNC)
000000008165E508 oracleora10g@testdb
000000008165ECF0 oracle@testdb (q001)
000000008165FCC0 oracle@testdb (q000)
20 rows selected.
3.V$BGPROCESS与V$PROCESS二者的联系
这两个视图是通过v$bgprocess.paddr与v$process.addr关联起来的,关联后查询结果显而易见只会有Oracle“后台进程”的信息
sys@ora10g> select a.paddr, a.name, a.description from v$bgprocess a, v$process b where a.paddr=b.addr;
PADDR NAME DESCRIPTION
---------------- ----- -------------------------
0000000081656688 PMON process cleanup
0000000081656E70 PSP0 process spawner 0
0000000081657658 MMAN Memory Manager
0000000081657E40 DBW0 db writer process 0
0000000081658628 LGWR Redo etc.
0000000081658E10 CKPT checkpoint
00000000816595F8 SMON System Monitor Process
0000000081659DE0 RECO distributed recovery
000000008165A5C8 CJQ0 Job Queue Coordinator
000000008165ADB0 MMON Manageability Monitor Process
000000008165B598 MMNL Manageability Monitor Process 2
000000008165C568 ARC0 Archival Process 0
000000008165CD50 ARC1 Archival Process 1
000000008165D538 ARC2 Archival Process 2
000000008165DD20 QMNC AQ Coordinator
15 rows selected.
4.小结
Oracle提供给我们很多宝贵的系统视图,在充分理解其含义及内在的联系是深入研究的基础。抛砖待玉来。
Good luck.
secooler
10.02.01
-- The End --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-626594/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/519536/viewspace-626594/