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

数据库进程的主要作用是维护数据库的稳定,相当于一个企业中的管理者,具有负责全局统筹的作用。Oracle数据库进程共分为User process(用户进程)、Server process (服务器进程)、Background processes(后台进程)3类。
01、用户进程实例
下面通过实验过程观察用户进程的相关操作。
步骤1:查看任务管理器中的初始系统进程,如图1所示。观察当前操作系统进程,发现当前使用命令行运行SQL Plus。

步骤2:打开SQL Plus应用程序,使用用户hr登录。
在第一次使用用户hr登录时,必须在管理员用户下对用户hr进行解锁和修改密码。
SQL﹥alter user hr identified by hr account unlock;
用户已更改。
SQL> conn hr
输入口令:已连接。
步骤3:再次查看任务管理器中的系统进程,如图2-18所示,观察操作系统进程的变化。

步骤4:使用v$session会话进程也可以查看用户进程相关链接信息。
v$session主要提供的是一个数据库连接的信息,主要是客户端的信息。代码如下。
加上用户名这个条件即可清晰地查看到进程详细信息,具体代码如下。
步骤5:在v$session动态视图中,taddr表示是否执行事务处理中。在执行下面的代码时着重观察taddr的值,发现其值为空。
加上用户名这个条件即可清晰地查看到进程详细信息,具体代码如下。
步骤6:在用户hr下执行DML语句。
步骤7:修改数据后,再次观察taddr的值。
hr执行更新操作后,再次查询$session时发现tdaar值非空,这代表这个进程正在执行事务处理。
步骤8:在用户hr下回滚刚刚执行的DML操作。
步骤9:再次观察taddr的值,发现taddr的值又再次为空,则代表该进程无事务处理。
02、服务器进程实例
下面通过实验感受一下后台进程有哪些?它们又是如何与Oracle数据库的不同部分进行交互的?
步骤1:利用v$process的background属性查找Oracle启动的所有后台进程。
步骤2:利用v$bgprocess的paddr属性查看所有后台进程。
步骤2:利用v$bgprocess的paddr属性查看所有后台进程。
步骤3:利用v$bgprocess与v$process查看所有的后台进程情况。
03、SGA实例
通过反复执行同一个查询,验证数据库高速缓冲区和共享池的作用。具体操作步骤如下。
步骤1:设定SQL Plus显示时间,方便用户查看该查询执行的所用时间。
步骤2:以表dba_objects的聚组函数为例进行第一次查询,观察执行所用时间。
步骤3:以表dba_objects的聚组函数为例进行第二次查询,观察执行所用时间。
步骤4:清空共享缓存
步骤5:清空数据库块缓存
步骤6:在清空共享内存和数据块缓存下,以表dba_objects的聚组函数为例进行第三次查询,观察执行所用时间。