多语言展示
当前在线:1352今日阅读:82今日分享:48

数据库升级回退验证方法

我们在进行升级验证的回退验证时,经常由于验证不全导致(通过单纯的测试验证,无法完全保证回退前后一致),回退出现问题。  结合以前遇到的问题,回退出现问题比较大的地方在数据库这块,包括数据库schema和数据库数据的不同 (后台程序可以直接通过copy的方式进行,所以问题不大)。
工具/原料

数据库schema使用toad的DataBase->compare->schema进行比较(可能会存在一些误报)。 数据库数据,使用自己编写的工具进行,思路就是将需要比较表的数据导出到文件,然后两个文件进行比较。

方法/步骤
1

下面是 使用这两个工具验证出的问题:1、GSG_SEC_PERMISSION_TAB  表,回退后   01_02_05_01||updateMmsgFcMain|| 记录丢失@rollback_28310_to_28300.sql; 中有    Insert into GSG_SEC_PERMISSION_TAB   (PERMISSIONID, PERMISSIONNAME) Values (’01_02_05_01′, ‘updateMmsgFcMain’);但是@rollback_28300_to_28220.sql;    delete from GSG_SEC_PERMISSION_TAB where PERMISSIONID = ’01_02_05_01′;

2

2、GSG_SEC_ROLE_PERMISSION_TAB 表回退后,下面数据丢失20958||01_02_05_00||0||20958||01_02_05_01||0||20481||01_02_05_00||0||20481||01_02_05_01||0||

3

rollback_28310_to_28300.sql文件中,下面语句到导致DELETE FROM GSG_SEC_ROLE_PERMISSION_TAB where PERMISSIONID=’01_02_05_00′;DELETE FROM GSG_SEC_ROLE_PERMISSION_TAB where PERMISSIONID=’01_02_05_01′;DELETE FROM GSG_SEC_ROLE_PERMISSION_TAB where PERMISSIONID=’01_02_05_02′;DELETE FROM GSG_SEC_ROLE_PERMISSION_TAB where PERMISSIONID=’01_02_05_03′;

4

3、MMSG_BILLING_TAB表在回退后 fee 字段变为了0,原来是10在update_28220_to_28300.sql 中,update MMSG_BILLING_TAB set FEE=0;而在update_28310_to_29000.sql中,进行了CREATE TABLE MMSG_SR_MAIN_T_BAK TABLESPACE MMSG_CFG_TS AS SELECT * FROM MMSG_SR_MAIN_T;所以rollback 时候会不正确

5

4、MMSG_MODULES_TAB升级回退后,state字段都变为1了,升级前是0建表语句

6

5、下面是省级前后数据库DDL发生变化的,吉林主要是默认数据发生了变化。具体见下Object Name                      Object Type      Parent Table (if any)            Differs by———————————————————————————————AREA_ID                          Column           MMSG_VASP_TAB                    default valueDR_STORE                         Column           MMSG_NM_MMSC_STORE_TAB           default valueEXEC                             Column           MMSG_MAIN_TAB                    default valueFLOW_LIMIT                       Column           MMSG_MMSC_TAB                    default valueG_EXPIRED_TM                     Column           MMSG_MAIN_TAB                    default valueINIT_FLAG                        Column           MMSG_SYSTEM_BASIC_TAB            default valueIP                               Column           MMSG_ROUTE_TAB                   default valueLOG_LEVEL                        Column           MMSG_FC_MAIN_TAB                 default valueMMSC_FIND_FLG                    Column           MMSG_MAIN_TAB                    default valueMMSG_MAIN_TAB                    Table                                             order of columnsMMSG_SYSTEM_BASIC_TAB            Table                                             order of columnsMSISDN_BUFF_BLOCK_COUNT          Column           MMSG_MAIN_TAB                    default valueM_DISABLE_FLAG                   Column           MMSG_M_TAB                       default valueNE_ID                            Column           GSG_NM_FILTER_RULE_TAB           datatypePASSWORD                         Column           MMSG_SYSTEM_BASIC_TAB            default valuePORT                             Column           MMSG_ROUTE_TAB                   default valueRR_STORE                         Column           MMSG_NM_MMSC_STORE_TAB           default valueSERVICE                          Column           MMSG_SYSTEM_BASIC_TAB            default valueSERVICE_CODE                     Column           MMSG_MAIN_TAB                    default valueSHMEM_SIZE                       Column           MMSG_MAIN_TAB                    default valueSHM_SIZE                         Column           MMSG_FC_MAIN_TAB                 default valueSVC_ID                           Column           MMSG_MAIN_TAB                    default valueSVC_ID_CHECK                     Column           MMSG_VASP_TAB                    default valueSYNC_FLAG                        Column           MMSG_MMSC_TAB                    default valueSYNC_FLAG                        Column           MMSG_VASP_TAB                    default valueSYSTEM_ID                        Column           MMSG_MAIN_TAB                    default valueTIME_STAMP_FLAG                  Column           MMSG_VASP_TAB                    default valueUNDER_EC_PREVENT                 Column           MMSG_VASP_TAB                    default valueUPDATE_SERVICE                   Column           MMSG_UPDATE_TAB                  default valueUSERNAME                         Column           MMSG_SYSTEM_BASIC_TAB            default value

注意事项

数据比较工具用法

推荐信息