process在oracle的作用,【process】一些常见file和process的作用总结

文件和进程的作用

文件:

l参数文件:这些文件告诉oracle实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。

l警告文件:与跟踪文件类似,但是包含“期望”时间的有关信息,并且通过一个集中式文件(其中包含多个数据库事件)警告DBA.。这是一个简单的文本文件,从数据库“出生”那一天就会编写该文件,直到数据库“完结”为止。在这个文件中,可以看到数据库的“编年史”,包括日志开关:可能出现的内部错误:表空间何时创建、离线以及恢复为在线,等等。这时一个查看数据库历史的及其有用的文件。TOM喜欢让警告文件尽量增长,知道非常大了才会对其“归档”。在TOM看来,这个文件的信息越多越好。

l数据文件:每一个Oracle数据库都要有一个或者多个物理的数据文件,这些数据文件里存储的就是Oracle数据库里的数据。就好比你有一个文件夹,里面有几个txt的文本文件,文本文件里记录的你这个月的每一笔花销。如果把文件夹看做是数据库,那么txt文件就是数据文件,而txt文件里面记录的每一笔花销就是数据了。

然而表、索引等等其实都是数据库的逻辑结构,这些表、索引都被物理的存储在了数据文件里面。

数据文件有三个特性:

1、一个数据文件只能属于一个数据库。

2、数据库中的数据文件可以被设置成自动的增长。(当数据库的空间用完的时候,数据库中的数据文件就会自动增长,比如原来1G的数据文件自动变成了2G的数据文件)

3、一个或者多个数据文件就组成了数据库的一个逻辑单元叫做---表空间。

数据文件里的数据,在需要的时候就会被读取到内容Oracle的缓冲区中,比如当我们想查看一天数据时,而这条数据恰好又不在Oracle的缓冲区中,那么Oracle就会把这条数据从数据文件中读取到Oracle的缓冲区中来。

当更改或者新增一天数据时,也不是马上就写到数据文件里面,这么做是为了减少对磁盘的访问,提高效率,数据先存储在缓冲区,然后在一次都写入数据文件,这个过程有一个dbwn后台进程来控制。

l重做日志文件:每个Oracle数据库都拥有一组文件,其中包括2个或者多个重做日志文件(其实也可以拥有多组,用途跟多个控制文件一样)。这组文件整体被称为数据库的重做日志,而重做日志又是由一条一条的重做记录组成的,所有也被称为重做记录。

重做日志的主要作用就是记录所有的数据变化,当一个故障导致被修改过的数据没有从内存中永久的写到数据文件里,那么数据的变化是可以从重做日志中获得的,从而保证了对数据修改的不丢失。

为了防止重做日志自身的问题导致故障,所以Oracle拥有多重重做日志功能,也就是可以同时保存多组完全相同的重做日志在不同的磁盘上。

重做日志里的信息只是用于恢复由于系统或者介质故障所引起的数据没法写入数据文件的数据。比如突然断电导致数据库的关闭,那么内存中的数据就不能写入到数据文件中,内存中的数据就会丢失。但当数据库重新启动时丢失的数据是可以被恢复的,可以从最近的重做日志中读取丢失信息然后应用到数据文件中,这样就把数据库恢复到断电前的状态。

在恢复操作中恢复重做日志信息的过程叫做前滚。

l临时文件:临时数据文件(temporary dataf files)是一种特殊类型的数据文件。Oracle使用临时文件来存储大规模排序操作和散列操作的中间结果,如果RAM中没有足够的空间,还会用临时文件件存储全局临时表数据,或结果集数据。永久数据对象(如表或索引)不会存储在临时文件中,但是临时表机器索引的内容要存储在临时文件中。所以,不可能在临时文件中创建表。但是使用临时表时完全可以再其中存储数据。

l控制文件:每一个数据库都拥有控制文件(它和数据文件一样重要),控制文件里记录的是对数据库物理结构的详细信息,例如它包括如下三个信息:

1、数据库的名称

2、数据文件的名字和存在位置,重做日志文件的名字和存储位置

3、数据库创建的时间标识

Oracle可以使用多重的控制文件,也就是说它可以同时维护多个完全一样的控制文件,这么做就是为了防止数据文件损坏而造成的数据库故障。比如Oracle同时维护3个控制文件,当其中有1个控制文件出问题了,就比较好解决,把出问题的删了,在复制一份没有问题的就可以了。

每当Oracle数据库的实例启动的时候,它就会通过控制文件来识别,要想执行数据库的一些操作,必须需要哪些数据文件和重做日志文件,以及这些数据文件和重做日志文件都存在在什么位置。当数据库的物理构成发生改变的时候,比如新增加了一个数据文件或者重做日志文件,那么控制文件就会自动的更新来记录这些变化。另外在数据库恢复的时候也会用到控制文件。

l密码文件:是一个可选文件,允许远程SYSDBA或管理员访问数据库。

l跟踪文件:能提供调试信息。服务器遇到问题时,它会生成一个包含大量诊断信息的跟踪文件。如果执行了DBMS_MONITOR.SESSION_TRACE_ENABLE,服务器就会生成一个包含性能相关信息的跟踪文件。我们之所以可以使用这些跟踪文件,是因为oracle是一个允许充分测量的软件。

通常有两类跟踪文件:

1)你想要跟踪的文件:例如启用DBMS_MONITOR.SESSION_TRACE_ENABLE选项的结果,其中包含有关会话的诊断信息,有助于你调整应用,优化应用的性能,并诊断出遭遇的瓶颈

2)你不想要的跟踪文件,但是由于出现了以下错误,服务器会自动生成这些跟踪文件。这些错误包括”ORA-00600 Interal Error(内部错误)、ORA-03113”End of file on communication channel”(通信通道上文件结束)或ORA-07445”Exception Endcountered”(遇到异常)。这些跟踪文件包含一些诊断信息,它们主要对ORACLE SPORT的分析人员有用,但对于我们来说,除了能出应用中哪里出现了内部错误之外,用处不大。

常见进程:

lPMON:1)进程监视器负责在出现异常中止之后完成清理。例如,如果专用服务器“失败”或由于每种原因被撤销,就要由PMON进程负责修正,并释放资源。PMON会回滚未提交的工作,并释放为失败进程分配的SGA资源。

2)PMON还负责监视其它ORACLE后台进程,并在必要时重启这些后台进程。

3)PMON还会向ORACLE TNS监听器注册实例信息。

lSMON:SMON负责系统监视已经一些系统清理及恢复工作,这些工作主要包括:1.清理临时空间以及临时段SMON负责在数据库启动时清理临时表空间中的临时段,或者一些异常操作过程遗留下来的临时段,例如,当创建索引过程中,创建期间分配给索引的Segment被标志为TEMPORARY,如果Create Index(或rebuild

Index等)会话因某些原因异常中断,SMON负责清理这些临时段。2.接合空闲空间在DMT(字典管理表空间)中,SMON负责把那些在表空间中空闲的并且互相是邻近的Extent接合成一个较大的空闲扩展区,这需要表空间的pctincrease设置为非零值。3.执行实例恢复(Instance recovery)在实例恢复过程中,SMON的工作包括三个环节:应用Redo执行前滚、打开数据库提供访问、回滚未提交数据

4.离线(Offline)回滚段在自动回滚段管理(AUM)中负责Offline不再需要的回滚段,日志中会记录类似如下信息:

5.执行并行恢复

lCKPT:检查点进程并不像它的名字所暗示的那样真正的建立检查点,建立检查点主要是DBWn的任务。CKPT只是更新数据文件的文件首部,以辅助真正建立检查点的进程(DBWn).

lDBWn:负责将脏块写入磁盘的后台进程。

lLGWR:负责将SGA中重做日志缓冲区的内容刷新输出到磁盘。如果满足一下某个条件,就会做这个工作:

1)每3秒会刷新输出一次;

2)任何事务发出一个提交时;

3)重做日志缓冲区1/3满,或者已经包含1MB的缓冲数据

lARCn:将在线重做日志文件复制到至少两个位置,进行重做日志文件的冗余。用于完成介质恢复。

这些东西也都很简单,做一个简单汇总方便需要时查看。

ballontt

2013/3/14

----The

End---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值