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


目录
相关文章
|
10月前
|
运维 监控 网络协议
【运维干货】一次因 VPN 协议不一致导致的 CPE 速率异常案例
本文分享了一次企业 CPE 主备切换后速率异常的排障案例,重点分析了因主备设备 VPN 协议配置不一致(TCP vs UDP)导致的速率问题,并总结了配置一致性检查、临时改动闭环及协议选择等方面的运维经验。
|
10月前
|
机器学习/深度学习 人工智能 运维
运维告警别乱飞了!AI智能报警案例解析
运维告警别乱飞了!AI智能报警案例解析
874 0
|
12月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
10月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
12月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
574 12
|
人工智能 运维 监控
阿里云携手神州灵云打造云内网络性能监测标杆 斩获中国信通院高质量数字化转型十大案例——金保信“云内网络可观测”方案树立云原生运维新范式
2025年,金保信社保卡有限公司联合阿里云与神州灵云申报的《云内网络性能可观测解决方案》入选高质量数字化转型典型案例。该方案基于阿里云飞天企业版,融合云原生引流技术和流量“染色”专利,解决云内运维难题,实现主动预警和精准观测,将故障排查时间从数小时缩短至15分钟,助力企业降本增效,形成可跨行业复制的数字化转型方法论。
782 6
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。

推荐镜像

更多