查看: 18513|回复: 47

[精华] First active log file 何时更改???

[复制链接]
论坛徽章:
3
会员2007贡献徽章
日期:2007-09-26 18:42:102009新春纪念徽章
日期:2009-01-04 14:52:282009日食纪念
日期:2009-07-22 09:30:00
跳转到指定楼层
1#
发表于 2007-8-6 12:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实验如下:

第一步:打开数据库,并且记录当前在线log、归档log、First active log
[db2inst1@rh4 ~]$ db2 connect to TESTDB

   Database Connection Information

Database server        = DB2/LINUX 9.1.0
SQL authorization ID   = DB2INST1
Local database alias   = TESTDB

[db2inst1@rh4 ~]$ db2 get db cfg | grep First
First active log file                                   = S0000032.LOG
First log archive method                 (LOGARCHMETH1) = DISK:/log_arch/

在线目录下:
[root@rh4 NODE0000]# ll
total 119256
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000032.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000033.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000034.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000035.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000036.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000037.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000038.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000039.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000040.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:28 S0000041.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000042.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000043.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000044.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000045.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000046.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000047.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000048.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000049.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000050.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000051.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000052.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000053.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000054.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000055.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000056.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000057.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000058.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000059.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:39 S0000060.LOG
-rw-------  1 db2inst1 db2grp1     512 Aug  6 10:57 SQLLPATH.TAG


归档目录下:
[root@rh4 C0000000]# ll
total 117252
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 11:04 S0000000.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000001.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000002.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000003.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000004.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000005.LOG
-rw-r-----  1 db2inst1 db2grp1   24576 Aug  6 12:12 S0000006.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000007.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000008.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000009.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000010.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000011.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000012.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000013.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000014.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000015.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000016.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000017.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000018.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000019.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000020.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000021.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000022.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000023.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000024.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000025.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000026.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000027.LOG
-rw-r-----  1 db2inst1 db2grp1 3481600 Aug  6 12:27 S0000028.LOG
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 12:30 S0000029.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:37 S0000030.LOG
-rw-r-----  1 db2inst1 db2grp1 2818048 Aug  6 12:39 S0000031.LOG


第二步:做个大的Transaction、Commit

[db2inst1@rh4 ~]$ db2
(c) Copyright IBM Corporation 1993,2002
Command Line Processor for DB2 ADCL 9.1.0

You can issue database manager commands and SQL statements from the command
prompt. For example:
    db2 => connect to sample
    db2 => bind sample.bnd

For general help, type: ?.
For command help, type: ? command, where command can be
the first few keywords of a database manager command. For example:
? CATALOG DATABASE for help on the CATALOG DATABASE command
? CATALOG          for help on all of the CATALOG commands.

To exit db2 interactive mode, type QUIT at the command prompt. Outside
interactive mode, all commands must be prefixed with 'db2'.
To list the current command option settings, type LIST COMMAND OPTIONS.

For more detailed help, refer to the Online Reference Manual.

db2 => select count(*) from test

1         
-----------
     131072

  1 record(s) selected.

db2 => insert into test select * from test
DB20000I  The SQL command completed successfully.
db2 => commit
DB20000I  The SQL command completed successfully.
db2 => quit
DB20000I  The QUIT command completed successfully.


第三步:再次检查当前在线log、归档log、First active log
[root@rh4 NODE0000]# ll
total 123368
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000032.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000033.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000034.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000035.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000036.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000037.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000038.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000039.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000040.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:28 S0000041.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000042.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000043.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000044.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000045.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000046.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000047.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000048.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000049.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000050.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000051.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000052.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000053.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000054.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000055.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000056.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000057.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000058.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000059.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:39 S0000060.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000061.LOG
-rw-------  1 db2inst1 db2grp1     512 Aug  6 10:57 SQLLPATH.TAG

[root@rh4 C0000000]# ll
total 121364
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 11:04 S0000000.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000001.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000002.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000003.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000004.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000005.LOG
-rw-r-----  1 db2inst1 db2grp1   24576 Aug  6 12:12 S0000006.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000007.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000008.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000009.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000010.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000011.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000012.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000013.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000014.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000015.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000016.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000017.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000018.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000019.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000020.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000021.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000022.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000023.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000024.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000025.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000026.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000027.LOG
-rw-r-----  1 db2inst1 db2grp1 3481600 Aug  6 12:27 S0000028.LOG
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 12:30 S0000029.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:37 S0000030.LOG
-rw-r-----  1 db2inst1 db2grp1 2818048 Aug  6 12:39 S0000031.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000032.LOG

[db2inst1@rh4 ~]$ db2 get db cfg | grep First
First active log file                                   = S0000032.LOG
First log archive method                 (LOGARCHMETH1) = DISK:/log_arch/


此时已经生成了新的归档日志 S0000032.LOG
也已经commit了唯一的transaction,老的transaction已经结束,但是为什么数据库并不是同时切换 First active log 呢?而是要等到下次连接到数据库的时候再更新First active log ?


第四步:重新连接数据库,并且列出在线log、归档log和First active log信息

[db2inst1@rh4 ~]$ db2 connect to TESTDB

   Database Connection Information

Database server        = DB2/LINUX 9.1.0
SQL authorization ID   = DB2INST1
Local database alias   = TESTDB

[db2inst1@rh4 ~]$ db2 list active databases

                           Active Databases

Database name                              = TESTDB
Applications connected currently           = 1
Database path                              = /testdb/db2inst1/NODE0000/SQL00001/

[db2inst1@rh4 ~]$ db2 get db cfg | grep First
First active log file                                   = S0000034.LOG
First log archive method                 (LOGARCHMETH1) = DISK:/log_arch/

[root@rh4 NODE0000]# ll
total 119256
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000034.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000035.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000036.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000037.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000038.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000039.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:27 S0000040.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:28 S0000041.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000042.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000043.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000044.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000045.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000046.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000047.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000048.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000049.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000050.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000051.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000052.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000053.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000054.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000055.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000056.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000057.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000058.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:34 S0000059.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:39 S0000060.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000061.LOG
-rw-------  1 db2inst1 db2grp1 4202496 Aug  6 12:51 S0000062.LOG
-rw-------  1 db2inst1 db2grp1     512 Aug  6 10:57 SQLLPATH.TAG


[root@rh4 C0000000]# ll
total 124116
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 11:04 S0000000.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000001.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000002.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000003.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000004.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:07 S0000005.LOG
-rw-r-----  1 db2inst1 db2grp1   24576 Aug  6 12:12 S0000006.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000007.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000008.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000009.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000010.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:16 S0000011.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000012.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000013.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000014.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000015.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000016.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000017.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000018.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000019.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000020.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000021.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000022.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000023.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000024.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000025.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000026.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:25 S0000027.LOG
-rw-r-----  1 db2inst1 db2grp1 3481600 Aug  6 12:27 S0000028.LOG
-rw-r-----  1 db2inst1 db2grp1   12288 Aug  6 12:30 S0000029.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:37 S0000030.LOG
-rw-r-----  1 db2inst1 db2grp1 2818048 Aug  6 12:39 S0000031.LOG
-rw-r-----  1 db2inst1 db2grp1 4202496 Aug  6 12:44 S0000032.LOG
-rw-r-----  1 db2inst1 db2grp1 2809856 Aug  6 12:51 S0000033.LOG
[root@rh4 C0000000]#
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
2#
发表于 2007-8-6 13:57 | 只看该作者
如果正在使用日志归档,则当活动日志写完时,日志管理器将尝试归档它们。在某些情况下,如果数据库在日志管理器能够成功记录归档之前被取消激活,则日志管理器可能会在该数据库被激活时尝试再次归档日志。因此,一个日志文件会多次归档。
在归档过程中,当一个日志文件满时,即使该日志文件仍是活动的且需要用于正常的处理,仍将它传送至日志管理器。这使得数据的副本可以尽快地从易丢失数据的介质中转移。传递至日志管理器的日志文件保留在日志路径目录中,直到不再需要它用于正常处理为止。这样就复用了磁盘空间。
当日志文件已归档且不包含任何打开事务时,DB2不会删除该文件但在需要此类文件时将其重命名为下一个日志文件。这将改进性能,因为创建新的日志文件(而不是重命名文件)会写出所有页以保证有足够的磁盘空间。复用磁盘上的页比释放这些页再重新获得所需的页更有效率。

使用道具 举报

回复
论坛徽章:
3
会员2007贡献徽章
日期:2007-09-26 18:42:102009新春纪念徽章
日期:2009-01-04 14:52:282009日食纪念
日期:2009-07-22 09:30:00
3#
 楼主| 发表于 2007-8-6 14:29 | 只看该作者
在事务写日志、当前日志本身切换问题上和Oracle相比有着很大的区别,这一块还不是特别清楚

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
4#
发表于 2007-8-6 22:35 | 只看该作者
最初由 oract 发布
[B]在事务写日志、当前日志本身切换问题上和Oracle相比有着很大的区别,这一块还不是特别清楚 [/B]


oracle的我也忘光了

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
5#
发表于 2007-8-7 02:57 | 只看该作者
你只做了一条insert呀,怎么能够期望log变化呢。
至少也要db2 +c "insert into xxxx" 然后重复10000遍吧(depends on your log file size and table size)

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
6#
发表于 2007-8-7 15:28 | 只看该作者
insert into test select * from test

这条是什么意思?复制每一行么?

使用道具 举报

回复
论坛徽章:
3
会员2007贡献徽章
日期:2007-09-26 18:42:102009新春纪念徽章
日期:2009-01-04 14:52:282009日食纪念
日期:2009-07-22 09:30:00
7#
 楼主| 发表于 2007-8-7 15:36 | 只看该作者
最初由 wangzhonnew 发布
[B]你只做了一条insert呀,怎么能够期望log变化呢。
至少也要db2 +c "insert into xxxx" 然后重复10000遍吧(depends on your log file size and table size) [/B]


是一条,但是test 自身包含十万行

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
8#
发表于 2007-8-7 19:05 | 只看该作者
是不是由于数据commit但是没有被flush to disk,所以造成第一个active log依然没有变化?

使用道具 举报

回复
论坛徽章:
3
会员2007贡献徽章
日期:2007-09-26 18:42:102009新春纪念徽章
日期:2009-01-04 14:52:282009日食纪念
日期:2009-07-22 09:30:00
9#
 楼主| 发表于 2007-8-7 22:16 | 只看该作者
最初由 wangzhonnew 发布
[B]是不是由于数据commit但是没有被flush to disk,所以造成第一个active log依然没有变化? [/B]


Percent log file reclaimed before soft chckpt (SOFTMAX) = 100

应该是归档同时立即checkpoint并且写datafile吧

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
10#
发表于 2007-8-7 23:23 | 只看该作者
这样就清楚了,因为你的softmax=100,因此也就是保留一个log大小的data不被flush into disk。
在上面的例子里,由于log32已经满了,所以被发送到archive path里面,但是由于33只是partial filled,所以向前推一个log,也就是minbuflsn依然存在于log32中(min(minbuflsn, lowtranlsn),这里的minbuflsn肯定小于lowtranlsn,因此在32中的是minbuflsn)。
因此first active log就是32。
当你deactivate db的时候,由于log33里被partial filled,并且所有Bp中的数据flush to disk,这样32,33都会被archive,然后下一个active log就是34

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表