数据库进程的主要作用是维护数据库的稳定,相当于一个企业中的管理者,具有负责全局统筹的作用。Oracle数据库进程共分为User process(用户进程)、Server process (服务器进程)、Background processes(后台进程)3类。

01、用户进程实例

下面通过实验过程观察用户进程的相关操作。

步骤1:查看任务管理器中的初始系统进程,如图2-17所示。观察当前操作系统进程,发现当前使用命令行运行SQL Plus。

图2-17 任务管理器中的初始系统进程

步骤2:打开SQL Plus应用程序,使用用户hr登录。

在第一次使用用户hr登录时,必须在管理员用户下对用户hr进行解锁和修改密码。

SQL﹥alter user hr identified by hr account unlock;

用户已更改。

SQL> conn hr

输入口令:已连接。

 步骤3:再次查看任务管理器中的系统进程,如图2-18所示,观察操作系统进程的变化。

图2-18 任务管理器中系统进程

步骤4:使用v$session会话进程也可以查看用户进程相关链接信息。

v$session主要提供的是一个数据库连接的信息,主要是客户端的信息。代码如下。

SQL> col sid format 9999
SQL> col process format a30
SQL> col machine format a30
SQL> col process format a30
SQL> col username format a20
SQL> select sid,username,process,machine,program from v$session;SID USERNAME PROCESS MACHINE PROGRAM
----- ---------- ---------- -------------------- --------------------1 37744 LAPTOP-8BM7LBRI ORACLE.EXE (DBRM)2 25080 LAPTOP-8BM7LBRI ORACLE.EXE (LGWR)4 40396 LAPTOP-8BM7LBRI ORACLE.EXE (TMON)6 32056 LAPTOP-8BM7LBRI ORACLE.EXE (TT00)10 17996 LAPTOP-8BM7LBRI ORACLE.EXE (W00E)11 16120 LAPTOP-8BM7LBRI ORACLE.EXE (W001)12 36452 LAPTOP-8BM7LBRI ORACLE.EXE (W006)13 SYS 12916:28664 WORKGROUP\LAPTOP-8BM7LBRI sqlplus.exe255 HR 33772:13776 WORKGROUP\LAPTOP-8BMLBRI sqlplus.exe......
已选择 64 行。

加上用户名这个条件即可清晰地查看到进程详细信息,具体代码如下。

SQL> select process,machine,program,saddr,paddr from v$session where username='hr';
PROCESS MACHINE PROGRAM SADDR PADDR
----- ---------------- --------------- -----------------------------------------
33772:13776 WORKGROUP\LAPTOP-8BM7LBRI sqlplus.exe 00007FFEE79E8828
00007FFEE743C748

步骤5:在v$session动态视图中,taddr表示是否执行事务处理中。在执行下面的代码时着重观察taddr的值,发现其值为空。

加上用户名这个条件即可清晰地查看到进程详细信息,具体代码如下。

SQL> select sid,taddr,process,machine,terminal,program from v$session where username='hr';SID TADDR PROCESS MACHINE TERMINAL PROGRAM
----- ---------------- --------------- -----------------------------------------
255 33772:13776 WORKGROUP\LAPTOP-8BM7LBRI LAPTOP-8BM7LBRI sqlplus.exe

步骤6:在用户hr下执行DML语句。

SQL> update employees set salary=salary+100;已更新 107 行。

步骤7:修改数据后,再次观察taddr的值。

SQL> select sid,taddr,process,machine,terminal,program from v$session where username='h';
SID TADDR PROCESS MACHINE
----- ---------------- --------------- ------------------------------
TERMINAL PROGRAM
---------------- ---------------
255 00007FFEDF189D70 33772:13776 WORKGROUP\LAPTOP-8BM7LBRI
LAPTOP-8BM7LBRI sqlplus.exe

hr执行更新操作后,再次查询$session时发现tdaar值非空,这代表这个进程正在执行事务处理。

步骤8:在用户hr下回滚刚刚执行的DML操作。

SQL> rollback;
回滚已完成。

步骤9:再次观察taddr的值,发现taddr的值又再次为空,则代表该进程无事务处理。

SQL> select sid,taddr,process,machine,terminal,program from v$session where username='hr';SID TADDR PROCESS MACHINE TERMINAL PROGRAM
-----------------------------------------------------------------------------------------255 33772:13776 WORKGROUP\LAPTOP-8BM7LBRI LAPTOP-8BM7LBRI sqlplus.exe

02、服务器进程实例

下面通过实验感受一下后台进程有哪些?它们又是如何与Oracle数据库的不同部分进行交互的?

步骤1:利用v$process的background属性查找Oracle启动的所有后台进程。

SQL> select pid,pname,program from v$process where background='1';PID PNAME PROGRAM
---------- ----- --------------------2 PMON ORACLE.EXE (PMON)3 CLMN ORACLE.EXE (CLMN)4 PSP0 ORACLE.EXE (PSP0)5 VKTM ORACLE.EXE (VKTM)......
已选择 62 行。

步骤2:利用v$bgprocess的paddr属性查看所有后台进程。

SQL> col description for a30
SQL> select paddr,name,description from v$bgprocess where paddr<>'00';PADDR NAME DESCRIPTION
---------------- ----- ------------------------------
00007FFEE73D02C8 PMON process cleanup
00007FFEE73D1870 CLMN process cleanup
00007FFEE73D2E18 PSP0 process spawner 0
00007FFEE73D43C0 VKTM Virtual Keeper of TiMe process
00007FFEE73D5968 GEN0 generic0
00007FFEE73D6F10 MMAN Memory Manager
00007FFEE73D84B8 DBRM DataBase Resource Manager
00007FFEE73D9A60 GEN1 generic1
00007FFEE73DB008 DIAG diagnosibility process
00007FFEE73DC5B0 VKRM Virtual sKeduler for ResourceManager
......
已选择 81 行。

步骤3:利用v$bgprocess与v$process查看所有的后台进程情况。

SQL> select p.spid, b.name, b.description from v$process p, v$bgprocess b
where p.addr=b.paddr;SPID                                  NAME DESCRIPTION
------------------------ ----- ------------------------------
33728                                 PMON process cleanup
452                                  CLMN process cleanup
19768                                 PSP0 process spawner 0
14440                                 VKTM Virtual Keeper of TiMe process
84                                   GEN0 generic0
1304                                  MMAN Memory Manager
37744                                 DBRM DataBase Resource Manager
31840                                 GEN1 generic1
26916                                 DIAG diagnosibility process
23236                                 VKRM Virtual sKeduler for ResourceManager
......
已选择 81 行。

03、SGA实例

通过反复执行同一个查询,验证数据库高速缓冲区和共享池的作用。具体操作步骤如下。

步骤1:设定SQL Plus显示时间,方便用户查看该查询执行的所用时间。

SQL> set timing on

步骤2:以表dba_objects的聚组函数为例进行第一次查询,观察执行所用时间。

SQL> select count(*) from dba_objects;COUNT(*)
----------
72728已用时间: 00: 00: 00.22

步骤3:以表dba_objects的聚组函数为例进行第二次查询,观察执行所用时间。

SQL> select count(*) from dba_objects;COUNT(*)
----------
72728已用时间: 00: 00: 00.05

步骤4:清空共享缓存

SQL> alter system flush shared_pool;系统已更改。已用时间: 00: 00: 00.40

步骤5:清空数据库块缓存

SQL> alter system flush buffer_cache;系统已更改。已用时间: 00: 00: 00.06

步骤6:在清空共享内存和数据块缓存下,以表dba_objects的聚组函数为例进行第三次查询,观察执行所用时间。

SQL> select count(*) from dba_objects;COUNT(*)
----------
72728已用时间: 00: 00: 00.52

Oracle数据库系统管理与运维 | 项目案例相关推荐

  1. 循序渐进DB2.DBA系统管理、运维与应用案例pdf

    下载地址:网盘下载 内容简介 DB2数据库是IBM公司关系型数据库核心产品,在国内以及全球有着广泛的应用.针对DB2初学者,<循序渐进DB2:DBA系统管理.运维与应用案例>循序渐进地把D ...

  2. 循序渐进DB2(第2版)——DBA系统管理、运维与应用案例

    <循序渐进DB2(第2版)--DBA系统管理.运维与应用案例> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302323013 上架时间:2013-7-3 出版日期 ...

  3. 《循序渐进DB2(第2版)——DBA系统管理、运维与应用案例》书评之“搜千遍,找万遍,不如手持一本万能剑”

    <循序渐进DB2(第2版)--DBA系统管理.运维与应用案例> 书评之 搜千遍,找万遍,不如手持一本万能剑 今天向大伙儿推荐一本我正在读的相当值得一看的书籍,那就是<循序渐进DB2( ...

  4. 《循序渐进DB2(第2版)——DBA系统管理、运维与应用案例》书评之“搜千遍,找万遍,不如手持一本万能剑”...

    <循序渐进DB2(第2版)--DBA系统管理.运维与应用案例> 书评之 搜千遍,找万遍,不如手持一本万能剑 今天向大伙儿推荐一本我正在读的相当值得一看的书籍,那就是<循序渐进DB2( ...

  5. 《2023金融科技趋势研究报告》显示dbPaaS管理平台将成为提升数据库应用、运维效率的关键...

    2023年1月,恒生电子研究院发布了<2023金融科技趋势研究报告>,其中明确指出dbPaaS管理平台将成为提升数据库应用.运维效率的关键.dbPaaS趋势的背景是,随着信创进程的推进以及 ...

  6. 数据库到底是不是运维

    一直在思考一个问题,为什么很多单位的运维和数据库不能放到一起,数据库部分都是独立的.为什么数据库发生生产问题后,故障的级别都是特别高的.企业对于数据库本身的观点是否与时俱进,还是留在了上个世纪. 我们 ...

  7. 搞数据库的就是运维, 你真逗 !

    最近在新开的群里面,有一些群友的对话,让我不得不写这一片文字,来说说我的想法是什么. 事情的经过是,我在群里面转载一篇文字,关于软件重构的重要性,虽然作为一个DB 人员,软件的重构看似与 我们这部分群 ...

  8. python实现自动化运维项目_Python自动化运维项目开发最佳实战

    下载地址:五号服务器---VIP资料下载七区\VIP专题教程二区 游客,如果您要查看本帖隐藏内容请回复 Python 自动化运维项目开发最佳实战 这个远比什么老男孩的python好的多 2017-1- ...

  9. 监控服务器项目报备,智慧环保监控预警平台运维项目

    #县域政务信息化 智慧环保监控预警平台运维项目 一.运维服务内容 对区智慧环保监控预警平台进行运营维护工作,保障企业端设备及系统正常运行,将企业端数据上传至智慧环保监控预警平台. 运维服务期限:一年. ...

最新文章

  1. SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型!
  2. 米家扩展程序初始化超时_28条规范和建议,教你如何设计出一套完美的PLC程序...
  3. 记一次项目中由id类型引起的bug
  4. [转]opensuse vim 的语法高亮
  5. 趣学python3(6)-条件语句
  6. EntityFramework 学习: Console中初见
  7. 使用ML.NET实现猜动画片台词
  8. 【渝粤教育】国家开放大学2018年春季 8659-22T计算机平面设计(1)(2) 参考试题
  9. 05-Flutter移动电商实战-dio基础_引入和简单的Get请求
  10. jsp数据传入html页面_曾经风光无限的 JSP,为什么现在很少有人使用了?
  11. 配置Nginx——在线生成配置文件
  12. React:网络工具库
  13. QT高级编程技巧(一)-- 编写高效的signal slot通信代码
  14. 【UML建模】(8) UML建模之组件图
  15. 涨点神器!特征金字塔技术总结
  16. k3服务器注册,K3服务器信任注册设置
  17. synchronized加锁过程
  18. “全栈2019”Java第十三章:基本数据类型
  19. 第二证券|监管层紧盯内幕交易 市场生态持续改善
  20. string的insert的用法整理

热门文章

  1. P2195 HXY造公园
  2. 程序员杂记:奋战在青青网吧!
  3. jquery 验证小数点后几位_js如何判断小数点后有几位
  4. 【总结】Python数据处理-操作Excel
  5. 我在ITPUB的“流金”岁月——jieforest(磨刀霍霍向猪羊)
  6. 如果你不想工作了,先做这3件事
  7. could not initialize proxy - no Session:解决懒加载(排除不需要查询显示的属性)
  8. php 绕过 stripos,PHP stripos()、strripos()和strrpos() 使用方法和区别
  9. 虚拟偶像:数字时代的新营销模式
  10. 4.CKeditor4.10.0最新图片上传配置