Oracle数据库的文件以及Oracle体系架构
第一部分、Oracle数据库的文件
1、参数文件:控制实例的行为的参数的集合
参数文件的作用
- 设定数据库的限制
- 设置用户或者进程的限制
- 设定数据库资源的限制
- 调整系统的性能
主要的参数文件
SGA_TARGET:Oracle在SGA区(SGA是Oracle最重要的一块内存区域,存放各种各样的数据、SQL解析以及redo日志等等)需要分配多大的内存。
PGA_AGGREGATE_TARGET:此参数用来指定所有session总计可以使用最大PGA(程序全局区,会话分配的内存)内存。SGA和PGA基本就是oracle使用的内存的总和。
DB_CACHE_SIZE:数据块缓冲缓存区大小
DB_FILES:db_files参数限制了数据库数据文件总的个数,datafiles数目达到db_files指定后数据库不能添加新的数据文件
LOG_ARCHIVE_DEST_n:此参数可以设置最多10(n=[1..10])个不同的归档路径
USER_DUMP_DEST:specifies the pathname for a directory where the server will write debugging trace files on behalf of a user process.
查看参数文件初始化值可以在oracle的官方文档上去看。在Basic Initialization Parameters就可以查看各项初始化参数了。每个基本参数点进去就有了详细的说明。

其中SGA_TARGET的初始化参数如下:

查看当前数据库的参数文件
show parameter SGA; /*显示和sga相关的参数*/
select name,value from v$parameter; /*显示所有的参数*/
show parameter spfile; /*显示spfile参数文件*/
spfile对应的SPFILEORCL.ORA是二进制文件,用show parameter spfile;可以显示该二进制文件的路径(D:\Oracle11g\Administrator\product\11.2.0\dbhome_1\database)。
使用create pfile from spfile;可以生成INITorcl.ORA文件,这是一个文本格式的文件,里面显示的参数可以直接修改。

2、控制文件
控制文件包含的信息
- 数据库名字(DBID)
- 数据库建立时间
- 数据文件,在线日志文件和归档文件三中文件的信息
- 表空间的信息
- Rman的备份信息
控制文件的作用
- 它包含数据文件,在线数据文件,归档文件的信息,这些文件用于数据库open时的 文件验证。当数据库的架构改变时,比如增减,删除文件时,会更新数据文件。
- 包含了数据库恢复时候需要的一些信息,用于数据库的恢复。
控制文件的结构
- 空间允许重用区
这个区域的信息是可以被重用的(覆盖的),当空间不足或者规则满足时,允许覆盖以前的信息,比如归档日志和Rman备份集的信息。
- 空间不允许重用区
这个区域的信息是不允许重用的(覆盖的),因为他们是数据库必须的信息,比如表空间,数据文件,在线日志文件等。
控制文件丢失了怎么办?
备份控制文件
重建控制文件
参数文件和控制文件的丢失都不是致命的,都不会导致数据库的损坏。
3、数据文件
存放实际的数据,隶属于某个表空间。
查看表空间及对应的数据文件信息:
select file_name,tablespace_name from dba_data_files;
select file_name,tablespace_name from dba_temp_files;
数据文件的损坏
需用通过备份恢复
- 还原备份文件
- 用归档+在线redo恢复
使用Redo信息恢复
- 创建新数据文件
- 用归档+在线Redo恢复
4、重做日志文件-Redo Log File
重做日志文件的作用
保护数据的安全
恢复数据
数据同步和分析 -golden gate,Data guard
日志文件损坏
活动日志损坏:数据丢失,数据库损坏
非活动日志损坏:数据不会丢失,可以重建日志文件
Oracle日志文件的状态可参见:Oracle日志文件的状态current/active/inactive/unused
第二部分、Oracle体系架构
Oracle整体架构图

由上图可知,主要分为三个部分:实例instance,数据库database,其他组成部分。上半部分中的Instance就是实例,有内存加进程构成,内存分为SGA(System Global Area)和PGA(Program Global Area)。下方的Database就是数据库,包含数据文件,控制文件,重做日志文件。数据库文件是一种相对静止的东西。
下面分别介绍SGA区,PGA区和后台进程。
SGA区
http://blog.itpub.net/25264937/viewspace-694917/
PGA区
http://blog.itpub.net/25264937/viewspace-694917/
记得帮我点赞哦!
精心整理了计算机各个方向的从入门、进阶、实战的视频课程和电子书,按照目录合理分类,总能找到你需要的学习资料,还在等什么?快去关注下载吧!!!

念念不忘,必有回响,小伙伴们帮我点个赞吧,非常感谢。
我是职场亮哥,YY高级软件工程师、四年工作经验,拒绝咸鱼争当龙头的斜杠程序员。
听我说,进步多,程序人生一把梭
如果有幸能帮到你,请帮我点个【赞】,给个关注,如果能顺带评论给个鼓励,将不胜感激。
职场亮哥文章列表:更多文章

本人所有文章、回答都与版权保护平台有合作,著作权归职场亮哥所有,未经授权,转载必究!
Oracle数据库的文件以及Oracle体系架构的更多相关文章
- Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法
Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法 可能是误删文件导致在使用rman备份时候出现以下提示 RMAN-06169: could not read file hea ...
- Oracle数据库控制文件多路复用
Oracle数据库控制文件多路复用多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢 ...
- Oracle数据库 控制文件
一.概念控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构 二.所含有的信息1.数据库名2.数据库标识符(DBID)3.数据库创建时间戳4.数据库字符集5.数据文件信息6.临时文件信息7.在 ...
- 定时备份oracle数据库脚本文件
@echo off REM ########################################################### REM # Windows Server 2003下 ...
- .net4.0中使用ODP.net访问Oracle数据库(无需安装oracle客户端部署方法)
1.在没有安装oracle客户端的设备上也能访问服务器上的oracle (通俗的讲就是:开发的应用程序 和 oracle数据库服务器分别在两台电脑上)2.不需要配置TnsNames.Ora文件 开发环 ...
- Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称)
显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...
- C# 连接Oracle数据库,免安装oracle客户端
一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...
- 本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
因为要更新数据库加个表,远程桌面又无法连接...所以就远程到另外一台电脑,然后用navicat通过内网修改目标数据库. 一直用着navicat操作数据库,所以很速度的弄好然后新建连接进入数据库. 然而 ...
- 从ArcGIS连接Oracle数据库,并将Oracle数据库注册到ArcGIS Server
环境说明 客户端机器环境: ① Win7 SP1 64位 ② ArcGIS Desktop 10.2 32位 ③ ArcGIS Server 10.2 64位 服务器环境 ① Windows Serv ...
随机推荐
- linux之SAMBA共享目录服务端架设
samba 共享目录 1.SAMBA服务概述 协议 监听端口137 架构 samba:Linux系统的一种文件共享程序服务 通常在主机文件共享的应用场景中,由于文件系统的差异化,Windows和L ...
- .Net Core下基于Emit的打造AOP
之前的基于DispatchProxy的AOP组件,实现了属性注入,但是这个依旧有很多限制 比如不支持构造器注入,继承DispatchProxy的子类必须是公开类 个人有点代码洁癖,不喜欢这种不能控制的 ...
- 谁说Cat不能做链路跟踪的,给我站出来
背景 链路跟踪,我们有很多可选项.常见的有 zipkin,pinpoint,skywalking,jaeger 等. 基本上都是根据谷歌的<Dapper 大规模分布式系统的跟踪系统>这篇论 ...
- Pytest单元测试框架-学习
pytest: Python的一个单元测试框架,基于UnitTest二次开发,语法上更加简洁,可以用来做Python开发项目的单元测试,UI自动化.接口自动化测试等,有很多的插件访问Pytest插件汇 ...
- 2020重新出发,JAVA语言,什么是JAVA?
@ 目录 什么是 java? JAVA三大体系 Java SE Java EE JavaME java的主要特性和优势 1. 面向对象 2. 平台无关性 3. 可移植性 4. 简单性 5. 解释执行 ...
- Elasticsearch第四篇:索引别名、添加或修改映射规则
项目中经常出现的问题,例如添加字段.修改字段,那原先的索引规则就要跟着改变,最好是一开始就给索引一个别名,修改字段时新增映射,然后将笔名指向新的映射,当然需要将之前的索引搬迁到新的映射当中. 1.获取 ...
- Zookeeper学习(二)
一.Znode节点属性 dataVersion 数据版本, 每次当 Znode 中的数据发生变化的时候, dataVersion都会自增一下cversion 节点版本, 每次当 Znode 的节点发生 ...
- C#LeetCode刷题-随机数
随机数篇 # 题名 刷题 通过率 难度 470 用 Rand7() 实现 Rand10() 34.4% 中等 478 在圆内随机生成点 22.8% 中等 497 非重叠矩形中的随机点 22 ...
- C#LeetCode刷题之#169-求众数(Majority Element)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4048 访问. 给定一个大小为 n 的数组,找到其中的众数.众数是 ...
- C#LeetCode刷题之#171-Excel表列序号(Excel Sheet Column Number)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3852 访问. 给定一个Excel表格中的列名称,返回其相应的列序 ...