ITPub博客

首页 > 数据库 > Oracle > oracle进程结构(转载)

oracle进程结构(转载)

Oracle 作者:yeah606 时间:2013-02-01 15:42:34 0 删除 编辑

一、启动数据
$sqlplus "sys/pass as sysdba"
sql>startup

二、启动监听器
  数据库启动后,如果未启动监听进程,则客户端无法与数据库连接。监听进程的启动方法为:
$lsnrctl start
在widnows中,可以从服务列表中启动监听器。
监听里程配置文件为listener.ora,位于目录/home/app/oracle/product/ 10.1.0/db1/network/admin/。
此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地址,端口号等;另一部分为监听程序所连接的数据库的实例信息,包括:实例名,全局数据库名,oracle主目录等。监听器可以利用oracle net config 向导来配置。
要显示监听器的运行状态:$lsnrctl status;
要停止监听器:$lsnrctl stop。

三、数据库的启动过程
  分为三个阶段:
1.
启动实例,包括以下操作:
1)
读取参数文件
2)
分配SGA
3)
启动后台进程

2.装载数据库
  装载数据库是将数据库与已启动的实例相联系。数据库装载后,数据库保持关闭状态。
3.打开数据库
  此步骤使用数据库可以进行正常的操作的处理。主要是打开控制文件,数据库文件和日志文件。

四、数据库启动参数
1.NOMOUNT:
只启动实例,不装载数据库
sql>startup nomount
2.MOUNT:
启动实例,并装载数据,但不打开数据库
sql>startup mount
3.READ ONLY:
将数据库置为只读
sql>startup mount
sql>alter database open read only
4.READ WRITE:
以可读写方式打开数据,这是默认方式
sql>startup mount
sql>alter database open read write
5.OPEN:
打开数据库,这是默认方式
sql>startup mount
sql>alter database open;
6.RESTRICT:
以受限方式打开,只有具有RESTRICTED SESSION权限的用户才可以连接数据库
sql>startup restrict
7.PFILE:
启时指定参数文件
sql>startup pfile=/u02/user/mypfile.ora
8.FORCE:
以强制方式启动数据库
sql>startup pfile=/u02/user/mypfile.ora open restrict force

五、数据库的关闭
  与启动过程相对应,关闭包括三个过程
1).关闭数据库
2).卸载数据库
3).关闭数据库实例

1.NORMAL关闭方式
  NORMAL关闭方式是正常关闭方式,是默认关闭方式。在这种关机方式下,数据库服务器必须等待所有客户端从Oracle中正常退出时,才可以关闭数据库。
SQL>SHUTDOWN NORMAL
2.IMMEDIATE关闭方式
  使用这种方式关闭数据库时,系统将连接到数据库的所有用户尚未提交的事务全部回退,中断连接,然后关闭数据库。
SQL>SHUTDOWN IMMEDIATE
3.ABORT关闭方式
  ABORT关闭方式为异常方式,使用这种方式关闭数据库时,系统立即将数据库实例关闭,对事务膛数据完整性不作检查。是最快的关机方式。
sql>shutdown abort;
4.TRANSACTIONAL关闭方式
  在这种关机方式中,数据库必须等待所有的客户运行的事务结束,提交或回退。
sql>shutdown transactional

 

 

分为三种类型进程:

一、 user process

Started at the time a database user requests connection

to the Oracle server

指Oracle客户端进程。比如常用的Oracle的SQLPLUS最常用的客户端进程

二、 Server process

Connects to the Oracle instance and is started when a user establishes a session

主要负责客户端连接后台的服务器,后台就必须有个server process的进程

前台有个user process 后台就必须有个server process来对应。

三、 Background processes

       Started when an oracle instance is started

      Background processes是oracle instance的核心

它们三个的关系我们可以简单举例说明更便于理解:

oracle相当于信息化工厂,Background process相当于生产线工作的工人,server process相当工厂销售科的人 ,user process相当于客户。客户下单必须先找销售科,工厂销售科的然后下单给工人;user process 连接到后台就相当于客户下订单,你发出一个请求那么后台必须启动一个server process 处理你的请求。

下面我们来了解下background processes下必须的五个进程和一个重要的可选的进程

Mandatory background processes:

1、 DBWn   数据库书写器进程(n表示数字从0开始)表示有多个进程

通常中小型的一般需要一个DBWn就可以了。DBWn可以最多有20个

Database writer 工作最繁重的一个

Database buffer cache 通过DBWn写进data files

内存中已更新数据页达到总数据缓冲区的40%时,数据库书写器就被激活,将脏数据写入磁盘。该百分比为系统的缺省设置,不允许用户修改

2 、PMON(process Moniter 进程监控进程)

监控各个进程的,监测它们的运行状况。如果发现失败的就重新收回这些进程的使用资源;如果发现失效的系统后台进程,就重新启动这些后台进程。这个也是oracel系统自行管理的不用用户进行配置。

3、CKPT(checkpoint 检查点进程)

它做的工作相对轻量级的,早期它的工作是由LGWR来完成的。

用来监测数据的更新、根据已更新的数据的数量、来决定何时启动检查点操作,除了写入检查点信息还要使用检查点信息修改控制文件以及数据文件的文件头。

4、LGWR(日志书写器进程)

是把redo log buffer 通过LGWR 写进 redo log files ,下列事件也将触发日志书写器的磁盘写操作

LGWR writes:

At commit(事务提交)

When one-third full(重做日志内存缓冲区中的三分之一已经被使用)

When there is 1 MB of redo(写入重做日志缓冲区中的日志信息已经超过 1M字节)

Every three seconds(每间隔三秒钟)

Before DBWn writes(在DBWn书写器写进去之前)

5、SMON(system monitor 系统监控进程,相当于工厂的清洁员)

主要应用于:Instance recovery(oracle工作突然跨掉了,下次启动时没有释放的资源都   用SMON进行清理)

Opens database for user access

Rolls back uncommitted transaction(事务失败)

Coalesces free space(合并自由空间)

Deallocates temporary segments(回收不再使用临时段)

6、Archiver(ARCn)归档进程

虽然是可选的,但几乎通常是必选的是非常重要的。

Redo log file 是一个循环,它是一件文件,这些文件组成一个圈,你从头开始写,写到尾后再重新开始写,它就会把以前的信息覆盖掉,那么在覆盖之前你可以通过ARCn这个进程把它老的信息写进归档进程中,它的工作主要做这个。几乎所有的生产数据库都是运行在ARCn中。

ps –ef

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23661522/viewspace-1118126/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-04-05

  • 博文量
    1
  • 访问量
    469