热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle体系结构及备份(四)server-process

一什么是服务器进程除了Oracle的后台进程外,还有一些进程是代表用户的,称为服务器进程。这些服务器进程负责按照用户的要求检索数据,并将结果返回给用户。此外,还负责为用户修改缓冲区高数缓存中的数据。当用户连接到Oracle数据库服务器时,会创建

一 什么是服务器进程 除了 Oracle 的后台进程外,还有一些进程是代表用户的,称为服务器进程。这些服务器进程负责按照用户的要求检索数据,并将结果返回给用户。此外,还负责为用户修改缓冲区高数缓存中的数据。 当用户连接到 Oracle 数据库服务器时,会创建

一 什么是服务器进程

除了Oracle的后台进程外,还有一些进程是代表用户的,称为服务器进程。这些服务器进程负责按照用户的要求检索数据,并将结果返回给用户。此外,还负责为用户修改缓冲区高数缓存中的数据。

当用户连接到Oracle数据库服务器时,会创建一个代表用户的服务器进程,有时也称为影子进程(shadow process).服务器进程与用户通信,并通过与Oracle交互来完成用户请求。

例如:用户请求了一段不在SGA中的数据,服务器进程负责把数据块从数据文件中读入SGA。用户进程与服务器进程可以是一对一的关系(配置为专用服务器模式时)。一个服务器也可连接多个用户进程(配置为多线程服务器时),但这样做会减少对系统资源的利用。

二 PGA

1.概念

PGAProgram Global Area), 程序全局区,是Oracle用户进程使用的一个内存区域。

2.PGA特性

一个用户进程对应一个PGA,与SGA不同就是PGA是非共享的。主要用于用户在运行程序时的使用的变量空间。如果使用的是共享服务器配置,那么PGA的会话信息可能被存在SGA中。

共享服务器结构允许用户进程使用同一个服务器进程,提供内存利用率。

PGA是在以后进程连接到Oracle数据库并创建一个会话时由Oracle自动分配。会话结束,PGA被释放。 PGA存储如绑定变量,排序区,游标处理的内容。

SGA存放SQL PL/SQL的分析信息,但用户要根据执行select update语句的值不能被共享,这些不能共享的就在PGA中。

3.PGA管理

9i自动管理,PGA aggregate target指定使用内存上限大小。可以动态修改,只在专用服务器模式有效。workarea_size_policy manua | auto参数打开与关闭自动管理功能。手动修改 sort_area_size hash_area_size也可控制PGA使用率。

10G后全自动管理,专用/共享服务器模式有效,v$pgastat pga的统计信息。v$pga_target_advice 预测信息,供修改参考。

三 操作示例

[oracle@localhost 桌面]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-MAY-2013 19:33:25

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /oracle/oracle//product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /oracle/oracle//product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /oracle/oracle//product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                27-MAY-2013 19:33:27
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/oracle//product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /oracle/oracle//product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@localhost 桌面]$ sqlplus 

SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 27 19:33:34 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter user-name: /
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory


Enter user-name: / as sysdba
Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size		    1218316 bytes
Variable Size		   71305460 bytes
Database Buffers	   92274688 bytes
Redo Buffers		    2973696 bytes
sDatabase mounted.
Database opened.
SQL> show parameter pga;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target		     big integer 90M
SQL> show parameter work;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
fileio_network_adapters 	     string
workarea_size_policy		     string	 AUTO
SQL> show parameter sort_

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
sort_area_retained_size 	     integer	 0
sort_area_size			     integer	 65536
SQL> show parameter hash;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
hash_area_size			     integer	 131072


@Wentasy

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
author-avatar
史军2927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有