楼主: guoyJoe

【话题讨论】深入解析Oracle IMU模式下的REDO格式

[复制链接]
论坛徽章:
4
奥运会纪念徽章:垒球
日期:2008-09-08 13:24:552010广州亚运会纪念徽章:壁球
日期:2010-11-25 09:32:31复活蛋
日期:2011-08-01 17:25:35鲜花蛋
日期:2013-04-21 21:49:58
91#
发表于 2014-1-9 17:07 | 只看该作者
学习了

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
92#
 楼主| 发表于 2014-1-9 18:08 | 只看该作者
wenzhou320 发表于 2014-1-9 11:16
alter system switch logfile;

update bbb set name='AAAAAAAAA' WHERE ID=1;

翁大师

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
93#
 楼主| 发表于 2014-1-9 18:08 | 只看该作者
还不算晕 发表于 2014-1-9 12:42
再撕过年没衣服穿了。。

http://blog.csdn.net/haibusuanyun/article/details/18037635   关于SMO ...

班长威武

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
94#
 楼主| 发表于 2014-1-9 18:24 | 只看该作者
还不算晕 发表于 2014-1-3 10:45
先占个位,学完再来答。
刷屏了
1. 第一个问题和第五个合并回答吧。

分析的很GOOD!,强烈大家去读一读

使用道具 举报

回复
论坛徽章:
3
阿斯顿马丁
日期:2014-02-19 10:50:272014年世界杯参赛球队: 波黑
日期:2014-06-13 11:28:41itpub13周年纪念徽章
日期:2014-10-08 15:13:38
95#
发表于 2014-1-9 19:22 | 只看该作者
别的问题很多人都回答了,这里我就不说啦
以下做的是在In Memory Undo下面的实验,分析一下字节,
测试环境:
系统:linux6.4
数据库:11.2.0.1.0  

SQL> select rowid,tt.* from tt;

ROWID                  DEPTNO DNAME          LOC
------------------ ---------- -------------- -------------
AAAR7LAAFAAAACDAAA         10 GUANGZ         NEW YORK
AAAR7LAAFAAAACDAAB         20 GUANGS         DALLAS

SQL>

SQL> select object_name,object_id from user_objects where object_name='TT'; --------查询表的OBJECT_ID

OBJECT_NAME         OBJECT_ID
--------------------------------------
TT                   73419

-->使用dbms_rowid包获得rowid的十进制信息               
SQL> select dbms_rowid.rowid_object(rowid) object_id,              
  2      dbms_rowid.rowid_relative_fno(rowid) file_id,                                                                  
  3      dbms_rowid.rowid_block_number(rowid) block_id,                                                                  
  4      dbms_rowid.rowid_row_number(rowid)                                                                          
  5      from tt;   

OBJECT_ID    FILE_ID   BLOCK_ID DBMS_ROWID.ROWID_ROW_NUMBER(ROWID)
---------- ---------- ---------- ----------------------------------
     73419          5        131                                  0
     73419          5        131                                  1

     
SQL> select GROUP#,BYTES,STATUS from v$log;     ------查找当前在线日志状态

    GROUP#      BYTES STATUS
---------- ---------- ----------------
         1   52428800 INACTIVE
         2   52428800 INACTIVE
         3   52428800 CURRENT

SQL> select GROUP#,MEMBER from v$logfile;     -------------查找当前在线的对应文件

    GROUP#               MEMBER
------------------------------------------------------------------------------------------
         3       /u01/app/oracle/oradata/dbt/redo03.log
         2       /u01/app/oracle/oradata/dbt/redo02.log
         1      /u01/app/oracle/oradata/dbt/redo01.log
--------------------------------------------------------------------------------------------
SQL> update tt set dname='GGGGGGG' where deptno=10;

1 row updated.

SQL> update tt set dname='uuuuuuuu' where deptno=20;

1 row updated.

SQL> commit;

Commit complete.


SQL> ALTER SYSTEM DUMP LOGFILE '/u01/app/oracle/oradata/dbt/redo01.log';

System altered.

----------------------------------打开 dump文件dbt_ora_3755.trc----------------------------------------

根据OBJECT_ID查找:我实验OBJECT_ID:73419

一条记日志==》6个CHANGE VECTOR          -----------------跟着下面dump出来的可以查到
CHANGE #1 ==>OP:11.9  修改后的dname=GGGGGGG的值
CHANGE #2 ==>OP:5.2   update rollback segment header
CHANGE #3 ==>OP:11.9  修改后的dname=uuuuuuuu的值
CHANGE #4 ==>OP:5.4  --->COMMIT
CHANGE #5 ==>OP:5.1  --->undo块中dname=GUANGZ的前映像
CHANGE #6 ==>OP:5.1  --->undo块中dname=GUANGS的前映像

Redo Record Header -----Redo记录头
Thread--线程数
RBA-----Redo字节地址(确定起始redo 记录)
LEN-----记录长度(bytes)
SCN-----系统改变号* (6 bytes)
SUBSCN----改变的日期和时间


CHANGE(改变向量)
CHANGE--改变数
TYP-----改变类型
CLS-----类
AFN-----绝对文件号
DBA-----相对数据库块地址
SEQ----序列号 (相对于SCN)
OP-----操作代码

REDO RECORD - Thread:1 RBA: 0x000010.00000015.0010 LEN: 0x031c VLD: 0x0d
SCN: 0x0000.000e354f SUBSCN:  1 01/09/2014 18:12:17
CHANGE #1 TYP:2 CLS:1 AFN:5 DBA:0x01400083 OBJ:73419 SCN:0x0000.000e3241 SEQ:1 OP:11.5 ENC:0 RBL:0
KTB Redo
op: 0x11  ver: 0x01  
compat bit: 4 (post-11) padding: 1
op: F  xid:  0x000a.00f.00000202    uba: 0x00c00162.00c7.23
Block cleanout record, scn:  0x0000.000e3544 ver: 0x01 opt: 0x02, entries follow...
  itli: 1  flg: 2  scn: 0x0000.000e3241
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x01400083  hdba: 0x01400082
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 2 ckix: 191
ncol: 3 nnew: 1 size: 1
col  1: [ 7]  47 47 47 47 47 47 47           ----修改的值
CHANGE #2 TYP:0 CLS:35 AFN:3 DBA:0x00c00110 OBJ:4294967295 SCN:0x0000.000e34ca SEQ:1 OP:5.2 ENC:0 RBL:0
ktudh redo: slt: 0x000f sqn: 0x00000202 flg: 0x0012 siz: 164 fbi: 0
            uba: 0x00c00162.00c7.23    pxid:  0x0000.000.00000000
CHANGE #3 TYP:0 CLS:1 AFN:5 DBA:0x01400083 OBJ:73419 SCN:0x0000.000e354f SEQ:1 OP:11.5 ENC:0 RBL:0
KTB Redo
op: 0x02  ver: 0x01  
compat bit: 4 (post-11) padding: 1
op: C  uba: 0x00c00162.00c7.24
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x01400083  hdba: 0x01400082
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 2 ckix: 191
ncol: 3 nnew: 1 size: 2
col  1: [ 8]  75 75 75 75 75 75 75 75        -----修改的值
CHANGE #4 TYP:0 CLS:35 AFN:3 DBA:0x00c00110 OBJ:4294967295 SCN:0x0000.000e354f SEQ:1 OP:5.4 ENC:0 RBL:0
ktucm redo: slt: 0x000f sqn: 0x00000202 srt: 0 sta: 9 flg: 0x2 ktucf redo: uba: 0x00c00162.00c7.24 ext: 2 spc: 2938 fbi: 0
CHANGE #5 TYP:0 CLS:36 AFN:3 DBA:0x00c00162(undo的BLOCK_ID) OBJ:4294967295 SCN:0x0000.000e34c9 SEQ:6 OP:5.1 ENC:0 RBL:0
ktudb redo: siz: 164 spc: 3202 flg: 0x0012 seq: 0x00c7 rec: 0x23
            xid:  0x000a.00f.00000202  
ktubl redo: slt: 15 rci: 0 opc: 11.1 [objn: 73419 objd: 73419 tsn: 7]
Undo type:  Regular undo        Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
             0x00000000  prev ctl uba: 0x00c00162.00c7.1f
prev ctl max cmt scn:  0x0000.000e3000  prev tx cmt scn:  0x0000.000e300e
txn start scn:  0x0000.000e3537  logon user: 85  prev brb: 12583189  prev bcl: 0 BuExt idx: 0 flg2: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01  
compat bit: 4 (post-11) padding: 1
op: L  itl: xid:  0x0004.00f.000001f6 uba: 0x00c0033d.007c.03
                      flg: C---    lkc:  0     scn: 0x0000.000d9fb9
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x01400083  hdba: 0x01400082
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 191
ncol: 3 nnew: 1 size: -1
col  1: [ 6]  47 55 41 4e 47 5a        -----修改前的值
CHANGE #6 TYP:0 CLS:36 AFN:3 DBA:0x00c00162(undo的BLOCK_ID) OBJ:4294967295 SCN:0x0000.000e354f SEQ:1 OP:5.1 ENC:0 RBL:0
ktudb redo: siz: 96 spc: 3036 flg: 0x0022 seq: 0x00c7 rec: 0x24
            xid:  0x000a.00f.00000202  
ktubu redo: slt: 15 rci: 35 opc: 11.1 objn: 73419 objd: 73419 tsn: 7
Undo type:  Regular undo       Undo type:  Last buffer split:  No
Tablespace Undo:  No
             0x00000000
KDO undo record:
KTB Redo
op: 0x02  ver: 0x01  
compat bit: 4 (post-11) padding: 1
op: C  uba: 0x00c00162.00c7.23
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x01400083  hdba: 0x01400082
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 0 ckix: 191
ncol: 3 nnew: 1 size: -2
col  1: [ 6]  47 55 41 4e 47 53        ----------修改前的值

-----------------------------------------------------------------------------
CHANGE #4 TYP:0 CLS:35 AFN:3 DBA:0x00c00110 OBJ:4294967295 SCN:0x0000.000e354f SEQ:1 OP:5.4 ENC:0 RBL:0
CHANGE #6 TYP:0 CLS:36 AFN:3 DBA:0x00c00162 OBJ:4294967295 SCN:0x0000.000e354f SEQ:1 OP:5.1 ENC:0 RBL:0

CHANGE #4和CHANGE #6的SCN:0x0000.000e354f 是一样,我猜测这一步是同时进行的


IMU的主要作用是什么?
   IMU是在共亨内存中,独立存在的区域,专门用来存储UNDO信息(为了避免Undo信息在Buffer Cache中的I/O)这样可以进一步的减少Redo生成,
   
   
因为时间问题,这个实验做得不太完整,有时间,再做一下,insert,delete实验,,,

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
96#
 楼主| 发表于 2014-1-9 19:30 | 只看该作者
yftianxia 发表于 2014-1-9 19:22
别的问题很多人都回答了,这里我就不说啦
以下做的是在In Memory Undo下面的实验,分析一下字节,
测试环 ...

二师兄

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:49:31马上有钱
日期:2014-02-18 16:49:31
97#
发表于 2014-1-10 17:59 | 只看该作者
本帖最后由 chendaodao2008 于 2014-1-10 18:04 编辑

1&5.IMU
        英文全称-In Memory Undo
        在共享内存中(Shared Pool)独立的内存区域用于存储Undo信息,
        这样就可以减少Undo信息在Buffer Cache中的读写操作,减少Redo生成       
       
3.手动开启关闭方法:       
        alter system set "_in_memory_undo"=false;
        alter system set "_in_memory_undo"=true;  --关闭IMU后使用此语句改回使用IMU特性。
       
4.IMU下redo日志做dump分析
       
sys@OCM> @?/rdbms/admin/gethidpar.sql
Enter value for p: _in_memory_undo

P_NAME                                   P_DESCRIPTION                                      P_VALUE                 ISDEFAULT ISMODIFIED ISADJ
---------------------------------------- -------------------------------------------------- ------------------------------ --------- ---------- -----
_in_memory_undo          Make in memory undo for top level transactions                     TRUE  



edith@OCM> select * from test2;

    ID NAME
------ --------------------
     1 EEE
     2 FFF

edith@OCM> update test2 set name='CCCCCC' where ID=1;

edith@OCM> update test2 set name='DDDDDD' where ID=2;

edith@OCM> commit;


sys@OCM> alter system dump logfile '/oradata/ocm/redo02.log';

System altered.

*************************************************
基础标识
CHANGE #1 ==>OP:11.5 -->UPDATE  43 43 43 43 43 43 CCCCCC
CHANGE #2 ==>OP:5.2 -->标志事务开始
CHANGE #3 ==>OP:11.5 —>UPDATE   44 44 44 44 44 44  DDDDDD
CHANGE #4 ==>OP:5.4  --->COMMIT
CHANGE #5 ==>OP:5.1  --->UNDO   45 45 45 EEE
CHANGE #6 ==>OP:5.1  --->UNDO   46 46 46 FFF
*************************************************


以下是dump详细信息,有一个REDO RECORD: RECORD头+CHANGE VECTOR组成,6个CHANGE VECTOR

REDO RECORD - Thread:1 RBA: 0x000026.0000000d.0010 LEN: 0x0314 VLD: 0x0d
SCN: 0x0000.001c3a93 SUBSCN:  1 01/10/2014 17:26:08
(LWN RBA: 0x000026.0000000d.0010 LEN: 0002 NST: 0001 SCN: 0x0000.001c3a92)


CHANGE #1 TYP:2 CLS:1 AFN:6 DBA:0x018002af OBJ:77008 SCN:0x0000.001c2c47 SEQ:3 OP:11.5 ENC:0 RBL:0
KTB Redo
op: 0x11  ver: 0x01
compat bit: 4 (post-11) padding: 1
op: F  xid:  0x0008.01a.00000560    uba: 0x00c00d63.00b6.01
Block cleanout record, scn:  0x0000.001c3a83 ver: 0x01 opt: 0x02, entries follow...
  itli: 1  flg: 2  scn: 0x0000.001c2c47
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x018002af  hdba: 0x018002aa
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 2 ckix: 0
ncol: 2 nnew: 1 size: 3
col  1: [ 6]  43 43 43 43 43 43-----------------》对应第二列修改后的值CCCCCC

CHANGE #2 TYP:0 CLS:31 AFN:3 DBA:0x00c000f0 OBJ:4294967295 SCN:0x0000.001c3a59 SEQ:1 OP:5.2 ENC:0 RBL:0
ktudh redo: slt: 0x001a sqn: 0x00000560 flg: 0x000a siz: 160 fbi: 0
            uba: 0x00c00d63.00b6.01    pxid:  0x0000.000.00000000
事物开始,OBJ以16进制形式表现,对应上文中77008
uba对应undo块地址

CHANGE #3 TYP:0 CLS:1 AFN:6 DBA:0x018002af OBJ:77008 SCN:0x0000.001c3a93 SEQ:1 OP:11.5 ENC:0 RBL:0
KTB Redo
op: 0x02  ver: 0x01
compat bit: 4 (post-11) padding: 1
op: C  uba: 0x00c00d63.00b6.02
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x018002af  hdba: 0x018002aa
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 2 ckix: 0
ncol: 2 nnew: 1 size: 3
col  1: [ 6]  44 44 44 44 44 44-----------------》对应第二列修改后的值DDDDDD

CHANGE #4 TYP:0 CLS:31 AFN:3 DBA:0x00c000f0 OBJ:4294967295 SCN:0x0000.001c3a93 SEQ:1 OP:5.4 ENC:0 RBL:0
ktucm redo: slt: 0x001a sqn: 0x00000560 srt: 0 sta: 9 flg: 0x2 ktucf redo: uba: 0x00c00d63.00b6.02 ext: 2 spc: 7894 fbi: 0

CHANGE #5 TYP:1 CLS:32 AFN:3 DBA:0x00c00d63 OBJ:4294967295 SCN:0x0000.001c3a83 SEQ:1 OP:5.1 ENC:0 RBL:0
ktudb redo: siz: 160 spc: 0 flg: 0x000a seq: 0x00b6 rec: 0x01
            xid:  0x0008.01a.00000560
ktubl redo: slt: 26 rci: 0 opc: 11.1 [objn: 77008 objd: 77008 tsn: 7]
Undo type:  Regular undo        Begin trans    Last buffer split:  No
Temp Object:  No
Tablespace Undo:  No
             0x00000000  prev ctl uba: 0x00c00d62.00b6.14
prev ctl max cmt scn:  0x0000.001c35ad  prev tx cmt scn:  0x0000.001c35bb
txn start scn:  0x0000.001c3a1b  logon user: 90  prev brb: 12586328  prev bcl: 0 BuExt idx: 0 flg2: 0
KDO undo record:
KTB Redo
op: 0x04  ver: 0x01
compat bit: 4 (post-11) padding: 1
op: L  itl: xid:  0x0005.020.0000055c uba: 0x00c03412.00c0.04
                      flg: C---    lkc:  0     scn: 0x0000.001c2a3b
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x018002af  hdba: 0x018002aa
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 0(0x0) flag: 0x2c lock: 0 ckix: 0
ncol: 2 nnew: 1 size: -3
col  1: [ 3]  45 45 45----------->对应修改前值EEE

CHANGE #6 TYP:0 CLS:32 AFN:3 DBA:0x00c00d63 OBJ:4294967295 SCN:0x0000.001c3a93 SEQ:1 OP:5.1 ENC:0 RBL:0
ktudb redo: siz: 92 spc: 7988 flg: 0x0022 seq: 0x00b6 rec: 0x02
            xid:  0x0008.01a.00000560
ktubu redo: slt: 26 rci: 1 opc: 11.1 objn: 77008 objd: 77008 tsn: 7
Undo type:  Regular undo       Undo type:  Last buffer split:  No
Tablespace Undo:  No
             0x00000000
KDO undo record:
KTB Redo
op: 0x02  ver: 0x01
compat bit: 4 (post-11) padding: 1
op: C  uba: 0x00c00d63.00b6.01
KDO Op code: URP row dependencies Disabled
  xtype: XA flags: 0x00000000  bdba: 0x018002af  hdba: 0x018002aa
itli: 2  ispac: 0  maxfr: 4858
tabn: 0 slot: 1(0x1) flag: 0x2c lock: 0 ckix: 0
ncol: 2 nnew: 1 size: -3
col  1: [ 3]  46 46 46----------->对应修改前值FFF





使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:122010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:192015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24暖羊羊
日期:2015-05-13 18:24:182015年新春福章
日期:2015-05-30 17:02:05
98#
发表于 2014-1-10 19:59 | 只看该作者
本帖最后由 zcs0237 于 2014-1-10 20:03 编辑

大师好帖

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
99#
 楼主| 发表于 2014-1-10 21:22 | 只看该作者
chendaodao2008 发表于 2014-1-10 17:59
1&5.IMU
        英文全称-In Memory Undo
        在共享内存中(Shared Pool)独立的内存区域用于存储Undo信息,

good!

使用道具 举报

回复
论坛徽章:
490
红宝石
日期:2014-04-05 19:53:18海蓝宝石
日期:2014-04-05 21:24:30数据库板块每日发贴之星
日期:2013-05-27 22:53:45生肖徽章:鸡
日期:2014-08-24 18:39:29青年奥林匹克运动会-羽毛球
日期:2014-09-24 08:37:59马上有房
日期:2015-01-03 10:23:28喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47秀才
日期:2017-04-06 18:09:28版主6段
日期:2014-05-27 02:19:57
100#
 楼主| 发表于 2014-1-10 21:22 | 只看该作者
zcs0237 发表于 2014-1-10 19:59
大师好帖

欢迎加入讨论!

使用道具 举报

回复

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

本版积分规则 发表回复

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