数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Oracle专家高级编程学习笔记( 二)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

Oracle体系结构的3个主要组件:
1.文件:组成数据库实例的5个文件(参数文件,控制文件,数据文件,临时数据文件,重做日志文件)
2.系统全局区域SGA( System Global Area): Java池,共享池等
3.物理进程与线程: 在数据库上运行3种不同类型的进程(服务器server进程,后台backgroud进程,从属slave进程)

术语解释:
数据库: 物理操作系统文件的集合
实例: 一组oracle进程和SGA
二者关系:
一个数据库可以被多个实例装载mount和打开open
实例可以及时地装载并打开一个单独的数据库,被实例打开并装载的数据库在启动时不必相同

文件:
1.参数文件:
TNSNAMES.ORA, LISTENER.ORA,SQLNET.ORA, PROTOCOL.ORA,NAMES.ORA, SMAN.ORA, LDAP.ORA
(refer to "Oracle Net administrator Guide")
$ORACLE_HOME/DBS/int<ORACLE_SID>.ora: 内容为一系列的变量名和值对
such as:
db_name="wmdb"
db_block_size=8192
control_files=("c:\oradata\control01.ctl","c:\oradata\control02.ctl")
...
其中有一些在Oracle文档中没有说明的参数以下划线开始
除了在开发环境中设置_TRACE_FILES_PUBLIC=TRUE这个参数外,其他没有说明的参数最好不要改动

2.数据文件:
数据库database-->表空间tablespace-->segment段-->extent扩展区-->block块
1)数据库由一个或多个表空间组成
2)表空间由一个或多个数据文件组成,一个表空间有一个或多个段
3)一个段(表,索引等)由多个扩展区组成,段存在于表空间中,但在表空间中可有多个数据文件中的数据.
4)一个扩展区是在磁盘上一些连续分配的块,一个扩展区在一个表空间中,而且总是表空间中单一的文件
5)块是数据库中最小的分配单元和I/O单元,它的大小在数据库创建时就固定下来了

3.临时文件
当内存不足以保存一个大规模排序操作的中间结果(集),Oracle用临时文件来存储它们,永久数据,如表或索引是不会存储到临时文件中的,但临时表或临时索引的内容则可能存储到临时文件 中

推荐用本地管理临时表空间来配置数据库???,例
create temporary tablespace temp
tempfile 'c:\oracle\oradata\walter\temp.dbf'
size 5m
extent management local
uniform size 64k

4.控制文件
一个相当小的文件,至多为64M,包含Oracle需要的其他文件的目录
数据文件init<SID>.ora告诉实例控制文件 的位置
控制文件则把数据库和联机重做日志文件的位置告诉实例
控制文件也向Oracle提供其他信息,如检查点,数据库名称,数据库创建的时间戳,归档重做日志历史等

5.重做日志文件
数据的事务日志,仅在恢复时才使用
1)联机重做日志
2)归档重做日志

内存结构
1.SGA(System Global Area)
2.PGA(Process Global Area)
3.UGA(User Global Area)
待续




相关文章

相关软件