深度对比Oracle与SQL Server——第二部分
数据库实例结构 事务一致性(Transactional Consistency)和基于时间点的恢复(Point-in-time Recovery) 系统元数据
top数据库实例结构
当Oracle实例启动之后,所看到的就是在服务器内存上的一个个不同内存块加上产生的与这些内存交互的后台进程。Oracle文档将这些内存结构和进程收的很详细。
由Oracle实例所占用的内存块成为SGA(System Global Area),它的大小可以通过调整Oracle初始化参数(initialisation parameter)进行修改,在SGA里边至少会创建3个不同的区域,它们分别是:
数据块缓存区(Database Buffer Cache)这里缓存的是数据块。和SQL Server一样,用户不会直接的访问数据文件上的数据:当读取数据时,相关的数据块会从数据文件中拷贝到内存中;修改数据时也是修改内存中的数据,然后再由单独的进程将数据缓存区中被修改的数据写入到数据库中。重做日志缓存(Redo Log Buffer)SGA中的这个区域连续的记录着数据缓存区数据修改的记录,重做日志缓存中的内容会被写入到在线日志文件中去。共享池(Shared Pool)SGA中有一大块的内存用作共享池,共享池等价于SQL Server中的执行缓存(Procedure Cache)。它的主要作用就是缓存数据库中最近执行过的SQL语句。共享池由下面的模块组成: 数据字典缓存(Dictionary Cache)数据字典缓存缓存了Oracle最近使用的数据字典信息。库缓存(Library Cache)这个区域包含了最近执行的SQL和PL/SQL语句和对应的执行计划。SQL区还能进一步分成共享区和私有区:共享SQL区保存的语句可以由多个用户使用而私有区保存的则是跟各个连接对应的绑定变量的信息。PL/SQL是Oracle对于行业标准SQL的程序扩展,当PL/SQL程序执行时,它的代码会拷贝到库缓存中的共享PL/SQL区中。除了缓存执行代码和执行计划外,库缓存还包含锁、阀以及字符集等信息。
根据你所使用的组件的不一样,Oracle的SGA中也可能存在其它一些可选的内存区域。在Oracle中使用Java应用时要使用到Java池(Java Pool),Oracle内置的备份恢复工具RMAN(Recovery Manager)要用到大池(Large Pool),当使用Oracle高级队列机制时要用到流池(Steams Pool)。
上面介绍的各个内存区域都是属于SGA的一部分,它们是通过一序列的进程(process)来和数据库进行交互。下面就开始介绍包括用户进程和服务器进程在内的Oracle进程了。
当用户或者是应用连接到Oracle数据库时就会产生一个用户进程(user process)。在一个两层的系统架构中,用户
相关文档:
办法一
select * from V$NLS_PARAMETERS
$conn = oci_connect('scott', 'donkey', 'demo', 'zhs16gbk');
while ($dat = oci_fetch_row($cur)) {
print_r(iconv('gb2312', 'utf-8', $dat[0])); //$nickname = mb_convert_encoding($dat[0], 'utf-8', 'gbk');&n ......
前言:网上有很多解决办法,删listener.ora也好,还是什么也好,都解决不了我这个问题,依然报12514错误,以下是我逐个尝试后成功的监听字符串。。
listener.ora文件:
# listener.ora Network Configuration File: d:\app\john\product\11.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration too ......
在ORACLE实例启动时除了分配一块很大区域的内存外,还会启动一系列的进程。Oracle中的进程有哪些特点?
ORACLE进程可以分为用户进程、服务器进程、后台进程。
用户进程:用户连接数据库时会创建一个用户进程,该进程用于和服务器进行会话,向数据库服务器发生请求,接收数据库的响应。
服务器进程:由ORACLE数据库服务器 ......
在安装Visual Studio+SQL Server的开发环境的时候往往会有很多错误,其中最麻烦的一条就死安装完成之后没有数据库管理工具,即没有SQL Server 2005 Management Studio。出现这样的问题主要有两个原因,一是系统已经存在其他版本的SQL数据库或者Express版本,二是安装环境的时候像我一样先安装了Visual Studio 2005/2008,然 ......
操作系统的支持 版本和发行版 实例、数据库和表空间 实例名和SID 系统数据库和系统表空间
一般的公司通常会在他们的信息系统架构中引入多种数据库平台,同时引入三到四种不同的RDBMS解决方案的中大型公司也并不少见,当然这些公司里面的DBA们通常也需要同时拥有管理多种不同平台的技能了。
只在一种平台上展开工作的数据 ......