- 浏览: 243435 次
最新评论
[size=small]oracle的主要进程
Oracle实例:
Oracle实例包括一组后台进程以及这些进程所共享的内存,这些后台进程及其共享内存合起来就构成了Oracle实例.
Oracle数据库服务器:
Oracle实例和数据库合起来又构成了Oracle数据库服务器.
[oracle@oratest archivelog]$ ps -ef|grep ora
oracle 5136 1 0 Dec15 ? 00:00:04 /u01/oracle/bin/tnslsnr tinadb -inherit
oracle 8292 1 0 Dec15 ? 00:00:08 ora_pmon_tinadb --pmon进程
oracle 8294 1 0 Dec15 ? 00:00:08 ora_psp0_tinadb
oracle 8296 1 1 Dec15 ? 00:11:56 ora_vktm_tinadb
oracle 8300 1 0 Dec15 ? 00:00:01 ora_gen0_tinadb
oracle 8302 1 0 Dec15 ? 00:00:03 ora_diag_tinadb
oracle 8304 1 0 Dec15 ? 00:00:02 ora_dbrm_tinadb
oracle 8306 1 0 Dec15 ? 00:00:26 ora_dia0_tinadb
oracle 8308 1 0 Dec15 ? 00:00:04 ora_mman_tinadb
oracle 8310 1 0 Dec15 ? 00:00:02 ora_dbw0_tinadb --dbwn进程
oracle 8312 1 0 Dec15 ? 00:00:10 ora_lgwr_tinadb --lgwr进程
oracle 8314 1 0 Dec15 ? 00:00:11 ora_ckpt_tinadb --ckpt进程
oracle 8316 1 0 Dec15 ? 00:00:02 ora_smon_tinadb --smon进程
oracle 8318 1 0 Dec15 ? 00:00:00 ora_reco_tinadb --reco进程
oracle 8320 1 0 Dec15 ? 00:00:11 ora_mmon_tinadb
oracle 8322 1 0 Dec15 ? 00:00:20 ora_mmnl_tinadb
oracle 8324 1 0 Dec15 ? 00:00:00 ora_d000_tinadb
oracle 8326 1 0 Dec15 ? 00:00:00 ora_s000_tinadb
oracle 8423 1 0 Dec15 ? 00:00:01 ora_arc0_tinadb --ARCn进程
oracle 8425 1 0 Dec15 ? 00:00:00 ora_arc1_tinadb --ARCn进程
oracle 8427 1 0 Dec15 ? 00:00:01 ora_arc2_tinadb --ARCn进程
oracle 8429 1 0 Dec15 ? 00:00:00 ora_arc3_tinadb --ARCn进程
oracle 8448 1 0 Dec15 ? 00:00:02 ora_smco_tinadb
root 9883 9838 0 10:25 pts/0 00:00:00 su - oracle
oracle 9884 9883 0 10:25 pts/0 00:00:00 -bash
oracle 9904 1 0 10:25 ? 00:00:01 oracletinadb (LOCAL=NO) ---
oracle 9908 1 0 10:26 ? 00:00:00 oracletinadb (LOCAL=NO)
oracle 9937 9884 0 10:48 pts/0 00:00:00 sqlplus as sysdba
oracle 9938 9937 0 10:48 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 9944 9854 0 10:50 pts/1 00:00:00 su - oracle
oracle 9945 9944 0 10:50 pts/1 00:00:00 -bash
root 9969 9870 0 10:51 pts/2 00:00:00 su - oracle
oracle 9970 9969 0 10:51 pts/2 00:00:00 -bash
oracle 9993 1 0 10:51 ? 00:00:00 ora_w000_tinadb
oracle 10004 9945 0 10:55 pts/1 00:00:01 rman target /
oracle 10009 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10011 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10012 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10039 1 0 11:01 ? 00:00:00 ora_w001_tinadb
这些都是oracle后台进程,不同的进程有不同的任务,对应不同的日志。
一、命名规则:ora_进程名称_SID
二、简单归纳:
SMON 系统监控进程
CKPT 检查点进程
LGWR 写日志进程
PMON 程序监控进程
ARCH 归档日志进程
DBW0 数据写进程
三、进程详细作用:
1、 PMON (The Process Monitor) 进程监控器:
PMON进程负责监视数据库的处理情况,并负责清除死掉的进程。PMON还负责重启失败的调度进
程(dispatcher process)
主要负责连接非正常中断后的清除工作,PMON负责释放相应的资源。PMON将回滚没有提交的工作,释放锁,释放分配给这个失败进程的Free SGA资源。
除了清理失败的连接之外,PMON还负责监控所有其它的Oracle后台进程,在必要的时候恢复或撤销其他进程,释放资源。比如一个 shared server或者
一个dispatcher fail的话, PMON将跟进,重起另一个相应的进程。如我们kill 掉oracle日志写进程,PMON会及时监控到,并shutdown数据库。
另一个作用是向Oracle TNS 监听器注册实例。实例启动时,PMON进程会询问公认的端口地址(除非直接指定),来查看是否启动并运行了一个监听器
2、 SMON (The System Moniter) 系统监控器
SMON进程负责在实例启动时恢复实例,包括清除临时段以及恢复因系统崩溃而中断的事物。
SMON还可以通过合并空闲分区的方式清除数据库中的碎片
主要负责其它进程不想处理的工作的进程,是数据库的一种“垃圾回收站”,主要包括:
2.1)临时空间的清除;
比如创建索引失败时,SMON将负责清除在创建索引过程当中分配出来的Temporary extent.
2.2)崩溃恢复;
2.3)Coalescing free space;
这个是在字典管理的表空间才会有的,SMON将表空间中连续的空闲的extent,合并成一个大的free extent.这只能发生在字典管理的表空间,
并且pctincrease 被设置成非零的时候。
2.4)Recovering transactions active against unavailable files;
2.5)OPS中失败节点的实例恢复;在OPS中,当一个节点Fail,其它节点将打开失败节点的重做日志,对失败节点执行恢复(注意:实例恢复和崩溃恢复的区别)。
2.6)清除OBJ$;
2.7)Shrinks 回滚段;如果设置了Optimal,那么SMON将执行自动 Shrink 回滚段到Optimal 大小。
2.8)脱机 回滚段;
举个例子,比如在切换回滚表空间的时候,由于可能之前的回滚表空间中有活动的事务,所以回滚表空间中的一些回滚段可能并不是真正的脱机,而只是标志为" Pending offline",
要等到活动事务提交或回滚之后,相应的回滚段才算真正的脱机,而SMON则周期性的在后台去真正的脱机回滚段,直到回滚段真正的脱机为止。
3、CKPT (Checkpoint Process)
CKPT进程并不像它的名字暗示的那样会进行一个checkpoint事件,它只是更新数据文件头。
Oracle 8.0之前,CKPT是一个可选进程,之后就总是开启的了,更新数据文件头在CKPT出现之前这是LGWR的任务,但是后来随着文件数量增大,
这个LGWR的附加任务变得太大而成为负担。于是就出现了CKPT,由CKPT分担着这部分任务。
进程负责向DBWR进程发送信号,要求执行一次检查点,并更新数据库的所有数据和控制文件。
CheckPoint(检查点),是指有DBWR进程将所有修改过的数据缓冲区写回数据文件,以辅助真正建立检查点的进程(DBWn)
4、DBWn (Database Block Writer)
DBWn是一个负责将dirty blocks写到磁盘的后台进程,通常将dirty blocks写到磁盘是为了腾空更多的空闲空间(为了其它数据的读而释放缓冲区),
或者advance 一个检查点事件(也就是在发生故障实例恢复时, 将联机重做日志中Oracle开始读取的位置前移以节省实例恢复的时间),Log Switch
会触发一个Checkpoint,Oracle需要advance这个Checkpoint以至于在实例恢复时不需要这个刚被填满的online redo log,假如在重用这个日志之前,
不能完成这个advance Checkpoint的操作,则我们在alert将发现"Checkpoint not Compelete"信息,并且必须等待这个事件的完成。
当一个事务修改数据块中的数据以后,不需要立即将数据块写回磁盘。由于Oracle所采用的先进机制,修改后的数据可以不用立即写回,
并且及时出现故障也不会丢失。因此,DBWR可以采取更有效写回方式,而不用再事务提交完之后立即写回。DBWR通常定时写回数据,除非数据缓冲区
需要清空或已满。
数据写回时,采用了最近最少使用原则(least-recently-used).对于支持异步I/O的系统,只需使用一个BWR进程即可,对不支持
异步IO的可以通过增加DBWR的个数来提升效率。
5、LGWR (Log Writer)
LGWR负责将日志缓冲区中的数据Redo log buffer (位于SGA中)写入重做日志。由于COMMIT操作依赖于LGWR写回日志(commit操
作触发LGWR将日志缓冲区数据写入UNDO日志),因此系统性能容易受到LGWR的影响。
下面几种情况将会触发LGWR写log buffer:
5.1每三秒会刷新输出一次;
5.2当用户commit时;
5.3当重做日志缓冲区 1/3满 或者包含1M 的缓冲数据时。
由于上面的原因,使用一个大于3M的重做日志缓冲区是不实际的——Oralce永远无法完全使用它。与DBWn必须执行分散的I/O 不同,
重做日志是以顺序写入的方式写入的,这样执行大量的批写入更加有效率。
6、ARCn (Archive Process)
ARCH(the Archiver Process )负责将在线重做日志online redo log复制到归档存储器。这些归档日志可以用来处理Media Recovery.
比如你的system01.dbf文件丢失,那么你可以利用你一周前的备份,Restore 该数据文件。然后请求数据库应用从备份开始后的所有的归档日志和在线
日志文件,这样的话,该数据文件就可以“追”上数据库中的其它的数据文件,然后我们可以继续processing,而不会丢失数据。
实际上,备份是baseline,而日志是一种数据流,指向到系统crash的点,两者共同使用才能回到当前点
进档RDBMS运行在ARCHIVELOG模式时ARCH才有效,如果
系统没有运行在ARCHIVELOG模式,则系统失效后可能无法恢复。系统运行在ARCHIVELOG模式下,此时归档进程可能有多个。
SQL>archive log list //查看是否为归档模式
可以再数据库Mount 模式下开启归档
SQL>alter database archivelog; //开启
SQL>alter database noarchivelog;//关闭
7、RECO (Distributed Database Recovery)
RECO (the Recovery Process)进程用于清除分布式数据库中的未决(pending)事务,它负责分布式事务中本地部分的提交与回滚
8、cjq0 Job Queue Processes
用于对job的协调,管理
(1)当配置job_queue_processes时,会有Jnnn和CJQ0进程;
(2)Jnnn进程最多可有1000个;
(3)Jnnn进程在job之间是共享的,但同时每个Jnnn只能执行一个job,并且它使用的内存是在UGA中;
(4)物化试图的刷新一般要用到job;
(5)streams一般用到AQ;
(6)CJQ0,做为jnnn的coordinator,它来控制jnnn的启动和关闭;
(7)Jnnn进程只会在有job需要处理时才会启动;
9、 MMON,MMNL,Mnnn:Manageability Monitors
(1)用于AWR(autmatic workload repository);
(2)MMNL负责将SGA中的统计信息写入到表中;
(3)MMON监控数据库性能,进行自动调优;
(4)Mnnn属于MMON的帮手,帮助进行调优工作。
10、QMNC and Qnnn Processes:Job Queue
(1)用于AQ功能;
(2)Qnnn处理每个message queue,QMNC做为Qnnn的coordinator;
(3)如果配置了aq_tm_processes,就会启动QMNC和Qnnn进程,不论有没有queue要处理,Qnnn都会全部启动;
11、Pnnn 并行进程,启动了并存处理的时候会有(并行查询,并行dml,并行ddl,并行回滚)
[/size]
Oracle实例:
Oracle实例包括一组后台进程以及这些进程所共享的内存,这些后台进程及其共享内存合起来就构成了Oracle实例.
Oracle数据库服务器:
Oracle实例和数据库合起来又构成了Oracle数据库服务器.
[oracle@oratest archivelog]$ ps -ef|grep ora
oracle 5136 1 0 Dec15 ? 00:00:04 /u01/oracle/bin/tnslsnr tinadb -inherit
oracle 8292 1 0 Dec15 ? 00:00:08 ora_pmon_tinadb --pmon进程
oracle 8294 1 0 Dec15 ? 00:00:08 ora_psp0_tinadb
oracle 8296 1 1 Dec15 ? 00:11:56 ora_vktm_tinadb
oracle 8300 1 0 Dec15 ? 00:00:01 ora_gen0_tinadb
oracle 8302 1 0 Dec15 ? 00:00:03 ora_diag_tinadb
oracle 8304 1 0 Dec15 ? 00:00:02 ora_dbrm_tinadb
oracle 8306 1 0 Dec15 ? 00:00:26 ora_dia0_tinadb
oracle 8308 1 0 Dec15 ? 00:00:04 ora_mman_tinadb
oracle 8310 1 0 Dec15 ? 00:00:02 ora_dbw0_tinadb --dbwn进程
oracle 8312 1 0 Dec15 ? 00:00:10 ora_lgwr_tinadb --lgwr进程
oracle 8314 1 0 Dec15 ? 00:00:11 ora_ckpt_tinadb --ckpt进程
oracle 8316 1 0 Dec15 ? 00:00:02 ora_smon_tinadb --smon进程
oracle 8318 1 0 Dec15 ? 00:00:00 ora_reco_tinadb --reco进程
oracle 8320 1 0 Dec15 ? 00:00:11 ora_mmon_tinadb
oracle 8322 1 0 Dec15 ? 00:00:20 ora_mmnl_tinadb
oracle 8324 1 0 Dec15 ? 00:00:00 ora_d000_tinadb
oracle 8326 1 0 Dec15 ? 00:00:00 ora_s000_tinadb
oracle 8423 1 0 Dec15 ? 00:00:01 ora_arc0_tinadb --ARCn进程
oracle 8425 1 0 Dec15 ? 00:00:00 ora_arc1_tinadb --ARCn进程
oracle 8427 1 0 Dec15 ? 00:00:01 ora_arc2_tinadb --ARCn进程
oracle 8429 1 0 Dec15 ? 00:00:00 ora_arc3_tinadb --ARCn进程
oracle 8448 1 0 Dec15 ? 00:00:02 ora_smco_tinadb
root 9883 9838 0 10:25 pts/0 00:00:00 su - oracle
oracle 9884 9883 0 10:25 pts/0 00:00:00 -bash
oracle 9904 1 0 10:25 ? 00:00:01 oracletinadb (LOCAL=NO) ---
oracle 9908 1 0 10:26 ? 00:00:00 oracletinadb (LOCAL=NO)
oracle 9937 9884 0 10:48 pts/0 00:00:00 sqlplus as sysdba
oracle 9938 9937 0 10:48 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
root 9944 9854 0 10:50 pts/1 00:00:00 su - oracle
oracle 9945 9944 0 10:50 pts/1 00:00:00 -bash
root 9969 9870 0 10:51 pts/2 00:00:00 su - oracle
oracle 9970 9969 0 10:51 pts/2 00:00:00 -bash
oracle 9993 1 0 10:51 ? 00:00:00 ora_w000_tinadb
oracle 10004 9945 0 10:55 pts/1 00:00:01 rman target /
oracle 10009 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10011 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10012 10004 0 10:55 ? 00:00:00 oracletinadb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 10039 1 0 11:01 ? 00:00:00 ora_w001_tinadb
这些都是oracle后台进程,不同的进程有不同的任务,对应不同的日志。
一、命名规则:ora_进程名称_SID
二、简单归纳:
SMON 系统监控进程
CKPT 检查点进程
LGWR 写日志进程
PMON 程序监控进程
ARCH 归档日志进程
DBW0 数据写进程
三、进程详细作用:
1、 PMON (The Process Monitor) 进程监控器:
PMON进程负责监视数据库的处理情况,并负责清除死掉的进程。PMON还负责重启失败的调度进
程(dispatcher process)
主要负责连接非正常中断后的清除工作,PMON负责释放相应的资源。PMON将回滚没有提交的工作,释放锁,释放分配给这个失败进程的Free SGA资源。
除了清理失败的连接之外,PMON还负责监控所有其它的Oracle后台进程,在必要的时候恢复或撤销其他进程,释放资源。比如一个 shared server或者
一个dispatcher fail的话, PMON将跟进,重起另一个相应的进程。如我们kill 掉oracle日志写进程,PMON会及时监控到,并shutdown数据库。
另一个作用是向Oracle TNS 监听器注册实例。实例启动时,PMON进程会询问公认的端口地址(除非直接指定),来查看是否启动并运行了一个监听器
2、 SMON (The System Moniter) 系统监控器
SMON进程负责在实例启动时恢复实例,包括清除临时段以及恢复因系统崩溃而中断的事物。
SMON还可以通过合并空闲分区的方式清除数据库中的碎片
主要负责其它进程不想处理的工作的进程,是数据库的一种“垃圾回收站”,主要包括:
2.1)临时空间的清除;
比如创建索引失败时,SMON将负责清除在创建索引过程当中分配出来的Temporary extent.
2.2)崩溃恢复;
2.3)Coalescing free space;
这个是在字典管理的表空间才会有的,SMON将表空间中连续的空闲的extent,合并成一个大的free extent.这只能发生在字典管理的表空间,
并且pctincrease 被设置成非零的时候。
2.4)Recovering transactions active against unavailable files;
2.5)OPS中失败节点的实例恢复;在OPS中,当一个节点Fail,其它节点将打开失败节点的重做日志,对失败节点执行恢复(注意:实例恢复和崩溃恢复的区别)。
2.6)清除OBJ$;
2.7)Shrinks 回滚段;如果设置了Optimal,那么SMON将执行自动 Shrink 回滚段到Optimal 大小。
2.8)脱机 回滚段;
举个例子,比如在切换回滚表空间的时候,由于可能之前的回滚表空间中有活动的事务,所以回滚表空间中的一些回滚段可能并不是真正的脱机,而只是标志为" Pending offline",
要等到活动事务提交或回滚之后,相应的回滚段才算真正的脱机,而SMON则周期性的在后台去真正的脱机回滚段,直到回滚段真正的脱机为止。
3、CKPT (Checkpoint Process)
CKPT进程并不像它的名字暗示的那样会进行一个checkpoint事件,它只是更新数据文件头。
Oracle 8.0之前,CKPT是一个可选进程,之后就总是开启的了,更新数据文件头在CKPT出现之前这是LGWR的任务,但是后来随着文件数量增大,
这个LGWR的附加任务变得太大而成为负担。于是就出现了CKPT,由CKPT分担着这部分任务。
进程负责向DBWR进程发送信号,要求执行一次检查点,并更新数据库的所有数据和控制文件。
CheckPoint(检查点),是指有DBWR进程将所有修改过的数据缓冲区写回数据文件,以辅助真正建立检查点的进程(DBWn)
4、DBWn (Database Block Writer)
DBWn是一个负责将dirty blocks写到磁盘的后台进程,通常将dirty blocks写到磁盘是为了腾空更多的空闲空间(为了其它数据的读而释放缓冲区),
或者advance 一个检查点事件(也就是在发生故障实例恢复时, 将联机重做日志中Oracle开始读取的位置前移以节省实例恢复的时间),Log Switch
会触发一个Checkpoint,Oracle需要advance这个Checkpoint以至于在实例恢复时不需要这个刚被填满的online redo log,假如在重用这个日志之前,
不能完成这个advance Checkpoint的操作,则我们在alert将发现"Checkpoint not Compelete"信息,并且必须等待这个事件的完成。
当一个事务修改数据块中的数据以后,不需要立即将数据块写回磁盘。由于Oracle所采用的先进机制,修改后的数据可以不用立即写回,
并且及时出现故障也不会丢失。因此,DBWR可以采取更有效写回方式,而不用再事务提交完之后立即写回。DBWR通常定时写回数据,除非数据缓冲区
需要清空或已满。
数据写回时,采用了最近最少使用原则(least-recently-used).对于支持异步I/O的系统,只需使用一个BWR进程即可,对不支持
异步IO的可以通过增加DBWR的个数来提升效率。
5、LGWR (Log Writer)
LGWR负责将日志缓冲区中的数据Redo log buffer (位于SGA中)写入重做日志。由于COMMIT操作依赖于LGWR写回日志(commit操
作触发LGWR将日志缓冲区数据写入UNDO日志),因此系统性能容易受到LGWR的影响。
下面几种情况将会触发LGWR写log buffer:
5.1每三秒会刷新输出一次;
5.2当用户commit时;
5.3当重做日志缓冲区 1/3满 或者包含1M 的缓冲数据时。
由于上面的原因,使用一个大于3M的重做日志缓冲区是不实际的——Oralce永远无法完全使用它。与DBWn必须执行分散的I/O 不同,
重做日志是以顺序写入的方式写入的,这样执行大量的批写入更加有效率。
6、ARCn (Archive Process)
ARCH(the Archiver Process )负责将在线重做日志online redo log复制到归档存储器。这些归档日志可以用来处理Media Recovery.
比如你的system01.dbf文件丢失,那么你可以利用你一周前的备份,Restore 该数据文件。然后请求数据库应用从备份开始后的所有的归档日志和在线
日志文件,这样的话,该数据文件就可以“追”上数据库中的其它的数据文件,然后我们可以继续processing,而不会丢失数据。
实际上,备份是baseline,而日志是一种数据流,指向到系统crash的点,两者共同使用才能回到当前点
进档RDBMS运行在ARCHIVELOG模式时ARCH才有效,如果
系统没有运行在ARCHIVELOG模式,则系统失效后可能无法恢复。系统运行在ARCHIVELOG模式下,此时归档进程可能有多个。
SQL>archive log list //查看是否为归档模式
可以再数据库Mount 模式下开启归档
SQL>alter database archivelog; //开启
SQL>alter database noarchivelog;//关闭
7、RECO (Distributed Database Recovery)
RECO (the Recovery Process)进程用于清除分布式数据库中的未决(pending)事务,它负责分布式事务中本地部分的提交与回滚
8、cjq0 Job Queue Processes
用于对job的协调,管理
(1)当配置job_queue_processes时,会有Jnnn和CJQ0进程;
(2)Jnnn进程最多可有1000个;
(3)Jnnn进程在job之间是共享的,但同时每个Jnnn只能执行一个job,并且它使用的内存是在UGA中;
(4)物化试图的刷新一般要用到job;
(5)streams一般用到AQ;
(6)CJQ0,做为jnnn的coordinator,它来控制jnnn的启动和关闭;
(7)Jnnn进程只会在有job需要处理时才会启动;
9、 MMON,MMNL,Mnnn:Manageability Monitors
(1)用于AWR(autmatic workload repository);
(2)MMNL负责将SGA中的统计信息写入到表中;
(3)MMON监控数据库性能,进行自动调优;
(4)Mnnn属于MMON的帮手,帮助进行调优工作。
10、QMNC and Qnnn Processes:Job Queue
(1)用于AQ功能;
(2)Qnnn处理每个message queue,QMNC做为Qnnn的coordinator;
(3)如果配置了aq_tm_processes,就会启动QMNC和Qnnn进程,不论有没有queue要处理,Qnnn都会全部启动;
11、Pnnn 并行进程,启动了并存处理的时候会有(并行查询,并行dml,并行ddl,并行回滚)
[/size]
发表评论
-
ETL工具--kettle简介
2016-02-24 11:21 0oracle ETL工具---数据迁移 常用的有:OWB(o ... -
oracle 游标实例
2015-12-31 17:23 1226oracle游标 游标-----内存 ... -
10053事件分析
2015-12-25 17:37 8161)10053介绍: 10053 事件是oracle 提供的用 ... -
oracle绑定变量学习
2015-12-25 17:01 1621绑定变量(binding variable) ... -
oracle 绑定变量
2015-12-24 17:26 0关键词: 绑定变量(binding variable),共享池 ... -
oracle插入大量数据
2015-12-23 17:35 1441oracle插入大量数据 1.生 ... -
ORA-03113:end-of-file on communication channel
2015-12-23 14:32 1179测试上面的一个库 plsql报错:shared memory ... -
oracle分区表【转】
2015-12-23 14:20 464oracle分区表 1.表空间及 ... -
迁移数据文件到ASM【转】
2015-12-23 11:53 8001.迁移数据文件到ASM 1) ... -
adrci命令
2015-12-23 11:46 3105一、adrci说明 在oracle11g中,dump ... -
用户+角色+权限
2015-12-21 17:58 925角色与用户权限的学习 ... -
oracle database link
2015-12-21 17:08 907目前我的数据库里只有tinadb一个实例,要创建db link ... -
oracle回收站
2015-12-21 14:22 461oracle回收站 1.drop table books; ... -
使用nid修改sid和dbname
2015-12-21 15:29 810如非必要,不建议在生产库上对dbid进行修改 1、修改dbi ... -
rman模拟故障恢复实验
2015-12-18 16:08 1187补充1:restore database和recover da ... -
rman命令学习-tina(下)
2015-12-18 16:07 1190五、rman删除 delete命令 删除相关的 ... -
rman命令学习-tina(上)
2015-12-18 16:06 919RMAN学习-tina rman的功能非常强大,下面我们来一 ... -
oracle profile介绍
2015-12-16 17:34 656profile文件的介绍: Oracle系统中的profi ... -
oracle缩小表空间
2015-12-18 16:59 1794oracle缩小表空间: oracle常用的此类命令Alte ... -
oracle数据库的启动和关闭【转】
2015-12-16 15:02 1175数据库的启动和关闭 Or ...
相关推荐
### Oracle服务进程如何处理用户进程的请求 Oracle数据库系统中,服务器进程负责处理来自客户端的各种请求,特别是SQL语句的执行。为了确保高效且安全地完成这些任务,Oracle设计了一系列复杂的内部机制。以下是对...
oracle手动启动,希望可以减少开机速度慢的问题
以下是 Oracle 12c 的主要后台进程: 1. PMON (Process Monitor):负责监控和管理数据库进程的生命周期。 2. PSP0 (Process Spawner):负责 spawn 新的服务器进程以响应客户端的连接请求。 3. Dnnn (Dispatchers):...
### Oracle杀僵死进程 在Oracle数据库管理过程中,经常会遇到僵死进程的问题,这些问题可能会导致数据库性能下降甚至无法正常运行。本文将详细介绍如何通过SQL查询定位僵死进程,并提供具体的解决方案,帮助解决如...
解决 Oracle 杀死死锁进程 Oracle 杀死死锁进程是数据库管理员经常遇到的问题,本文将介绍解决 Oracle 杀死死锁进程的方法。 在 Oracle 中,死锁是指两个或多个会话在等待对方释放资源,从而导致互相阻塞的情况。...
本章节将详细介绍Oracle进程体系结构的基本概念、主要组件及其工作原理。 #### 二、进程简介 在操作系统中,**进程**是一种能够运行一系列步骤的机制。这一机制的具体实现形式依赖于所使用的操作系统。例如: - ...
Oracle进程结构及后台进程简介简单介绍Oracle进程一些概念。
在Oracle数据库中,进程主要分为用户进程和服务器进程。用户进程是由数据库用户启动的,用于执行SQL语句和PL/SQL块。服务器进程则是由数据库实例管理的,它们与用户进程交互,处理用户请求。有时,进程可能会陷入...
下面我们将详细探讨其中的一些主要后台进程。 首先,数据库写进程(DBWRn)是负责将内存中的脏缓存块(即被修改但还未写入磁盘的数据块)写入数据文件的。DBWR进程使用LRU(最近最少使用)算法来决定哪些脏缓存块...
当安装好Oracle数据库之后,会自动运行几个Oracle服务进程,这些进程占用大量的内存空间,导致计算机运行卡顿甚至崩溃,直接运行批处理文件启动或关闭Oracle关联的服务进程,非常方便!
oracle手动关闭进程,希望可以减少开机速度慢的问题
Oracle 杀进程 Oracle 杀进程是数据库管理员在日常工作中经常遇到的问题,特别是在数据库性能不佳或会话被锁死的情况下。因此,了解如何杀掉 Oracle 会话非常重要。本文将从 Oracle 数据库系统和操作系统两个方面...
在深入探讨Oracle 11gR2 RAC(Real Application Clusters)的进程说明之前,我们首先需要理解Oracle Clusterware的基础概念以及它如何利用投票磁盘(Voting Disks)和Oracle Cluster Registry(OCR)来确保集群的...
多进程结构包括用户进程和Oracle进程,后者又细分为服务器进程和后台进程。 用户进程是用户应用程序的一部分,如PRO*C或SQL*PLUS,它们与服务器进程通信以执行SQL语句。服务器进程负责处理来自用户进程的请求,包括...
日志写入进程(LGWR),又称为Log Writer Process,是Oracle数据库中至关重要的进程之一,主要负责将事务提交后的重做日志(redo log)从内存中的重做日志缓冲区写入到物理重做日志文件中。LGWR的触发时机包括但不...
在Oracle数据库管理中,处理死锁进程和释放状态为killed的session是一项关键技能,尤其对于维护数据库性能和稳定性至关重要。以下将详细阐述如何通过一系列步骤有效地关闭Oracle死锁进程,以及如何释放状态为killed...
在Oracle GoldenGate实施过程中,抽取进程的合并与拆分是十分重要的一个环节。抽取进程(Extract process)是GoldenGate中的核心组件之一,负责捕获源数据库的事务日志,并生成用于数据复制的数据提取文件。为了满足...
### Oracle Kill 进程详解 #### 一、概述 在Oracle数据库管理中,有时会遇到因为某些进程长时间运行导致系统响应变慢的情况。在这种情况下,管理员可能需要采取措施来终止这些进程,即“Kill”进程。本文将详细...
Oracle数据库所有进程官方文档 Oracle数据库是一个复杂的关系数据库管理系统,它由多个进程组成,每个进程都承担着特定的任务。了解这些进程的作用和特点对于数据库的管理和维护非常重要。本文档将对Oracle数据库的...