Oracle体系结构需要了解的两个概念

上一篇 / 下一篇  2008-06-15 20:31:56 / 个人分类:Oracle

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
要了解oracle体系结构必须先了解两个基本的概念: 数据库和实例。51Testing软件测试网|%g }ev!tBn!c

  一 数据库51Testing软件测试网.o1{ZX1[] oMv.g8@

2J*d2|8J%|*f9{V0  数据库(database)是一个数据集合。

*s(^0G;f rK(bJ051Testing软件测试网$x7S6pb7x'VO0R

  无论数据库是采用关系结构还是面向对象结构, oracle数据库都将51Testing软件测试网"| Fyd)yl h};A

$t"IOO)F3t%la.y6K*m0  其数据存放在数据文件中。 在其内部, 数据库结构数据对文件的逻辑51Testing软件测试网.T*?1_ H:x+BF

~;hMX R8]7?*Qb*[0  映射, 使不同的数据分开存储, 这些逻辑划分称为表空间。

C G1N#S u6m{"Xr0

.C C A1e8_3B/uS0  表空间和文件介绍:51Testing软件测试网 U/u+XW]2O C6[e

Wf FE.a6`#t_0  1: 表空间

9l$UMXLY051Testing软件测试网8~t I*C~ x+_ ^2LW

  表空间(tablespace)是数据库的逻辑划分, 每个数据库至少有一个表空间,叫做系统表空间(system 表空间)。 一个表空间只能属于一个数据库。51Testing软件测试网x7[.i3e5X

51Testing软件测试网0[7Q6FY0pX

  每个表空间由同一个磁盘上的一个或多个文件组成, 这些文件称为数据文件。51Testing软件测试网7ra,nd|oG^M

B LM-Z5Kry7@8QP0  表空间的特性:

%o f#~Z C/D3F0

0wYz'J$}2A4F0  (1)控制数据库数据磁盘分配51Testing软件测试网!g6_ @ U,S*^Tl

*Nu,qU~^ fIL0  (2)限制用户在表空间中可以使用的磁盘空间大小

)ZQ&} YcU?3B;g051Testing软件测试网.v7p2mQ3R;H x8B,O

  (3)表空间具有 online, offline, readonly, readwrite属性51Testing软件测试网GH_"pG

,wK&])L'j1od#^u J0  修改表空间的属性:51Testing软件测试网"_+SpF|#X

SQL> alter tablespace 表空间名称 属性;
查询表空间状态:
SQL> select tablespace_name, status from dba_tablespaces;

%C+vrRI_7U6I0

8t;b/A*uCxfd0  注意: system, undo, temp表空间不能设为offline属性。

9~s!K%s;R"a.j J0

A4_LJ@*l0  (4)完成部分数据库的备份与恢复

Q F%w&m!H/VZ ^0

A Bp.|&V/o;Ed&~0  (5)表空间通过数据文件来扩大, 表空间的大小等于构成该表空间的所以数据文件的大小只和。

,NtR;YD$k051Testing软件测试网j2O Jue`!]#w a

  查询表空间与数据文件对应关系:

"JL kZ7c1g8V^0

SQL> select tablespace_name, bytes, file_name from dba_data_files;
51Testing软件测试网3t-u^9XaR'lj

6z2cVn[Z#m0  基于表空间的几个操作:

W rgtm6b"i0

(1)查询用户缺省表空间:
SQL> select username, default_tablespace from dba_users;
(2)查询表与存储该表的表空间:
SQL> select table_name, tablespace_name from user_tables;
(3)修改用户缺省表空间:
SQL> alter user username default tablespace tablespace_name;
(4)将数据从一个表空间移动到另一个表空间:
SQL> alter table table_name move tablespace tablespace_name;

R f:O%Scl a Q051Testing软件测试网D1Hc$Yaux6Ho

  2.数据文件51Testing软件测试网/Z;E-S7v'dA

ZW7l!F+f's}0  每个表空间由同一个磁盘上的一个或多个文件组成, 这些文件叫做数据文件(datafile),数据文件只能属于一个表空间。 数据文件创建后可以改变大小。 创建新的表空间需要创建新的数据文件。 数据文件一旦加入到表空间中, 就不能从表空间中移走, 也不能与其他表空间发生联系。

b!\ uTz#P0

3W7[`4k(lI0  数据库必须的三类文件是 data file, control file, redolog file. 其他文件 prameter file,password file, archived log files并不是数据库必须的, 他们只是辅助数据库的。

LaW9v)`?!?'Y-D9yJ2C0

8hVe3P6Q)}$^c0  查看数据库的物理文件组成:

h'O!|'i N\n0

(1)查看数据文件: SQL> select * from v$datafile;
(2)查看控制文件: SQL> select * from v$controlfile;
(3)查看日志文件: SQL> select * from v$logfile;

ix&f+pe `$~0

5I,t5a)tb0  二: 实例51Testing软件测试网9^-k],UP;l-l\

G8S!g1l)G:Z;@0  通俗的讲实例就是操作oracle数据库的一种手段。51Testing软件测试网9BI crxO

51Testing软件测试网9_ZY,\KGexA

  数据库实例也称作服务器, 是用来访问数据库文件集的存储结构及后台进程的集合。

\ @/Hw;H_R"]051Testing软件测试网+F F3_+jb1r

  一个数据库可以被多个实例访问(称为真正的应用群集选项)。

!B!G&C'e0Q;hy051Testing软件测试网tWi rE&RH4f@

  决定实例的大小及组成的各种参数或者存储在名称init.ora的初始化文件中, 或者隐藏

lJ?g+i051Testing软件测试网3q*s,Q\_1`gg

  在数据库内部的服务器参数文件中。 通过spfile引用该文件, spfile存储在spfile.ora文件中。

t(X g)U9]y%Gu)Fk;Z0

Z2\:Dg o k)[&U+y!J0  实例启动时读取初始化文件, 数据库系统管理员可以修改该文件, 对初始化文件的修改只有在下次启动时才有效。

CFN!}(?` Xn0

2o F3q*mJd6pb i0  Instance分为两部分:

6o-W:V'o!Q(G8l0

*^8ld$xU.Y0  1: memory structure(内存结构)51Testing软件测试网"s$Y5[ J F"qt

51Testing软件测试网0z}OB&W F@#n+QM

  memory structure分为两部分:SGA(System Global Area)区是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle服务器的数据和控制信息, 它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

^)|4H6wVee#x7gX e2B0

#~&tr*Z Z6Y:i\0  包括:

9AO4r*i Gs0B9T(V|0

.share pool
.datafase buffer cache
.redo log buffer
.other structures

*Fp,F2xt,S2E p0

"U`:v7IAs0  PGA(Program Global Area)区包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收。51Testing软件测试网!ya1n5nK

hzTW0K;x ST5{0  2: background process(后台进程)51Testing软件测试网2B Gf7}/Sp5ZA

&HA9\CiWS#]C0  包括:51Testing软件测试网7C.{TOZH-\8u%GTl

8Gz)f;k8T0  。PMON 负责在一个Oracle 进程失败时清理资源51Testing软件测试网ng](C8_m(dl2s

51Testing软件测试网D| a;E2@S

  。SMON 检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复51Testing软件测试网Gl&Lx Z

*|R T+k?(e3YS"@T0  。DBWR 负责将更改的数据从数据库缓冲区高速缓存写入数据文件

wL5n0_HT"X#sB0

lHO-n zrF$N0  。LGWR 将重做日志缓冲区中的更改写入在线重做日志文件51Testing软件测试网3nS6x4q!~*Xqr`

J0c [ q,r0  。CKPT 负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

(W:i'm;p%vZ0

TAG: Oracle

 

评分:0

我来说两句

Open Toolbar