Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2796335
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2014-03-29 21:31:59

                                      TimesTen进程种类详解

   timesten的进程种类主要分为以下几种:daemon,subdaemon,ttcserver(listener),ttcserver(用户),
timestenrepd(replication agent,可选)和timestenorad(cache agent,可选).

   timesten的daemon是tt的主要后台进程;主要负责的工作有启动subdaemon,ttcserver(listener),
内存管理的policy(inuse,manual,alawy)和共享内存的请求,进程的恢复和启动相应的agent.
一般通过ttdaemonadmin 来进行管理,

如 启动
[timesten@master1 info]$ ttdaemonadmin -start

[timesten@master1 info]$ ps -eaf | grep timestend

timesten  3084     1  0 Mar28 ?        00:00:36 /opt/timesten/TimesTen/tt1122/bin/timestend -initfd 13

  subdaemon进程由daemon启动, 这个进程用来管理某个DSN,是一个多线程的进程结构,主要的功能有
checkpoint,刷新log buffer到磁盘上,执行aging策略,moinit和死锁检测等等各种数据库后台的功能.
一般subdaemon进程不需要人为去的启动,由ttdaemon自动启动.

通过ttstatus可以看到当前的subdeamon的线程

[timesten@master1 info]$ ttstatus | grep Subdaemon
Subdaemon       3091    0x0000000017774ce0  Manager                        2047
Subdaemon       3091    0x00000000177ebc10  Rollback                       2046
Subdaemon       3091    0x0000000018b56950  Flusher                        2045
Subdaemon       3091    0x0000000018bcbc40  Monitor                        2044
Subdaemon       3091    0x0000000018c20740  Deadlock Detector              2043
Subdaemon       3091    0x0000000018c75240  Checkpoint                     2042
Subdaemon       3091    0x0000000018cc9d40  Aging                          2041
Subdaemon       3091    0x0000000018d1e840  Log Marker                     2040
Subdaemon       3091    0x0000000018d73340  AsyncMV                        2039
Subdaemon       3091    0x0000000018dc7e40  HistGC                         2038
Subdaemon       3091    0x0000000018e1c940  IndexGC                        2037


 ttcserver(listener)该进程主要要是侦听用户请求,然后通根据用户请求的DSN转发到相应的
subdaemon,这个进程为每个连接生成一个ttcserver进程来执行应用程序的各种请求.类似于oracle
数据库的listener进程.

[timesten@master1 info]$ netstat -nltp | grep ttcserver
tcp        0      0 0.0.0.0:53397               0.0.0.0:*                   LISTEN      3093/ttcserver

default配置,该进程在53397的端口上侦听,用户可以通过ttmodinstall来进行修改.


ttcserver(用户)这种进程是具体负责执行应用程序请求的进程,比如执行sql,读取数据等等,由ttcserver(listener)负责启
动.类似于oracle数据库的前台进程。


timestenrepd和timestenorad进程负责实服务器之前的复制和IMDB的相关功能.这两个进程也是多线程结构

[timesten@master1 info]$ ttstatus | grep Replication
Replication     4713    0x000000000f3a1120  FAILOVER:1094740288            2033
Replication     4713    0x000000000f3fdd30  REPLISTENER:1101039936         2035
Replication     4713    0x000000000f426020  REPHOLD:1091590464             2034
Replication     4713    0x000000000f503660  LOGFORCE:1106405696            2032
Replication     4713    0x000000000f558160  TRANSMITTER(M):1109555520      2030
Replication     4713    0x000000000f5acc60  TRANSMITTER(M):1112705344      2031
Replication     4713    0x000000000f650480  RECEIVER:1115855168            2029
Replication     4713    0x00002aadbc0008c0  XLA_PARENT:1097890112          2036


[timesten@master1 info]$ ttstatus | grep Cache
Cache Agent     4729    0x0000000014996340  Handler                           2
Cache Agent     4729    0x0000000014afc930  Timer                             3
Cache Agent     4729    0x0000000014c298b0  BMReporter(1098672448)            5
Cache Agent     4729    0x0000000014f79f90  Marker(1105254720)                4
Cache Agent     4729    0x000000001532c390  LogSpaceMon(1092266304)           8
Cache Agent     4729    0x00002aadc808f260  Refresher(S,30000)                6
Cache Agent     4729    0x00002aadc838cc60  Refresher(S,3000)                 7

现在来对用户请求的流程做一个总结:1,用户或os脚本启动daedmon;2,daemon根据配置启动N个subdaemon,在11.2.1
默认为4;3,daemon启动一个ttcserver(listener),ttcserver(listener)在53397的端口上侦听接收用户请求;
4,第一次连接只能是能instance管理员身体连接,当连接请求到达listener时,listener转到请求到daemon;
5,daemon从subdaemon池中选择一个空闲的subdaemon负责管理和加载请求的DSN;6,tcserver(listener)接收
普通的用户连接请求,生成相应的ttcserver(用户)进程,负责处理用户的请求.


    

 

阅读(5632) | 评论(0) | 转发(0) |
0

上一篇:MySQL的plugin

下一篇:Xtrabackup备份工具(一)

给主人留下些什么吧!~~