a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 91|回复: 1

[考试辅导] Oracle技术:Oracle数据库如何在NT平台下系统优化

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
当前,Oracle作为年夜型数据库打点系统快速成长,若何更好的阐扬其强年夜的数据打点功能?这成为Oracle系统优化方面一个不成轻忽的问题。有专门文章年夜系统参数等软件内部挖掘其"潜力",本文考试考试年夜Oracle与外部情形的特定关系,即Oracle的平台依靠性着手,首要以NT平台为例,就Oracle的平台依靠性的各个方面进行描述。" ?9 R* ]+ Z; I' L

! Z1 ]6 M: J4 H. M/ R  1.Oracle在NT平台下仅仅是一个多线程(Multiple Threads)操作系统历程(Process)。
% l/ p1 e2 M( [; b- W9 m. f) @  t3 o$ |8 R8 k, [7 X8 q$ G1 |
  在NT平台下,Oracle的每一个后台"历程"(如LGWR、DBWR等)和专用处事"历程"都是Oracle历程的一个子线程。这种多线程结构(Muli_threaded Architecture)在NT上长短常高效的,因为所有子线程都共享统一主历程的资本。如不美观你添加一个Oracle实例(Instance),才会有一个新的Oracle历程,这个新的历程同样拥有。在NT平台下,操作系统并不给每个Oracle线程标识表记标帜诸如LGWR、DBWR之类的名字。如不美观想查磕暌剐关线程信息,可以经由过程SQL语句来发芽数据字典(Data Dictionary)中的相关表(Table)和视图(View)。
7 J. p7 ^; \3 f( j
8 k7 y8 b: U7 ?, D  例如,查看关于DBWR线程的内部编号信息:5 o" F: {0 ]) W( F

0 Y7 t' a; U( {" {  select b.name , p.spid
8 j; Z% W! P* Z9 W  from v$bgpross b , v$process p
4 y! {% O( }3 f7 k  where b.paddr=p.addr 4 a: L; v  Q7 h2 F3 b
  and name='DBWR' / j; b1 t; v( K2 |0 l8 V, S
9 v6 h# {- d( j6 K
2 }* L, [8 w0 }
  此外,Oracle的系统机能监测工具也供给了一种查看线程信息的简单体例。/ }: ?5 x, r/ v, l- y: T; H4 U
1 Y9 z+ m9 Z7 ~: r
  2.空间限制:
0 Q0 ]2 d4 p/ A  o& q4 T7 a
2 N* X3 d& @8 A/ V  在NT平台上,Oracle实例和所有毗连用户的地址空间都限制在2GB内,而在Win9x平台上,这个限制则在3GB内。因为对于NT或Win9x , 一个历程的地址空间都限制在4GB内,而对于NT平台来说,还要预留2GB给系统资本,如缓冲区,仓库等,对Win9x来说,预留的空间为1GB 。NT撑持两种首要的文件系统: FAT 和 NTFS。Oracle可以在这两种文件系统下安装,但有两个问题需要考虑到。- c4 \, s6 e# }4 ?
! U, R$ ]- S8 w* g
  首先就是平安性。FAT文件系统不撑持文件级平安呵护,每个登录到NT处事器上的用户都可以删除FAT文件,而NTFS文件系统撑持近似于Unix的文件级平安呵护,用户只能存取他拥有存取权力的文件。
5 e3 z& H7 d, a  L* j4 U+ }6 T  w+ D
  第二个就是文件的最年夜限制。一个FAT文件最年夜是4GB,而一个NTFS文件年夜手艺上讲最年夜可达到32GB。Oracle在NT平台下每个数据文件最多能有4百万个数据块(Data Block),如不美观按每个块8KB巨细计较,那么一个数据文件就有32GB,而一个数据库(Database)最多可有1022个数据文件,那么这个数据库最年夜可达到32TB 。& z+ I) o7 H# m) x6 I/ \: K2 M
, i2 c6 Z5 }- Z6 N, S1 x
  NT撑持“裸”磁盘分区(raw disk partition)。每个裸分区可以不经由系统名目化而分配一个驱动器符,直接用于Oracle存放数据文件、日志文件或节制文件。与Unix平台相似,每个裸分区都直接对应独一的一个Oracle 数据文件、日志文件或节制文件,两种平台的区别仅在于文件命名习惯分歧。4 {0 H- P" p1 Z& |8 d: a

$ k( D. L0 Z- F5 u  例如,在SQL语句中可以这样引用裸分区: DATAFILE '\.f:' SIZE 49M REUSE。
3 s9 G, _3 }% ^7 f
; R# u9 W; j; b" D  这里的f: 就是对应一个裸分区的盘符。而且习惯上,界说的Oracle文件巨细凡是都比裸分区的巨细要小1MB,来避免写登张逄的0柱面上。
回复

使用道具 举报

 楼主| 发表于 2012-8-4 14:06:20 | 显示全部楼层

Oracle技术:Oracle数据库如何在NT平台下系统优化

  3.参数:! b  q" i* I( D+ S$ W2 Y

8 s, |5 e- A7 w3 a" }0 ]: _  在NT平台上有一些针对Oracle的注册表参数,这些参数近似于Unix平展亓Shell变量。
; m8 E( T$ j: ^  G! E) E
0 t3 ?$ E7 r) W3 w2 F' R* B, X# N  例如,注册表中的参数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手工编纂年夜头设定值。
3 j% _; |, ^- D1 U3 K* u/ m2 |9 z, `5 s4 k( m
4.事务查看和系统机能监测:' w, a: n: \% l* R( X" [0 k) l3 _4 P

; [4 \0 _% V! k2 B# w3 b  在NT平台上,有事务查看器(Event Viewer)和系统机能监测器(Performance Monitor utilities)来监测Oracle相关信息。
0 G2 m9 U! R, `3 B, R4 M; y9 H* ^- b2 y- ?1 m, n
  当Oracle启动或封锁时城市在时刻查看器中添加一标识表记标帜录,NT系统打点员可以经由过程查看事务查看器里的记实信息来搜检是否有关于Oracle的警告信息,如不美观设置了Oracle审计(audit)选项,还可以在事务查看器中查看到相关审计记实。
- P; e3 X& O/ U8 m! |
2 d- V$ y4 @5 p  系统机能监测器供给了关于所有历程的具体数据,搜罗与Oracle有关的一些资本统计数据,如文件读出字节/秒,数据缓冲射中率等等 。
0 }0 A, E+ p/ ^0 E+ B
3 F! z  S( T9 y* M  尽管你在NT平台上运行多个Oracle实例,事务查看器和系统机能监测器只收集在注册表参数Oracle_SID中所标明的阿谁实例有关数据。1 n6 N( ^! w* I/ u' a& e

' B- }, d1 \' K+ A' G  5.平安性:
  M( e5 z5 i0 d; w; C7 E! G, F
! E- r, ?' M3 I. `' d1 |, X( m  在第2点中也提到过,要访谒一个数据库,必需首先能够以直接或借居体例访谒正在运行该数据库的处事器,要使数据库平安,首先要其依靠的平台和收集平安,一旦起头执行,操作系统的平安性必需被考虑。  G9 O& z8 A# T) W! _
. C6 s8 U1 h+ B$ |
  Oracle使用年夜量用户不能直接访谒到的文件。例如,数据文件和日志文件只有经由过程Oracle的后台措置进行读写。是以,只有要成立和删除这些文件的DBA才可以在操作系统级直接访谒它们。输出文件和其他的备份文件也必需受到呵护。4 P' S: N: _( p3 w9 B

2 M; r; }# O1 t) q8 I; q  一般情形下,除了数据库自己的用户名和口令帐号外,可以操作平台特征供给一个用户认证的附加级,及操作系统帐号。但在统一处事器中,一个数据库帐号可以和一个操作系统帐号配核对,仅仅是前缀分歧。缺省前缀为"OPS$",但可以经由过程数据库的OS_AUTHENT_PREFIX参数改削其值。这个前缀也可以设置抽暇字符串,不用前缀。
: S" T! c! P& ?$ C- Q7 ~8 A/ [, r, D# u% c' G8 l
  在NT平台上与Oracle焦点相连(CONNECT INTERNAL)需要专门口令,这个密码是在安装时界说的,缺盛意形下是存放在一个隐含文件pwd.ora中。该文件位于$Oracle_home/database 目录。2 J# B; h( Y% H0 r
3 d: {7 d+ ?$ T* I# W. R: @4 S
  如不美观在init.ora文件中设置: DBA_AUTHORIZATION=BYPASS。% Y- {! R' j# j) P

0 |9 v; J6 ]- b  或注册表中改削: HKEY_LOCAL_MACHINE/software/Oracle/DBA_AUTHORIZATION。
% ~  Z+ K5 D- v, d8 L
( S% B* B, l6 _; M$ @/ r. M! a: a  设置其值为BYPASS,那么DBA与焦点相连就不需要密码了。这点也是需要出格注重的。7 O1 [% F8 O6 ?* o8 m# S, e
/ e' ]7 T- p  K) o% q! Q
  系统优化是一个复杂,牵扯面很广的问题,膳缦沔几点主若是年夜Oracle对平台的依靠性方面来考虑若何进行系统优化,但愿能给巨匠供给一个进行系统优化的思绪。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 16:04 , Processed in 0.159807 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表