Oracle9i数据库体系结构[1]

合集下载

描述oracle数据库体系结构的组成及其关系。

描述oracle数据库体系结构的组成及其关系。

描述oracle数据库体系结构的组成及其关系。

Oracle数据库体系结构由以下几个部分组成:1. 实例(Instance):实例是在计算机内存中运行的一个进程,负责管理数据库的操作。

每个实例都有自己的内存空间和进程,可以同时运行多个实例。

2. 数据库(Database):数据库是一个存储数据的容器,包含了表、视图、索引等对象。

一个实例可以管理多个数据库,每个数据库由一个或多个数据文件组成。

3. 数据文件(Data File):数据文件是用来存储数据库的实际数据的文件,包含了表、索引等对象的数据。

一个数据库可以有多个数据文件,每个数据文件具有独立的文件名和路径。

4. 控制文件(Control File):控制文件是用来记录数据库的结构和状态信息的文件,包括数据库名、数据文件的路径、表空间的信息等。

一个数据库通常有一个或多个控制文件。

5. 日志文件(Redo Log File):日志文件是用来记录数据库的变化操作的文件,包括数据更改、事务回滚等。

日志文件用于实现数据库的恢复和数据的一致性。

每个数据库通常有多个日志文件。

6. 表空间(Tablespace):表空间是数据库中逻辑数据存储的单位,用来管理和组织对象。

每个表空间由一个或多个数据文件组成,不同表空间可以包含不同的数据对象。

7. 段(Segment):段是逻辑存储结构的基本单位,是指数据库中的一个连续空间。

每个表、索引等对象都占用一个或多个段。

8. 区(Extent):区是段的扩展单位,是一组连续的数据块。

一个段由多个区组成。

9. 块(Data Block):块是数据库存储的最小单位,通常是8KB大小。

每个数据文件由多个块组成。

以上组成部分之间的关系如下:- 实例与数据库:一个实例可以管理多个数据库,每个数据库都有自己的实例。

- 数据库与数据文件:一个数据库可以由一个或多个数据文件组成,每个数据文件存储数据库的实际数据。

- 实例与控制文件:一个实例通常有一个或多个控制文件,控制文件记录了数据库的结构和状态信息。

Oracle 9i

Oracle 9i

Oracle 9iORACLE9i数据库技术Oracle数据库效劳器的最新版本Oracle 9i是Oracle数据库效劳器家族中的新一代旗舰产品。

ORACLE数据库产品具备许多技术特性。

1-先进性ORACLE公司成立以来,在数据库领域始终处于技术领先地位。

通过自身产品在技术的不断创新和对信息技术开展方向的敏锐洞察,始终领导数据库产品的开展。

不管在哪个时期,都具有技术优势。

为了实现事务处理的高性能,Oracle 9i的多线程的、多效劳器的体系结构能够协调处理上万条并发用户请求。

单个请求均被放入队列,并由最少量的效劳器进程处理。

Oracle 9i的可伸缩的,可靠的体系结构推出了无法匹敌的任务关键系统所需的可伸缩性、可用性以及高性能。

Oracle 9i和Oracle 9i Real Application Server能充分利用所有的硬件系统资源,从单处理器,并行多处理器,集群系统(cluster)到大规模并行处理器(MPP)系统。

Oracle支持行级封锁技术来解决写/写冲突,并支持数据多版本来解决读/写冲突。

行级封锁因为占用的系统资源最少,能最大限度地提高系统的吞吐量。

数据多版本(读一致性快照)防止了读锁,使系统对锁的管理因锁种类的减少而大大简化。

Oracle杜绝锁升级,防止死锁的发生。

并且,Oracle有专门的后台进程监控和解决死锁,一旦出现死锁,自动解除死锁。

Oracle9i 的一个功能,是能够将业务数据和索引进行分区。

经分区的数据和索引具有以下优点:缩短对长时间运行的查询的响应时间;分区减少了磁盘I/O 操作减少对并发查询的响应时间;I/O 操作在每个分区上同时进行索引维护更加轻松,因为可进行分区级创立和重构操作可以重建分区上的索引,而不影响在其他分区上的查询可以更改每个本地索引的存储参数,而与其他分区无关对于民政部民政公用政务平台系统,需要存贮大量的资料、档案和各地的业务数据,同时,还需要同协作机构进行数据交换,而Oracle9i支持最大为512Peta bytes的数据库(1 Petabytes = 1000TB =1000,000GB),较好地支持大型存储设备的管理操作,整个管理过程对用户是完全透明的。

Oracle的PPT,非常适合教师或者培训教材

Oracle的PPT,非常适合教师或者培训教材

PC
PC PC
PC

Oracle Browser/Server数据库结构 Browser/Server数据库结构
PC
Web Server
Browser 非面向连接
PC
Oracle Server
Network
PC PC
Web Server
Browser
PC
通过Web访问各种数据 通过Web访问各种数据
Oracle Client Net8 配置
5.测试Service TEST
Oracle Client Net8 配置
6.完成
Oracle Client Net8 配置
Oracle Client Configuration(III)
Oracle客户端配置及Login界面 Oracle客户端配置及Login界面 客户端配置及Login (Client端使用Oracle Net8i连接 ) Client端使 端使用 Net8i
Oracle Client Net8 配置
创建 Service Name
Oracle Client Net8 配置
1.确定网络协议(TCP/IP)
Oracle Client Net8 配置
2.确定主机名或IP地址
3.确定Listener Port号
Oracle Client Net8 配置
4.确定数据库ORACLE_SID
Oracle数据库产品组成
应用系统开发工具
CASE*系列
开发工具 网络接口
ORACLE RDBMS
高级语言接口
DBA管理工具 ADIMINISTRATION TOOLS EXP/IMP SQLLOAD
Oracle Web Server

oracle9i数据库Oracle9i

oracle9i数据库Oracle9i

oracle9i数据库:Oracle9i 数据库控制文件疯狂代码 / ĵ:http://Java/Article62724.html经过前几期专栏文章洗礼相信大家对于 Oracle9i 数据库应该已具备些基本管理概念但是这还不足以驾驭Oracle9i 数据库!接下来我将从实务角度深入解说 Oracle9i 数据库各种核心组成组件和各种数据库管理窍门技巧本期先从 Oracle9i 数据库控制文件(Control files) 开始谈起j%KOG@_oJAVA中文站社区门户$AZ4DeRh!I控制檔角色j D2wkJJAVA中文站社区门户-G%R"H2c ~5h每个 Oracle9i 数据库都必须有个控制档它是个小型 2进制档案主要是储存 Oracle9i 数据库结构信息包括:#v jGvdwF/k4`q hI`n kc:n`jn ; ; ; ; ; ; 数据库名称8W+y\J ejSn ; ; ; ; ; ; 数据库建立时间 JAVA中文站社区门户[Cd*X:x7E,Xs4]`n ; ; ; ; ; ; 资料文件名称和所在位置{"U(F9NDhH-xn ; ; ; ; ; ; 重置日志文件名称和所在位置 JAVA中文站社区门户*Z7L l:F3J\D/VQn ; ; ; ; ; ; 目前日志序列码(log sequence number) JAVA中文站社区门户J$G]_v-tG8]Wn ; ; ; ; ; ; 检查点信息M9\;_}1U8K*xi"vJAVA中文站社区门户o8p$Z-C'NA\,K2OwGpkWw|6j简言的控制档可用来描述 Oracle9i 实体结构因此开启 Oracle9i 数据库时定要读取控制文件才能取得所有数据库实体档案相关信息旦控制文件不幸毁损数据库便无法顺利开启也如此控制档管理和维护工作显得格外重要JAVA中文站社区门户S~l}G2s(s(_JAVA中文站社区门户bI\h*TG如何管理控制檔F9?On+@k/T:s#I sU@x q%Y设定控制文件名称和所在位置*ITq A]f8hcl:]`q6u4GQ M~控制文件将用来存放 Oracle9i 数据库实体结构信息即使目前尚未建置 Oracle9i 数据库您也必须先准备好控制档!换言的在激活 Oracle Instance 时就必须知道控制文件名称和所在位置为此控制文件相关信息必须设定在起始参数档内才能在开启 Oracle Instance 时并读取控制档内容进而激活 Oracle9i 数据库控制文件名称和所在路径位置是设定在起始参数档内 CONTROL_FILES 参数IAOl2bl/n1n;Y7x ]mb+vB如何配置控制文件JAVA中文站社区门户(]Q8T&i9^~:XJAVA中文站社区门户C!l+bB9D7ie%Z每个 Oracle9i 数据库最好拥有两个以上控制档并各自存放在区别磁盘上如此来当控制档因故毁损时您便可以在最短时间内修复控制文件尽可能缩短数据库停摆时间假定您 Oracle9i 数据库目前配置了 3个控制文件那么Oracle 如何维护这些控制档呢? Oracle9i 和控制档互动方式如下:5~'`9eR5s,aT#wM)p#] VG`#tI~Lxn ; ; ; ; ; ; 开启 Oracle 数据库时只会读取第个控制文件(顺序以 CONTROL_FILES 设定值为基准)0W8M!G-G.{!@n ; ; ; ; ; ; 如果需要将特定信息写入控制文件则 Oracle 会同时写入 CONTROL_FILES 参数所指定档案 JAVA中文站社区门户){1K ^-W+u4RUn ; ; ; ; ; ; 当某个控制档发生问题时Oracle Instance 将因此停摆JAVA中文站社区门户 z/[ m!K9I2NHJAVA中文站社区门户O5WY L?sM5Gn,wi如前所述各控制档复本应该分散在区别实体磁盘因此实际上规划个正式系统时请仔细研究控制文件和重置日志文件的搭配方式JAVA中文站社区门户8H0w{%rj%|%{+V[%rp.k;p:~0}@假定目前重置日志群组有两个分别置于 /u01 和 /u02两个磁盘;每个重置群组包含 3个重置日志文件:PEmGr'Rj~;EA$f l9EB+XV/u01/oradata/ora901/log1a.rdo(Group1)[D9?V.yoJ E:Jo8pWJAVA中文站社区门户Tl Q]q)W/u01/oradata/ora901/log2a.rdo(Group2){+{|(T-N;j2Z1_r\VNDH0{,kn/u02/oradata/ora901/log1b.rdo(Group1)9_:c"deBJb)H.beJAVA中文站社区门户 Bu)w{|1S/u02/oradata/ora901/log2b.rdo(Group2)JAVA中文站社区门户*_g\Rl3LjUJQ3pAB/u03/oradata/ora901/log1c.rdo(Group1)JAVA中文站社区门户"y1\DFTv s!ouJAVA中文站社区门户RtZR{2Ih(I/u03/oradata/ora901/log2c.rdo(Group2)9k'_0I+r+r,}JAVA中文站社区门户\B7~Fr5V此时不妨在 /u01 和 /u02 各配置个控制文件如此可有效降低重置日志文件和控制文件同时遗失风险不管哪个磁盘出问题另个磁盘仍然保留完整重置日志文件和控制文件资料JAVA中文站社区门户;s(O,`u5n1Y5r&dJAVA中文站社区门户;b fG:M6Wh5f|XJAVA中文站社区门户p6X:U1M\|如何决定控制档大小JAVA中文站社区门户*G|3\:@Zw#BOracle9i 控制檔大小主要是由 CREATE DATABASE 指令内数个参数所决定分别是: MAXDATAFILES、MAXLOGFILES、MAZLOGMEMBERS、MAXLOGHISTORY 和 MAXINSTANCESJAVA中文站社区门户5Y%F*u[$x)B3\ P4C jJAVA中文站社区门户{ Eg#v7Y ze控制檔建立方式V qp0f:k]%~-MogV5e经由 CREATE DATABASE 指令建立控制文件0Da&f {$@)J&ScJAVA中文站社区门户,OSR-J.eOracle9i 控制文件在建立数据库同时就会并建立;换句话说当您执行 CREATE DATABASE 的后就会产生控制档但是有点必须注意:CREATE DATABASE 指令内并未指定控制文件相关信息! 其实控制文件名称和所在位置是定义在起始参数档CONTROL_FILES参数其命名方式必须视操作系统环境而定;例如 Windows 系统和 Linux 系统档案路径表示法就不相同以下是 CONTROL_FILES 参数的定义方式:3t.`M*D,fCONTROL_FILES = ( /u01/oracle/ora901/control01.ctl,JAVA中文站社区门户uZixJVV0V/u02/oracle/ora901/control02.ctl,z!uA F-IX~#v/u03/oracle/ora901/control03.ctl)JAVA中文站社区门户8~pP1MP6rDz.JJAVA中文站社区门户{Q,v W[]B如果 CONTROL_FILES 参数所指定文件名称已经存在于操作系统中如何办? 此时您在执行 CREATE DATABASE 指令时就会发生不过只要加上 CONTROL FILE REUSE 子句即可然而如果现有控制档名称和 CONTROL_FILES 所设定名称相同但是其 “大小” 却区别那么您还是无法使用 REUSE 选项JAVA中文站社区门户)fhQce7Xy4y F#l^JAVA中文站社区门户(eEH;|-Z1x/szjx建立额外控制档JAVA中文站社区门户hI\5T6m为了避免控制文件(或其所在磁盘)毁损时影响到 Oracle9i 数据库正常运作您也许需要在其它硬盘上新增其它控制档最简单方式就是先将既有控制文件复制到目位置然后将控制文件名称加入起始参数档 CONTROL_FILES 的中同理如果想更改控制档名称也可以先将控制文件复制到目位置后予以更名再更新 CONTROL_FILES 参数请注意不管是上述何项动作都应该先关闭 Oracle9i instance 再进行在其它磁盘建立额外控制文件步骤如下:-yp!J2[Ih2{rnRbf m1. ; ; ; ; 关闭 Oracle9i 数据库 JAVA中文站社区门户s s`'b-S!oY2. ; ; ; ; 在操作系统下将既有控制文件复制到目位置;Tt~:Ir3. ; ; ; ; 开启起始参数档并修改 CONTROL_FILES 参数您必须将新控制文件名和所在目录名称加入CONTROL_FILES 参数 JAVA中文站社区门户/u'v,p$UIt3SC4. ; ; ; ; 重新开启 Oracle9i 数据库L}nA@r:ZJAVA中文站社区门户&|n }3]_\建立全新控制檔JAVA中文站社区门户 tf5VCE Uat除了将控制文件复制到其它磁盘的外某些时候您可能需要建立 ”全新” 控制檔例如:JAVA中文站社区门户 iz;L qOFI$R"s:mn ; ; ; ; ; ; 目前数据库既有控制文件不幸毁损不仅未进行备份也尚未在其它磁盘建立镜射控制文件.M+dpg4I4rL:En ; ; ; ; ; ; ; ;您希望更改 CREATE DATABASE 指令内设定控制文件相关参数例如:数据库名称或是 MAXLOGFILES、MAXLOGMEMBERS 和 MAXLOGHISTORY 等参数JAVA中文站社区门户TuK(a6RE]:Z JAVA中文站社区门户&[A1uA7KEOb举例来说在分布式运算环境中可能会有两部 Oracle9i 数据库名称相同其中台必须更改数据库名称也有可能MAXLOGFILES 和 MAXLOGMEMBERS 最初设定值太小现在必须加大上述情况都必须建立全新控制档以下是建立详细建置步骤:JAVA中文站社区门户yb:[ ` Dx'Q L.GA8R c4?_#^hO1. ; ; ; ; ; ; 先整理份数据库档案清单其中包含所有数据文件和重置日志档案的路径和名称V$LOGFILE 和 V$DATAFILE 这两个视观表可协助您进行这项供工作例如:@"v z&Hr+P4]D[-XSELECT member FROM v$logfile;JAVA中文站社区门户'r._0`3nO*PTgSELECT NAME FROM V$DATAFILE;JAVA中文站社区门户G8H&YKR7DI+Pw[z3b\Ghz}2. ; ; ; ; ; ; 关闭数据库请尽可能以 NORMAL 选项关闭数据库必要时才使用 IMMEDIATE 或ABORT 选项0}z,p/^4\H3. ; ; ; ; ; ; 重新激活 Oracle Instance 至 NOMOUNT 状态:JAVA中文站社区门户6hNt-b+z&_?!T3ESTARTUP NOMOUNT;JAVA中文站社区门户 {0|ut!H:hU1^SLG|6e7F&X[.?b4. ; ; ; ; ; ; 执行 CREATE CONTROLFILE 指令建立新控制文件以下范例将为 ora901 数据库建立个全新控制档:,A\d}5u#JW&m1f P(iYQm9JCREATE CONTROLFILE9B9YM%Awm-BWRKz5cn:XuV6NDLSET DATABASE ora901JAVA中文站社区门户:];n(xiP'vte~X kupl;mLOGFILEGROUP 1 ( '/u01/oracle/ora901/redo01_01.log',JAVA中文站社区门户+Qd[5|UFu,h-k_;u6yG'/u01/oracle/ora901/redo01_02.log'),7c9w |?n4nSA-vJAVA中文站社区门户C`h&g`z9_-TjqGROUP 2 ( '/u01/oracle/ora901/redo02_01.log',ZYV!^}[[CJAVA中文站社区门户iiXqy9nRQ%E,`$}'/u01/oracle/ora901/redo02_02.log'),JAVA中文站社区门户.EQ)c#v/N'U1D@] ZJAVA中文站社区门户\JL e8TC8QGROUP 3 ( '/u01/oracle/ora901/redo03_01.log',.W#OLSzdq:l0U@.k6P^'/u01/oracle/ora901/redo03_02.log')JAVA中文站社区门户l"O"eg~Wxv1Qu.t)wn+pZNORESETLOGSQonzn4?_p$\AIf{.@+TDATAFILE'/u01/oracle/ora901/system01.dbf'SIZE 300M,JAVA中文站社区门户(H8^dipYU&DuA e$hzgli\n'/u01/oracle/ora901/rbs01.dbf'SIZE 50M,L7bpO[sVA:Oq)v$V6Hc,KlV(I'/u01/oracle/ora901/users01.dbf'SIZE 500M,JAVA中文站社区门户or-O}ic%\-K ew-cJ'/u01/oracle/ora901/temp01.dbf'SIZE 100Mg0iO2{&cD.u5Y|Ycs$v`j*Xo1E&|MAXLOGFILES 100JAVA中文站社区门户@_h_^ ]9k*TJAVA中文站社区门户^q5Bc~ f.w@1UMAXLOGMEMBERS 3n9f,Y Fe5\dU:uC_%l!z,pjaUMAXDATAFILES 500|ASb)UH1AEyc.Z c!u.O_MAXINSTANCES 10JAVA中文站社区门户bc$hm$Wkc%HcJAVA中文站社区门户a4MRs%nn(y7foARCHIVELOG;)mG%ZmIm_"lJAVA中文站社区门户 W[ymX6Nm注意如果您打算在控制文件内更改数据库名称则必须使用 RESETLOGS 选项否则请使用 NORESETLOGS 选项JAVA中文站社区门户9fp8K6_oJAVA中文站社区门户.Y2d;\&a@?5. ; ; ; ; ; ; 必要时修改起始参数档 CONTROL_FILES 参数如果数据库名称已被更改请记得修改 DB_NAME 参数 JAVA中文站社区门户z+Ue4eT6. ; ; ; ; ; ; 将数据库开启至 Open 状态:JAVA中文站社区门户#{RSnS.Y;IeALTER DATABASE OPEN;6k|c^?"r.nHB{m,p1RSAZ6G9~如果您建立控制文件时曾搭配RESETLOGS 选项那么执行 ALTER DATABASE 指令时必须加上RESETLOGS 选项:JAVA中文站社区门户i+[dG2D%@7L3p!pALTER DATABASE OPEN RESETLOGS;JAVA中文站社区门户B;i[f*D(y1W@/lNFs(q'}Q备份控制档h!aEh v'[JAVA中文站社区门户aRe3_Wy#?也许您已经在区别磁盘上配置多个控制文件但这并不表示控制档永远不会毁损为此您应该适时备份这些控制档;特别是在 Oracle9i 数据库实体结构经过变动时例如:PH8{ k*p$J6J+[7@nJn ; ; ; ; ; ; 新增或移除数据文件或是更改某数据文件名称 JAVA中文站社区门户j u'Y~G#C7qDRn ; ; ; ; ; ; 新增或移除表格空间或是更改表格空间状态F"N_;awtdS3[n ; ; ; ; ; ; 新增或移除重置日志档案(或群组)s d!E3cT-~k%T8pV4lD欲备份控制档时您可执行 ALTER DATABASE BACKUP CONTROLFILE 指令分为以下两种方式: Td'Si-W/a2wt;CS&O!mw1. ; ; ; ; 将控制文件备份到某个 2进制档案例如:S x"a"gV^Bi4kDwv/aP`S2A{eALTER DATABASE BACKUP CONTROLFILE TO1x/d.qw`V\D7{&q)z2g/bN6J'/backup/controlfile/control.bkp';3O*_;Pax6r&^y yGy%q2. ; ; ; ; 制作能够重建控制档的 SQL 叙述句例如:JAVA中文站社区门户SPa#?*ZC$ql4b2p0@/OA9yx2FALTER DATABASE BACKUP CONTROLFILE TO TRACE;Lj#U^f}JAVA中文站社区门户 LH,h~9x~^+z这道指令会将某个 SQL 叙述句写入数据库追踪文件您可从追踪档内撷取出这段代码进而重建控制档8ix3x9c Z"mj8a/if"egs|#[)@如何修复控制档(或其复本)JAVA中文站社区门户4K%|e5{4e@;vu1x~)W,gC3VF O情境:目前您 Oracle9i 数据库拥有 3个控制档分别置于 3个区别磁盘:JAVA中文站社区门户F@`ejD IHJAVA中文站社区门户m*e/w_L'f^5i$b/u01/ora901/controlfile/control01.ctlJAVA中文站社区门户 x#o8sfB^5nDkdZfl#B9ey#Q/u02/ora901/controlfile/control02.ctlz~ qT3qM6L jO1S'J&{,| b@!j/u03/ora901/controlfile/control03.ctl/zS*_)AQ2v)] jJAVA中文站社区门户1qr*nWi-b状况:control02.ctl 不幸毁损导致 Oracle9i 数据库无法正常运作JAVA中文站社区门户pi1w_\`2}yJ-@;f:bl解决方式:参考下列步骤修复控制档复本并重新激活数据库:'W{ar-{JAVA中文站社区门户UA4p&k&`|9u1. ; ; ; ; 关闭 Oracle9i 数据库在操作系统下将控制文件复制份至 /u02/ora901/目是覆盖掉毁损旧控制档:*a2M}M1}% cp /u01/ora901/controlfile/control01.ctlkD:BC,a)c~+x8Mq-nJAVA中文站社区门户IwWI&b6|1N/lA/y/u02/ora901/controlfile/control02.ctl;q{;C(S*jb2]m k'MvMB@2. ; ; ; ; 重新开启 Oracle9i 数据库8C-[!ED(H_0W~#l_&qRBJAVA中文站社区门户r5uhg|1h7f状况 2:control02.ctl 所在磁盘整个毁损(该磁盘并未存放其它数据库相关档案)JAVA中文站社区门户Kz ^F/Gfs\j1H%w6k!Vb解决思路方法A:以其它磁盘取代毁损磁盘!r"t x$gy"K8rJ"F ?JAVA中文站社区门户kU;S&C%M])ysn1. ; ; ; ; 关闭 Oracle9i 数据库在操作系统下将控制文件复制份至其它磁盘的适当目录 (例如 /u04):JAVA中文站社区门户a:q7T6fQ$nkp"v% cp /u01/oracle/ora901/control01.ctl /u04/oracle/ora901/control02.ctl;+K^m+?%GJAVA中文站社区门户:Hp5q8D:n&Hn*ri2. ; ; ; ; 更改启始参数档内 CONTROL_FILES 参数例如:JAVA中文站社区门户^m8vF'@ ?/o qCONTROL_FILES =(/u01/oracle/ora901/control01.ctl,:O&D2Y2M k1@/tOx8Q\Lt5{?([(z;y/u03/oracle/ora901/control03.ctl,JAVA中文站社区门户 u_+M1TE9U6N/H\mW&D"x8}Co/u04/oracle/ora901/control02.ctl)JAVA中文站社区门户3B|QF'@nRWm-u5u}7u7h.|M{.I3. ; ; ; ; 重新开启 Oracle9i 数据库D5p9_Z ESCJAVA中文站社区门户b#t!]^(L`D解决思路方法B:移除 control02.ctl 设定值JAVA中文站社区门户ptKi1mv(W2Ne:EP.D_Is1. ; ; ; ; 关闭 Oracle9i 数据库R*msq_ v2. ; ; ; ; 更改启始参数档内 CONTROL_FILES 参数移除原先 control02.ctl 的路径和名称 JAVA中文站社区门户/]F6nu!ziO @6g7q3. ; ; ; ; 重新开启 Oracle9i 数据库JAVA中文站社区门户:C k1}6E4{n\JAVA中文站社区门户$^a0V+@db0C6@需注意是:使用思路方法A以后您 Oracle9i 数据库仍然保有 3个控制档;但是使用思路方法B的后只剩下两个控制档+mK,t7p}%N/}JAVA中文站社区门户+Nv$PFyY如何查询控制文件相关信息9o&JvMBpeK7RPM9Ne!Z7Iq1`U欲查询 Oracle9i 控制文件相关资料时可参考下列几种方式:r|f6en8|)F*E1. ; ; ; ; ; ; 执行 SHOW PARAMETER 指令:}!F+f&Gm?+\2. ; ; ; ; ; ; 查询 V$CONTROLFILE 视观表:JAVA中文站社区门户e0dM#x`*i!x6bSELECT name FROM V$CONTROLFILE;JAVA中文站社区门户T1x8T r.\!a8d|%T3. ; ; ; ; ; ; 查询 V$PARAMETER 视观表:JAVA中文站社区门户I-O3lyy:G [CSELECT name, value from V$PARAMETER VV|FP+P:R(KvWHERE name = 'control_files';TAG: 数据库 文件 Oracle9i2009-2-14 1:15:03疯狂代码 /。

Oracle数据库体系结构

Oracle数据库体系结构

Oracle数据库体系结构⼀、oracle数据库体系结构基本组成:Oracle server:⼀般情况下是⼀个instance和⼀个database组成⼀般:1个instance只能对应⼀个数据库。

特殊:1个数据库可以有多个instance(RAC)⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。

利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:connect ⽤户名/密码@实例的服务名1.1 oracle服务器和实例1.1.1实例由内存区和后台进程组成①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。

在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。

1.1.2服务器Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。

数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA1.2 oracle数据库逻辑结构表空间:据库的基本逻辑结构,是⼀系列数据⽂件的集合;段:不同类型数据在数据库中占⽤的空间,有许多区组合⽽成;区:由连续的块组成,⽬的是为数据⼀次性预留⼀个较⼤的空间,oracle为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。

第4章ORACLE服务器体系结构和组成

第4章ORACLE服务器体系结构和组成
FROM PFILE=‘D:\ORACLE\…\TEMPFILE\…’;
PFILE子句是必需的,SPFILE子句可以省略, 那么SPFILE存贮在缺省位置 <ORACLE_HOME>\DATABASE\下。
ORACLE的体系构造 物理构 造
• 查看效劳器端参数文件
• 在SQL PLUS中使用SHOW PARAMETERS命令
• 修改效劳器端参数文件
• 在9i中直接手工修改本地参数化文件是没 用的,不会改变数据库的设置。
• 利用ALTER SYSTEM SET parameter = value语句可以在数据库运行时修改初始化参 数的值。
• 在SET子句中可以使用SCOPE选项来设 置影响范围,所谓影响范围就是ALTER SYSTEM语句对参数的修改是仅对当前实例 有效〔记录在内存中〕,还是永久有效〔记 录在SPFILE中〕。
日志缓冲存储区〔Log Buffer〕 日志缓冲区
以记录项的形式备份数据库缓
冲区中被修改的缓冲块,这些
记录将被写到日志文件中。
LOG_BUFFER
日志文件
确定日志缓冲区的大小。
ORACLE的体系构造 图示
PMON LCKn RECO SMON
共享池
SGA
数据缓冲区 日志缓冲区
体系构造
Server UUUssseeerrr
当一个日志文件组被填满时
关闭数据库时
ORACLE的体系构造 物理构 造
日志文件写操作图示
Log File 2
ORACLE的体系构造 物理构 造
镜像日志文件是为防止日志文件的丧失,在 不同磁盘上同时维护两个或多个联机日志文件 的副本。 其特点如下: 每个日志文件组至少包含两个日志文件成员。 每组的成员数目一样。 同组的所有成员同时被修改。 同组的成员大小一样,不同组的成员大小可 不同。

第一章 Oracle9i概述

第一章 Oracle9i概述

3.数据库管理员
数据库管理员(DBA),其职能是对数据库进行日常的 管理。
4.数据库用户
数据库用户是应用程序的使用者,通过应用程序与数据 库进行交互。
1.2 关系数据库系统

1.2.1 关系数据库简介 1.2.2 关系数据库的逻辑结构

1.2.1 关系数据库简介
“关系”(relation)是数学中的一个 基本概念,由集合中的任意元素所组 成的若干有序偶对表示,用以反映客 观事物间的一定关系。 关系数据库即用关系的概念来建立数 据模型,用以描述、设计与操纵数据 库。 关系模型由关系数据结构、关系操作 和完整性约束三部分组成。
4.电子商务应用程序的开发平台 (1)Enterprise Java Engine (2)XML支持——XML类型和XDK (3)SQL和PL/SQL改进
5.可管理性 (1)恢复管理器RMAN的增强 (2)对回滚段的管理 (3)动态内存管理 (4)可继续的语句执行 (5)延续性的init.ora (6)精细的、自动化的资源管理 (7)管理工具和技巧 (8)端到端的系统管理解决方案
(11)序列(Sequence) 一个唯一数值的序列生成器,它每次被引用 后,自动递增。
(12)过程、函数(Procedure、Function) 编译存储在数据库中的一个PL/SQL程序段, 可以被引用。函数返回调用者一个值,过程则 不返回任何值。
(13)包(Package) 函数、过程的集合。包中可以包含不同元素, 可以是公有的也可以是私有的。
一个关系数据库是由一组数据表组成的。 表中的每一行称为记录,每一列称为字段。 表是一组彼此相关的记录的组合。 Oracle中常见的数据库对象有:
(1)表、列、数据类型(Table、 Column、Datatype)

Oracle体系结构(共79张PPT)

Oracle体系结构(共79张PPT)

32
日期
第32页,共79页。
分析
在执行COMMIT操作时,后台进程LGWR要 开始工作,所以事务变化被记载到重做日志 中。因为只有在发出检查点时,才会将SCN 值写入控制文件和数据文件头部,所以控制 文件和数据文件的SCN值保持一致,并且存 放的是先前检查点的SCN值。
控制文件和数据文件的SCN值一致,与重做 日志不一致!
28
日期
第28页,共79页。
CKPT工作原理
当Oracle发出检查点时,系统会将检查点时刻的
SCN值写入到控制文件和数据文件头部,同时还会促
使DBWR进程将所有脏缓冲区写入到数据文件中。
29
日期
第29页,共79页。
检查点工作机制
在DBWR进程工作之前,LGWR进程首 先将重做日志缓冲区内容写入到重做日志文 件,即该时刻的SCN值会被写入重做日志。
Oracle使用的主要内存结构包括系统全局 区SGA和程序全局区PGA。
9
日期
第9页,共79页。
SGA区
日期
10 第10页,共79页。
数据高速缓存
保存最近从数据文件中读取的数据块。分为 脏缓存块、空闲缓存块和命中缓存块三类。
脏缓冲块:当执行INSERT、UPDATE以及 DELETE操作时,服务器进程修改数据高速 缓存的相应数据,此时缓冲区的内容与数据 文件中的内容不一致。
当CKPT进程工作的时候,会将当前时 刻的SCN值写入数据文件和控制文件。
在发出检查点时刻,数据文件、控制文 件和重做日志的SCN值完全一致。
30
日期
第30页,共79页。
系统恢复
当运行Oracle Server时,在访问数据 文件、控制文件和重做日志时,Oracle会定 期检查并比较每种文件的SCN值,确定文件 是否损坏、系统是否出现异常,最终确定系 统是否需要进行恢复。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle9i数据库体系结构[1]
日志缓冲区(Redo Log Buffer)
SGA
Shared Pool Database Buffer Cache
Redo Log Buffer
Servers Users
DBWR
LGWR
ARCH
Data Files
Redo Log Files
Oracle9i数据库体系结构[1]
✓ 如果对于日志文件进行镜像,则相同的 Redo Log 信息被写入多个联机的 Redo Log 文件中
✓ Oracle运行NOARCHIVELOG时只有历史日 志,没有归档日志
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
日志文件(Redo Log Files)
✓ 每个Oracle数据库至少有两个Redo Log日志文件 组,每组有一个或多个日志文件
Oracle实例(Instance)
Oracle启动时,将分配系统全局区SGA并启动Oracle 后台进程(Background Processes)。内存区域和后台 进程合称为一个Oracle实例(Instance)。
SGA是由Oracle为一个实例分配的一组共享内存 区域
后台进程异步地为所有的数据库用户执行不同的任务
Oracle9i数据库体系结构[1]
Oracle表空间类型
Oracle9i数据库体系结构[1]
Oracle9i临时段管理
✓ Oracle9i的缺省临时表空间(Default Temporary Tablespace)用于用户排序时 SQL的Order by语句使用,在创建用户时指 定用户缺省的临时表空间。
✓ 建议对Redo Log 文件进行镜像,以保证数据库安 全运行
✓ 建议使用四个Redo Log文件组,每组2或3个日志 文件
✓ 组内Redo Log 文件位于不同磁盘 ✓ Redo Log文件是循环使用的
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
日志产生过程
SGA(System Global Area)
Redo01.log
Redo02.log
Redo03.log
三个日志文件组,每组一个日志成员
Oracle9i数据库体系结构[1]
Oracle9i数据库参数文件
文本参数pfile Parameter File 服务器参数参数spfile Server Parameter File
Oracle9i数据库体系结构[1]
文件丢失
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
Oracle9i Database (Windows NT)
Oracle9i数据库体系结构[1]
Oracle9i Database (Unix)
Oracle9i数据库体系结构[1]
日志切换
当ORACLE从一个Redo Log文件切换到另一 个日志文件时发生日志切换
✓ 在 Oracle9i 中,可以使用自动Undo管理代替回退段, Oracle9i使用Undo表空间,并对Undo空间自动管理。
Oracle9i数据库体系结构[1]
Oracle9i自动Undo空间管理
✓ 在Oracle8i中,私通使用手动管理Undo空间,使用 在RBS表空间中创建大的回退段的方法处理大的事 务,由于一个事务只可以使用一个回退段,当一个 回退段动态扩展超过区最大值、或超过数据文件的 允许扩展范围时,将产生回退段不足的错误,事务 被进行过程被终止。
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
控制文件(Control Files)
建议设置:
• 至少使用两个控制文件,并存放于不同磁盘 • 参数 Control_Files指明控制文件 ✓ 控制文件的镜像可以在数据库创建或创建完
成后进行
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
控制文件(Control Files)
控制文件是描述数据库结构的二进制文件 控制文件
所有必须的数据文件和日志文件在控制文件中标识 数据库名存储在控制文件中 控制文件用于打开和存取数据库 数据库恢复所需的同步信息存储在控制文件中
控制文件
数据库的物理组成与控制文件中的记录不同时,系 统则不能正常启动或发生down机现象
当LGWR写满一组日志文件时发生日志切换 DBA可强制日志切换 数据库关闭时发生日志切换
日志切换时,当前日志文件被赋予一个新的 日志序列号,用于标识其中的信息
日志切换时产生检查点CKPT(Checkpoint)
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
Redo Log文件组
Group3 Member C
Oracle9i数据库体系结构[1]
Oracle9i for Unix 日志文件结构 (Sun Solaris)
redo01.log
redo02.log
redo03.log
三个日志文件组,每组一个日志成员
Oracle9i数据库体系结构[1]
Oracle9i 日志文件结构 (Windows NT)
✓ 在Oracle9i中,允许数据库管理员重新创建 并设置系统临时表空间,而不使用系统表空 间作为排序、汇总等临时表空间使用。如果 系统设置了系统缺省临时表空间,则用户不 得使用其他表空间作为临时表空间使用。
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
回退段(Rollback Segments)
Oracle9i数据库体系结 构[1]
学习改变命运,知 识创造未来
2021年2月17日星期三
Oracle9i数据库体系结构
Oracle9i数据库体系结构[1]
Oracle9i 物理结构
Oracle9i数据库体系结构[1]
Background Processes
SGA(System Global Area)
LGWR
ARCH
Data Files
Redo Log Files
Oracle9i数据库体系结构[1]
数据缓冲区(Database Buffer Cache)
Hale Waihona Puke ServerSGADB数据缓冲区
LRU Dirty
list
list
Datafiles Data files
....
....
DBWR
Free,Dirty,Pinned
Oracle9i Database (Windows NT)
Oracle9i数据库体系结构[1]
Oracle9i Database (Unix)
Oracle9i数据库体系结构[1]
Oracle9i 逻辑结构
Oracle9i数据库体系结构[1]
Oracle9i数据库的逻辑结构
Database
Part of
Log File 1
Log File 2
Log File 3
Group1 Member A
Group2 Member A
Group3 Member A
Group1 Member B
Group2 Member B
Group3 Member B
Group1 Member C
Group2 Member C
Servers Users
Data Files
Redo Log Files Parameter File
Control Files Server Parameter File
Oracle9i数据库体系结构[1]
日志文件(Redo Log Files)
✓ Redo Log 文件记录对于数据库的所有修改 ,用于数据库的恢复
✓ 在Oracle9i中,一个事务可以使用多个回退段。使用 Oracle9i的Undo空间自动管理特点,当一个回退段 不足时,Oracle会自动使用其他回退段,不终止事 务的运行。
✓ 在Oracle9i中,数据库管理员只需了解Undo表空间 是否有足够的空间即可。
Oracle9i数据库体系结构[1]
学习改变命运,知 识创造未来
Oracle9i数据库体系结构[1]
Oracle9i自动Undo空间管理
✓ 在Oracle8i以前的数据库中,对于回退段的设置与管理已 一直是一个十分复杂的工作,其正确的设置既困难又费时 。对于大的事务往往产生回退段不足的错误,或在RBS表 空间回退段中消耗过大。
✓ Oracle9i 引如了一个新的概念,即Automatic Undo Management ,Undo空间自动管理。在Oracle9i中, 可以使用传统的回退段,也可以使用Undo表空间, Oracle9i对Undo空间自动管理,使回退段的管理变的十 分容易。
自动Undo空间管理
Oracle9i数据库体系结构[1]
Oracle9i 内存结构
Oracle9i数据库体系结构[1]
系统全局区SGA
SGA(System Global Area)
Shared Pool Database Buffer Cache
Redo Log Buffer
Servers Users
Shared Pool
Database
Buffer Cache
Redo Log
Buffer 1
Servers Users
DBWR
LGWR
ARCH 2
Redo Log
Data Files
Files
3
Oracle9i数据库体系结构[1]
Redo Log 文件镜像
一个日志组中 Redo Log 文件具有相同的信息 选择合适的日志文件大小 组中的成员同时被更新 每组应包含与其他组中数目相同的日志成员 镜像的 Redo Log文件可以防止 Redo Log
相关文档
最新文档