Dafna
by Dafna Zayden

如何确认我的Nuodb升级成功完成?

好工作!您刚刚升级了您的NOODB环境。 (如果你还没有完成这一步, 我的四个简单步骤升级Nuodb数据库帖子 might help you.) 

所以现在您已升级您的环境,您如何确定您的升级过程已完成?毕竟,您的环境可能包含多个节点,右图?那么,如果你错过了会发生什么?您如何确定您完全升级数据库?

这有时可能有点令人困惑,因为当您升级环境时,您会在两个级别进行。协议级别上的一个升级,另一个升级在数据库级别。

在这篇文章中,我将向您展示已成功完成的升级,并解释了部分升级的样子,以便您知道在这两种情况下要查找的内容。下面是升级到Nuodb V3.4.4-2后的一个例子,我将使用NuoAgent和Nuoadmin来显示两种方式,因为我们拥有使用的客户。

完整升级数据库协议

以下是使用NuodBmgr(Nuoagent)完成的数据库协议升级,为此示例: 

Nuodb [域]>显示数据库版本数据库test_nuodb详细信息真实
数据库版本:3.4 | 3.4.1 | 3.4.2 | 3.4.3 |3.4.4
可用升级版本:无
节点版本:
192.168.128.2:48005 [nodeid = 5]版本3.4.4-2-560b26fa89(版本3.4 | 3.4.1 | 3.4.2 | 3.4.3 |3.4.4)
192.168.128.3:48005 [nodeid = 7]版本3.4.4-2-560b26fa89(版本3.4 | 3.4.1 | 3.4.2 | 3.4.3 |3.4.4)
192.168.128.3:48006 [nodeid = 8]版本3.4.4-2-560b26fa89(版本3.4 | 3.4.1 | 3.4.2 | 3.4.3 |3.4.4)
192.168.128.2:48006 [nodeid = 9]版本3.4.4-2-560b26fa89(版本3.4 | 3.4.1 | 3.4.2 | 3.4.3 |3.4.4)

正如您所能看到的,因为所有节点列出了相同的版本值集
“(3.4 | 3.4.1 | 3.4.2 | 3.4.3 | 3.4.4)”,每个节点中的所有版本都相同: 3.4.4。完美的!

以下是此示例使用Nuocmd(NuoDmin)成功完成的升级: 

#nuocmd show database - 版本--db-name nuodb_test
有效版本ID:1310720,有效版本:4.0 | 4.0.1,MAX版本ID:1310720
可用版本:
流程版本:
  版本ID:1310720,版本: 4.0 | 4.0.1.,释放:4.0.1-1-ced7ff7377
    [sm] container-1:48006 [server_id = 4] [pid = 21892] [node_id = 5] [last_ack = 0.80]监视:运行
    [te] container-1:48007 [server_id = 5] [server_id = server0] [pid = 21946] [node_id = 6] [node_id = 6] [last_ack = 7.80]监视:运行
    [SM] Container-2:48007 [start_id = 6] [pid = 8702] [node_id = 8] [node_id = 8] [last_ack = 10.81]监视:运行
    [te] container-2:48006 [server_id = server1] [pid = 8940] [node_id = 9] [last_ack = 6.79]监视:运行

使用Nuocmd,由于所有节点都列在单个版本ID下,因此所有节点都已升级到相同的数据库协议版本。

数据库协议的部分升级

这是数据库协议的部分升级的示例。此示例使用nuocmd(nuoadmin)。在此示例中,原始版本为3.4.3-1,只升级一个节点(TE1)到版本4.0-1。 

Nuocmd show database-usersions --db-name测试
有效的版本ID:1245184,有效版本:3.4,MAX版本ID:1245184
可用版本:
流程版本:
版本ID:1245184,版本:3.4, 发布:3.4.3-1-9E6C78560
[SM] SM1 / 192.168.16.4:48006 [start_id = 0] [server_id = nuoadmin0] [pid = 41] [node_id = 1] [node_id = 1.19]监视:运行
[SM] SM2 / 192.168.16.5:48006 [start_id = 1] [server_id = nuoadmin1] [pid = 38] [node_id = 2] [last_ack = 1.18]被监视:运行
[te] Te2 / 192.168.16.8:48006 [start_id = 3] [server_id = nuoadmin1] [pid = 38] [node_id = 4] [last_ack = 1.19]被监视:运行
版本ID:1310720,版本:4.0, 释放:4.0-1-2F01499300.
[te] Te1 / 192.168.16.6:48006 [start_id = 4] [server_id = nuoadmin0] [pid = 40] [node_id = 5] [last_ack = 2.09]监视:运行

在此示例中可以看到,有多个版本版本显示(粗体添加为Emphasis)。虽然在执行滚动升级时,这是正常的,但建议不要运行一段时间内部分升级的数据库。 

阅读更多信息 显示数据库版本 在我们的文档中。

在数据库级别完成升级

使用NuoSQL,您可以通过选中System.nodes验证所有节点是否升级到特定的发行版本。如果您忘记升级任何节点,它将在此显示不同的释放版本值。 

SQL....>从system.nodes中选择*;
ID localId端口地址主机名状态类型Connstate MsgQsize Triptime GeoreGion Platform_ver Refoy_ver
 --- -------- ----- ------------- - - - - - - - - ----------- ------- ----------- ---------- ------- - - ------- ------------------------ - - - - - - - - - - - - - - - - -
  5 2 48005 192.168.128.2 Container1.3.2.3-Net运行存储就绪2 508 default_region 1245184    3.4.4-2-560b26fa89
  7 3 48005 192.168.128.3 Container2运行存储就绪2 380 default_region    1245184    3.4.4-2-560b26fa89
  8 0 48006 192.168.128.3 Container2运行事务就绪0 0 default_region    1245184    3.4.4-2-560b26fa89
  9 1 48006 192.168.128.2 Container1.3.2.3-Net运行事务就绪2 390 Default_Region 1245184    3.4.4-2-560b26fa89

阅读更多信息 system.nodes. 在我们的文档中。 

下一个查询检查您是否执行了SQL级升级步骤: "升级 database  version 3.4;". 它应该在上一个查询上显示与平台版本相同的值(值 1245184)。

SQL....>从双重选择GeteffectivePlatformVersion();
 GeteffectivePlatformVersion.
 -------------------------------
           1245184

以下输出显示最后一步成功完成;升级了数据库协议。这意味着一个新的事务引擎(TE)已启动,这是升级的最后一步。

您可以在查询结果中看到以下某些属性版本值与原始安装相同(1048576),而另一些属性版本值将更新为更高的值(1245184)。更新到新值的是在升级后发布中应用代码更改的属性。

SQL....>从system.versions选择*
                   物业版本
 ---------------------------------------------- ---
 tableid_upgrade 1048576
 disclyed_type_updated_in_allsystemfields 1048576.
 user_privileges_updated 1048576.
 Active_UserRole_upgrade 1048576.
 system_identity_types_updated 1048576.
 privileges_per_schema_upgraded 1048576.
 约束_ upgraded 1048576.
 storage_proc_dynamic_sql_upgraded 1048576.
 basic_cursors_upgraded 1048576.
 system_external_users_updated 1048576.
 schema_schema_upgraded 1048576.
 Insensited_cursors_upgraded 1048576.
 au_views_and_stored_proc_cdau_views_upgraded 1048576.
 fignder_keys_upgraded 1048576.
 basic_window_functions_upgraded 1048576.
 stalal_level_trigger_notification_upgraded 1048576.
 database_level_trigger_upgraded 1048576.
 Execute_immediate_multi_statement_upgraded 1048576.
 tddl_unique_ids_updated 1048576.
 transactional_locks_enabled 1048576.
 trigger_unique_name_updated 1048576.
 index_unique_name_updated 1048576.
 system_tables_version 1245184
 Renamed_Table_Sequences_upgrade 1048576.
 semend_type_safety_upgrade 1048576.
 tables_post_204 1048576
 Advanced_tddl_unique_ids_updated 1245184.
 user_privileges_fixed 1245184.
 type_checking_always_on_upgraded 1245184.
 index_format_upgraded 1245184.
 fignder_key_types_upgraded 1245184.

阅读更多信息 system.versions. 在我们的文档中。

在数据库级别升级

您可以在查询结果中看到,下面所有属性版本值都与原始安装相同(1048576)。这意味着升级的最后一步,重新启动/启动事务引擎(TE)尚未完成。如果这不是您在此数据库上的第一次升级,则此查询的结果将显示您完成上次升级时的所有相同的值,但此升级将没有任何指示/值(1245184)到任何财产。

SQL....>从system.versions中选择*;
                   物业版本
 ---------------------------------------------- ---
 tableid_upgrade 1048576
 disclyed_type_updated_in_allsystemfields 1048576.
 user_privileges_updated 1048576.
 Active_UserRole_upgrade 1048576.
 system_identity_types_updated 1048576.
 privileges_per_schema_upgraded 1048576.
 约束_ upgraded 1048576.
 storage_proc_dynamic_sql_upgraded 1048576.
 basic_cursors_upgraded 1048576.
 system_external_users_updated 1048576.
 schema_schema_upgraded 1048576.
 Insensited_cursors_upgraded 1048576.
 au_views_and_stored_proc_cdau_views_upgraded 1048576.
 fignder_keys_upgraded 1048576.
 basic_window_functions_upgraded 1048576.
 stalal_level_trigger_notification_upgraded 1048576.
 database_level_trigger_upgraded 1048576.
 Execute_immediate_multi_statement_upgraded 1048576.
 tddl_unique_ids_updated 1048576.
 transactional_locks_enabled 1048576.
 trigger_unique_name_updated 1048576.
 index_unique_name_updated 1048576.
 system_tables_version 1048576
 Renamed_Table_Sequences_upgrade 1048576.
 semend_type_safety_upgrade 1048576.
 tables_post_204 1048576
 Advanced_tddl_unique_ids_updated 1048576.
 user_privileges_fixed 1048576.
 type_checking_always_on_upgraded 1048576.
 index_format_upgraded 1048576.
 fignder_key_types_upgraded 1048576.

如何处理部分升级

现在你知道要寻找什么,我相信你想知道你是如何解决它的情况如果你看到你只部分升级了数据库。一旦看到部分升级的指示,您需要做的就是 完成所有升级步骤.

我希望这些信息有用。完全升级NuodB数据库后,您将能够充分利用最新版本的功能。