网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  讲解oracle数据库在nt平台下的系统优化 (1)     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:90次  录入:管理员--2008-01-29  
 

本文基于oracle对平台的依赖性,以nt平台为例,描述oracle在nt平台上的一些特点,提供一个oracle系统优化的思路。

当前,oracle作为大型数据库管理系统快速发展,如何更好的发挥其强大的数据管理功能?这成为oracle系统优化方面一个不可忽视的问题。有专门文章从系统参数等软件内部挖掘其"潜力",本文尝试从oracle与外部环境的特定关系,即oracle的平台依赖性着手,主要以nt平台为例,就oracle的平台依赖性的各个方面进行描述。

1.oracle在nt平台下仅仅是一个多线程(multiple threads)操作系统进程(process)。

在nt平台下,oracle的每一个后台"进程"(如lgwr、dbwr等)和专用服务"进程"都是oracle进程的一个子线程。这种多线程结构(muli_threaded architecture)在nt上是非常高效的,因为所有子线程都共享同一主进程的资源。如果你添加一个oracle实例(instance),才会有一个新的oracle进程,这个新的进程同样拥有。在nt平台下,操作系统并不给每个oracle线程标志诸如lgwr、dbwr之类的名字。如果想查看有关线程信息,可以通过sql语句来查询数据字典(data dictionary)中的相关表(table)和视图(view)。

例如,查看关于dbwr线程的内部编号信息:

select b.name , p.spid
from v$bgpross b , v$process p
where b.paddr=p.addr
and name='dbwr'

另外,oracle的系统性能监测工具也提供了一种查看线程信息的简单方法。

2.空间限制:

在nt平台上,oracle实例和所有连接用户的地址空间都限制在2gb内,而在win9x平台上,这个限制则在3gb内。因为对于nt或win9x , 一个进程的地址空间都限制在4gb内,而对于nt平台来说,还要预留2gb给系统资源,如缓冲区,堆栈等,对win9x来说,预留的空间为1gb 。nt支持两种主要的文件系统: fat 和 ntfs。oracle可以在这两种文件系统下安装,但有两个问题需要考虑到。

首先就是安全性。fat文件系统不支持文件级安全保护,每个登录到nt服务器上的用户都可以删除fat文件,而ntfs文件系统支持类似于unix的文件级安全保护,用户只能存取他拥有存取权利的文件。

第二个就是文件的最大限制。一个fat文件最大是4gb,而一个ntfs文件从技术上讲最大可达到32gb。oracle在nt平台下每个数据文件最多能有4百万个数据块(data block),如果按每个块8kb大小计算,那么一个数据文件就有32gb,而一个数据库(database)最多可有1022个数据文件,那么这个数据库最大可达到32tb 。

nt支持“裸”磁盘分区(raw disk partition)。每个裸分区可以不经过系统格式化而分配一个驱动器符,直接用于oracle存放数据文件、日志文件或控制文件。与unix平台相似,每个裸分区都直接对应唯一的一个oracle 数据文件、日志文件或控制文件,两种平台的区别仅在于文件命名习惯不同。

例如,在sql语句中可以这样引用裸分区: datafile '\\.\f:' size 49m reuse。

这里的f: 就是对应一个裸分区的盘符。而且习惯上,定义的oracle文件大小通常都比裸分区的大小要小1mb,来避免写到磁盘的0柱面上。

3.参数:

在nt平台上有一些针对oracle的注册表参数,这些参数类似于unix平台上的shell变量。

例如,注册表中的参数oracle_home和oracle_sid都是oracle安装程序在安装时自动在注册表中定义的。oracle实例也是作为一个服务(service)定义在注册表中的,可以在nt的"控制面板"的"服务"项中看到。oracle在nt平台上只支持单一的oracle_home目录,(最新版oracle中有所改进),当在nt上安装不同版本的oracle时,所有版本都共享同一目录结构,oracle_home/bin,不同版本的执行文件分别以版本号来互相区别,如oracle72.exe , oracle73.exe 。 在注册表中oracle_home参数定义在hkey_local_machine/software/oracle/这些参数也可以通过注册表程序regedit手工编辑重新设定值。

4.事件查看和系统性能监测:

在nt平台上,有事件查看器(event viewer)和系统性能监测器(performance monitor utilities)来监测oracle相关信息。

当oracle启动或关闭时都会在时间查看器中添加一条记录,nt系统管理员可以通过查看事件查看器里的记录信息来检查是否有关于oracle的警告信息,如果设置了oracle审计(audit)选项,还可以在事件查看器中查看到相关审计记录。

系统性能监测器提供了关于所有进程的详细数据,包括与oracle有关的一些资源统计数据,如文件读出字节/秒,数据缓冲命中率等等 。

尽管你在nt平台上运行多个oracle实例,事件查看器和系统性能监测器只收集在注册表参数oracle_sid中所标明的那个实例有关数据。

5.安全性:

在第2点中也提到过,要访问一个数据库,必须首先能够以直接或间接方式访问正在运行该数据库的服务器,要使数据库安全,首先要其依赖的平台和网络安全,一旦开始执行,操作系统的安全性必须被考虑。

oracle使用大量用户不能直接访问到的文件。例如,数据文件和日志文件只有通过oracle的后台处理进行读写。因此,只有要建立和删除这些文件的dba才可以在操作系统级直接访问它们。输出文件和其他的备份文件也必须受到保护。

一般情况下,除了数据库本身的用户名和口令帐号外,可以利用平台特性提供一个用户认证的附加级,及操作系统帐号。但在同一服务器中,一个数据库帐号可以和一个操作系统帐号配成对,仅仅是前缀不同。缺省前缀为"ops$",但可以通过数据库的os_authent_prefix参数修改其值。这个前缀也可以设置成空字符串,不用前缀。

在nt平台上与oracle核心相连(connect internal)需要专门口令,这个密码是在安装时定义的,缺省情况下是存放在一个隐含文件pwd.ora中。该文件位于$oracle_home/database 目录。

如果在init.ora文件中设置: dba_authorization=bypass。

或注册表中修改: hkey_local_machine/software/oracle/dba_authorization。

设置其值为bypass,那么dba与核心相连就不需要密码了。这点也是需要特别注意的。

系统优化是一个复杂,牵涉面很广的问题,上面几点主要是从oracle对平台的依赖性方面来考虑如何进行系统优化,希望能给大家提供一个进行系统优化的思路。

 
 
上一篇: 实例讲解oracle数据库无法启动的解决方法    下一篇: 如何用组来保证"oracle"数据库的安全
  相关文档
将部分数据导出后导入一个统一的数据库中 03-03
带你深入了解oracle跟踪事件:set events 07-24
用events 跟踪解决不能创建物化试图一例 06-17
带你深入的了解执着并购中的--甲骨文 11-15
详细讲解获得当前"scn"的几种有效方式 03-17
oracle data的一个常见问题计算时间差 01-28
Oracle 8 资料库函式库 01-15
怎样在oracle 10g存储过程中log错误行 04-16
解决表空间填充满时出现的ora-1652错误 (1) 04-16
诊断数据库系统性能 oracle中跟踪sql语句 09-11
在redhat as3上快速安装oracle数据库10g 07-25
oracel监听器启动后为什么会自动停掉 04-09
Oracle 与 DB2 数据类型分类对应说明 05-13
使用新的optimizer hints控制优化行为 (1) 03-05
oracle数据库回滚段表空间文件丢失的处理 03-27
迅速安装Linux与Oracle数据库步骤精讲 07-07
oracle数据库环境下数据文件丢失的恢复 07-25
轻松掌握无文件备份、拥有所有归档的恢复 (1) 11-23
理解和使用Oracle 8i分析工具-LogMiner 01-15
使用dbms_stats时如何才能不生成histogram 03-27
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息