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

简介: Oracle数据库系统管理与运维 | 项目案例

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


01、用户进程实例


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


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

image.png


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


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

SQL﹥alter user hr identified by hr account unlock;

用户已更改。

SQL> conn hr

输入口令:已连接。


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

image.png

步骤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.exe
   255 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 Resource
               Manager
......
已选择 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 Resource
                               Manager
......
已选择 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


目录
相关文章
|
13天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
51 11
|
14天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
24天前
|
SQL 数据库
GBase8a 数据库集群v953扩容案例问题分享
GBase8a 数据库集群v953扩容案例问题分享
|
24天前
|
SQL 数据库
gbase 8a 数据库 SQL优化案例-关联顺序优化
gbase 8a 数据库 SQL优化案例-关联顺序优化
|
24天前
|
存储 SQL 数据库
Sybase数据恢复—Sybase数据库常见问题之数据库无法启动的恢复案例
Sybase数据库数据恢复环境: Sybase数据库版本:SQL Anywhere 8.0。 Sybase数据库故障&分析: Sybase数据库无法启动。 使用Sybase Central连接报错。 数据库数据恢复工程师经过检测,发现Sybase数据库出现故障的原因是:异常断电造成Sybase数据库无法回写正常数据,导致多个存储页数据不一致,系统表描述和存储表不一致,部分存储页底层数据完全杂乱。
|
26天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
18天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
66 4
|
23天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####

推荐镜像

更多