/home/altibase>server start
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 4.3.9.145
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20302
Trying connect to database server. Connected with database server.
TRANSITION TO PHASE : PROCESS ## 启动ALTIIBAASE进程
TRANSITION TO PHASE : CONTROL ## 加载控制文件LOGANCHOR
TRANSITION TO PHASE : META
[SM] Recovery Phase - 1 : Preparing Database ## 初始化内存区域
[SM] Recovery Phase - 2 : Loading Database
: Dynamic Memory Version => Loading Type-2 ## 从两个磁盘目录dbs0和dbs1加载数据文件到内存,这这里两个目录是并行加载的。
[SM] Recovery Phase - 3 : Starting Recovery
Initializing Active Transaction List ## 初始化活动事务列表
Redo ## 根据redo 日志做前滚操作,恢复事务到崩溃前的那一刻。
...*....*....*..
Refine Disk Table.. ## 回收磁盘中无效的多版本信息。
Undo ## 根据redo日志做回滚操作,撤销未提交的变更。
[SM] Refine Memory Table : ...................... [SUCCESS] ## ## 回收内存中无效的多版本信息。
[SM] Rebuilding Indices [Total Count:123] ***********........... [SUCCESS] ## 重建索引。
TRANSITION TO PHASE : SERVICE
No IPC Initialize : Disabled
--- STARTUP Process SUCCESS ---
Command execute success.
elapsed time : 214.92
问题1:
Initializing Active Transaction List,这个列表从哪里来的?做什么用??
问题2:
Refine Disk Table和Refine Memory Table有什么区别?他们之间是什么关系?
问题3:
Undo 具体是怎么操作的?难道再遍历一遍所有之前的redo,查找所有的事务信息是否已经提交?还是根据上面问题1中的事务信息来查找?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10867315/viewspace-578350/
,如需转载,请注明出处,否则将追究法律责任。