oracle 0000 normal,successful completion 怎么解决

oracle 0000 normal,successful completion 怎么解决,第1张

1共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢

2存在人为死锁的可能,因为它是串行的,所有共享服务器绑定在一起(一个进程),只要一个连接阻塞,则所有用户阻塞,并且极可能死锁

3存在独占事务的可能,因为如果一个会话的事务运行时间过长,它独占共享资源,其它用户只能等待(而专用服务器,每个客户端是一个会话)

4共享服务器模式限制了某些数据库特性,例如:

不能单独启动和关闭实例,不能进行介质恢复,不能使用Log Miner,不能使用,并且SQL_TRACE没有意义(因为是共享而不是当前会话的)

session是一个会话,process是一个服务器进程,二者是不同的概念。

oracle中系统process和session的联系:

在SharedServer中的Process 和Oracle 中的Session不是一一对应的,Shared Server中的Process 一个对应着Oracle 中的一个或者一个以上的Session。在dedicated server机器上试验证明:数据库的session和操作系统process是对应的

即表示一个session对应一个process,但是一个process未必对应一个session。

oracle内存结构分为:

一:系统全局区 (SGA)

二:程序全局区 (PGA)

其中

SGA分为:

dagtabase buffer cache数据库缓冲区高速缓存:用于缓存从磁盘检索到的数据块

redo log buffer cache重做日志缓冲区:用于缓存重做信息,直到其可以写入磁盘为止

shared pool共享池:用于缓存可在用户间共享的各种结构

large pool大型池:用于缓冲大型 I/O 请求的可选区域,以便支持并行查询、共享服务器、Oracle XA 以及某些类型的备份操作

Java 池:用于存放 Java 虚拟机 (JVM) 中特定于会话的 Java 代码和数据

streams pool流池:由 Oracle Streams 使用

保留缓冲区高速缓存:用于存放会尽可能长地保留在缓冲区高速缓存中的数据

循环缓冲区高速缓存:用于存放缓冲区高速缓存中很快过期的数据

nK 块大小缓冲区高速缓存:用于缓存大小与默认数据库块大小不同的数据块,用来支持可传输的表空间。

PGA分为:

程序全局区 (PGA) 是一个内存区,其中包含每个服务器进程的数据及控制信息。服务器进程是处理客户机请求的进程。每个服务器进程都有在服务器进程启动时创建的自己专用的 PGA。只有该服务器进程才能访问。

所用 PGA 内存量和 PGA 的内容取决于实例是否是在共享服务器模式下配置的。通常,PGA 包含下列内容:

专用 SQL 区:包含绑定信息和运行时内存结构等数据。发出 SQL 语句的每个会话都有一个专用 SQL 区。

会话内存:此处分配的内存用于存放会话变量以及与该会话相关的其它信息。

http://www2ctocom/database/201410/344338html

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » oracle 0000 normal,successful completion 怎么解决

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情