nz 工具

nz 是一款用于 IBM® Netezza® Performance Server for IBM Cloud Pak® for Data as a Service 实例的工具,通过它您可以访问 NPSaaS。 借助 nz,您还可以通过 TLS / SSL 以安全且远程的方式执行命令,从而查看、管理和修改实例的各个方面。

在 NPSaaS上,缺省情况下不会公开端口 5481,5482 和 5483。 要发出通过这些端口的命令,必须下载并使用 nz 命令行。

nz 工具支持的平台:

  • nz-darwin-amd64
  • nz-linux-amd64
  • nz-windows-amd64

下载 nz 工具

可以通过以下方式下载 nz 工具。 对于云平台,建议使用命令行界面方法从NPS服务器下载。

  1. 使用命令行界面

    运行命令:

    curl -o nz -k https://<API Server URL>/<version number>/download/<platform specific package>
    chmod +x nz
    

    其中,API 服务器 URL 即 API 服务器 URL 的详细信息。

    要检索此信息,请执行以下步骤:

    1. 登录到 IBM Cloud 帐户。

    2. 转至 资源列表 > 服务和软件 > 数据库。

    3. 单击 Netezza Performance Server 实例。 您现在位于“服务实例详细信息”页面上。 在 “公共端点”部分,您可以找到访问网络控制台、API服务器和数据库的端点信息( URL 详细信息)。

    示例:

    要在 Linux 框上下载 nz,请运行:

    curl -o nz -k https://<API Server URL>/v2/download/nz-linux-amd64
    

    要在 Windows 上下载 nz,请运行:

    curl.exe -o nz.exe -k https://<API Server URL>/v2/download/nz-windows-amd64
    
  2. 从……下载 Fix Central

    您可以从 Fix Central 下载 nzcli。

用户名格式

  • 对于以下用户名,请在单引号后使用双引号 '" "':

    • 包含小写字母。
    • 包含下划线 _ 或 @ 符号以外的特殊字符。

    示例 - 用户名:SampleUser-> '"SampleUser"'

  • 对于所有其他用户名,双引号 "" 是可选项。

    例如 - 用户名:SAMPLEUSER-> SAMPLEUSER 或 "SAMPLEUSER"

区分大小写:

  • 数据库用户:用户名不区分大小写。

    示例 - sample_user 和 SAMPLE_USER 被视为相同。

  • IBMIAM 用户:用户名区分大小写。

    示例 - sample_user@ibm.com 和 SAMPLE_USER@ibm.com 被区别对待。

  • 在 Windows 系统( PowerShell )中,运行:

    $env:APISERVER_URL="<api-server-url>"
    $env:NZ_USER="<nps-admin-user>"
    $env:NZ_PASSWORD="<nps-admin-user-password>"
    

在 Windows 系统中,shell 会在将命令行参数传递给应用程序之前,先去除其中的引号。 如果您使用的 OIDC 用户名包含小写字母或特殊字符(例如,user@example.com ),将其传递给 -u 参数会导致引号被移除且用户名被转换为大写,从而引发 Authentication failed 错误。 Linux 保留引号,且不受影响。 如果您在 Windows 上遇到此问题,请使用环境变量设置凭据,而不是通过命令行参数传递凭据。

nz 语法

nz 工具支持执行选定的 NPSaaS 命令和软件支持工具。 命令的执行语法取决于命令类型( NPSaaS 命令或软件支持工具),以及是否安装了快捷命令。

从 11.2.2.10 开始,必须 APISERVER_URL 使用 而不是主机参数。 为确保最佳性能,您应至少每隔一个版本重新下载一次 nz 工具。

NPSaaS 命令语法

nz [command] [subcommands] [options]

示例:

./nz nzstate -apiserver <apiserver-url> -u <nps-admin-user> -pw <nps-admin-user-password>
System state is 'Online'.

如果通过 -pw 标志传递密码,该密码就会在操作系统的进程表中暴露出来。 任何能够在同一容器内运行 ps -ef 等进程枚举命令的用户,均可读取该凭据,并将其用于对数据库进行身份验证。 请改 用“设置环境变量”中所述的安全替代方案之一。

NPSaaS 命令快捷键语法

运行 nz install 之后,您可以使用快捷方式并省略 nz 前缀:

[command] [subcommand] [options]

示例:

./nzstate -apiserver <apiserver-url> -u <nps-admin-user> -pw <nps-admin-user-password>
System state is 'Online'.

如果通过 -pw 标志传递密码,该密码就会在操作系统的进程表中暴露出来。 任何能够在同一容器内运行 ps -ef 等进程枚举命令的用户,均可读取该凭据,并将其用于对数据库进行身份验证。 请改 用“设置环境变量”中所述的安全替代方案之一。

软件支持工具语法

执行软件支持工具需要运行命令:run、run-async、run-without-creds 或 run-show-progress。

nz [run-command] [software-support-tool] [subcommands] [options]

示例:

./nz run nz_get_table_rowcount database1 table1

设置环境变量

为避免在进程表中泄露凭据,请使用环境变量,而不是在命令行上直接传递 -pw 标志。

提供以下安全的替代方案:

  • 环境变量:在调用该命令之前,请设置 NZ_USER 和 NZ_PASSWORD。 在配置正确的系统上,其他用户无法通过 ps 查看环境变量。

如果出于兼容旧版自动化系统的需要,必须将 -pw 作为命令行参数传递,请将容器访问权限限制在最少数量的可信用户范围内,并立即轮换所有已暴露的凭据。

设置 APISERVER_URL,NZ_USER 和 NZ_PASSWORD 环境变量,以便在运行 nz 命令时指定 -apiserver,-u 和 -pw 选项。

  • 从 Linux 或 Mac OSX 终端,运行:

    export APISERVER_URL=<api-server-url>
    export NZ_USER=<nps-admin-user>
    export NZ_PASSWORD=<nps-admin-user-password>
    
  • 从 Windows (cmd.exe),运行:

    set APISERVER_URL=<api-server-url>
    set NZ_USER=<nps-admin-user>
    set NZ_PASSWORD=<nps-admin-user-password>
    
  • 在 Windows 系统( PowerShell )中,运行:

    $env:APISERVER_URL="<api-server-url>"
    $env:NZ_USER="<nps-admin-user>"
    $env:NZ_PASSWORD="<nps-admin-user-password>"
    

在 Windows 系统中,shell 会在将参数传递给应用程序之前,先去除其中的引号。 如果用户名中包含引号(例如,包含小写字母或特殊字符的用户名),将其作为命令行参数传递 ((-u <username> ) 可能会导致身份验证失败。 Linux 保留引号,且不受此行为的影响。 为避免在 Windows 上出现身份验证问题,建议在指定带引号的用户名时采用环境变量的方式。

使用 nz install 安装快捷方式

您可以通过运行 nz install 命令为以下常用命令创建快捷方式。 因此,例如,与其运行 nz nzstate,您直接输入 nzstate 即可。

nz 安装语法

nz install [--dry-run] [--dest DESTINATION-DIRECTORY] [--force]
nz 安装选项
选项 描述
--dry-run 显示即将创建的符号链接,但不会实际创建它们。
--dest 安装链接的目录。
--force 覆盖现有的链接。

示例:

./nz install --dest /usr/local/bin --force
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzbackup
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzrestore
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzsystem
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzds
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzhw
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzstate
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzbatchbnr
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzrev
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzstats
2024/09/13 09:18:09 main.go:131: Linking /root/nz -> /usr/local/bin/nzsession

为以下命令创建了快捷方式:

nzbackup
nzbatchbnr
nzds
nzhw
nzrestore
nzrev
nzsession
nzstate
nzstats
nzsystem

nz 命令参考

NPSaaS 命令

nz 工具支持以下 NPSaaS 命令:

nzbackup
nzbatchbnr
nzds
nzhw
nzrestore
nzrev
nzstate
nzstats
nzsession
nzsystem
nzprogress
nzsqa

使用 nzbatchbnr 备份数据库时,必须在 backup.json 中保留数据库名称的原始拼写。

nz 子命令

nz 子命令
命令 描述
auto-pr 列出并说明“自动暂停/恢复”机制的详细信息。
manualvacuum 执行手动排气操作(需要重启系统)。

高级 nz 命令

高级 nz 命令
命令 描述
bnr 备份和还原操作。
nzprogress 显示当前正在进行的所有计划。

运行命令

这些命令允许在目标系统上运行各种 nz 命令:

运行命令
命令 描述
ops 运行 DevOps 专用命令。
pauseresume 暂停或继续 NPS。
run 同步运行任何允许的 nz 命令(支持 -u 和 -pw )。
run-async 异步运行任何允许的 nz 命令。
run-show-progress 运行任何允许的 nz 命令,以显示即时进度。

权限和缩放命令

权限和缩放命令
命令 描述
perms 获取和设置权限。
scale 扩展 NPS 的计算和/或存储资源。

设置和其他命令

设置和其他命令
命令 描述
setup-lh 设置 Lakehouse 连接,以实现 Lakehouse 集成。
version 显示NZ客户端的当前版本。
install 为受支持的 NZ 客户端命令安装符号链接。
awsiam AWS IAM 身份验证器的配置。

Direct nz 主机命令

Direct nz 主机命令
命令 描述
nzbackup 调用 nzbackup 工具。
nzrestore 调用 nzrestore 工具。
nzsystem 调用 nzsystem 工具。
nzds 调用 nzds 工具。
nzhw 调用 nzhw 工具。
nzstate 调用 nzstate 工具。
nzbatchbnr 调用 nzbatchbnr 工具。
nzrev 调用 nzrev 工具。
nzstats 调用 nzstats 工具。
nzsession 调用 nzsession 工具。

软件支持工具脚本

nz_abort
nz_altered_tables
nz_backup_size_estimate
nz_best_practices
nz_build_html_help_output
nz_catalog_dump
nz_catalog_size
nz_change_owner
nz_check_ids
nz_check_statistics
nz_check_views
nz_cksum
nz_clone
nz_columns
nz_compiler_stats
nz_compressedTableRatio
nz_db_group_access_listing
nz_db_size
nz_db_tables_rowcount
nz_db_tables_rowcount_statistic
nz_db_user_access_listing
nz_db_views_rowcount
nz_ddl
nz_ddl_aggregate
nz_ddl_all_grants
nz_ddl_comment
nz_ddl_database
nz_ddl_diff
nz_ddl_ext_datasource
nz_ddl_ext_table
nz_ddl_function
nz_ddl_grant_group
nz_ddl_grant_role
nz_ddl_grant_user
nz_ddl_group
nz_ddl_history_config
nz_ddl_library
nz_ddl_mview
nz_ddl_object
nz_ddl_owner
nz_ddl_procedure
nz_ddl_role
nz_ddl_scheduler_rule
nz_ddl_schema
nz_ddl_security
nz_ddl_sequence
nz_ddl_synonym
nz_ddl_sysdef
nz_ddl_table
nz_ddl_table_redesign
nz_ddl_user
nz_ddl_view
nz_ddl_view+
nz_dimension_or_fact
nz_event_runAwayQuery
nz_find_32bit_udx
nz_find_control_chars_in_data
nz_find_non_integer_strings
nz_find_object
nz_find_object_orphans
nz_find_object_owners
nz_find_table_orphans
nz_fix_the_permissions
nz_frag
nz_genstats
nz_get
nz_get_acl
nz_get_admin
nz_get_aggregate_name
nz_get_aggregate_names
nz_get_aggregate_signatures
nz_get_column_attnum
nz_get_column_name
nz_get_column_names
nz_get_column_oid
nz_get_column_type
nz_get_database_name
nz_get_database_names
nz_get_database_objid
nz_get_database_owner
nz_get_database_table_column_names
nz_get_ext_datasource_name
nz_get_ext_datasource_names
nz_get_ext_table_name
nz_get_ext_table_names
nz_get_ext_table_objid
nz_get_ext_table_owner
nz_get_function_name
nz_get_function_names
nz_get_function_signatures
nz_get_group_name
nz_get_group_names
nz_get_group_objid
nz_get_group_owner
nz_get_group_users
nz_get_lastTXid
nz_get_library_name
nz_get_library_names
nz_get_mgmt_table_name
nz_get_mgmt_table_names
nz_get_mgmt_view_name
nz_get_mgmt_view_names
nz_get_model
nz_get_mview_basename
nz_get_mview_definition
nz_get_mview_matrelid
nz_get_mview_name
nz_get_mview_names
nz_get_mview_objid
nz_get_mview_owner
nz_get_object_name
nz_get_object_objid
nz_get_object_owner
nz_get_object_type
nz_get_procedure_name
nz_get_procedure_names
nz_get_procedure_signatures
nz_get_role_name
nz_get_role_names
nz_get_schema_name
nz_get_schema_names
nz_get_schema_objid
nz_get_sequence_name
nz_get_sequence_names
nz_get_sequence_objid
nz_get_sequence_owner
nz_get_stableTXid
nz_get_synonym_definition
nz_get_synonym_name
nz_get_synonym_names
nz_get_synonym_objid
nz_get_synonym_owner
nz_get_sysmgmt_table_name
nz_get_sysmgmt_table_names
nz_get_sysmgmt_table_objid
nz_get_sysmgmt_view_name
nz_get_sysmgmt_view_names
nz_get_sysmgmt_view_objid
nz_get_sys_table_name
nz_get_sys_table_names
nz_get_sys_view_name
nz_get_sys_view_names
nz_get_table_distribution_key
nz_get_table_fks
nz_get_table_name
nz_get_table_names
nz_get_table_objid
nz_get_table_organization_key
nz_get_table_owner
nz_get_table_pk
nz_get_table_rowcount
nz_get_table_rowcount_statistic
nz_get_user_groups
nz_get_user_name
nz_get_user_names
nz_get_user_objid
nz_get_user_owner
nz_get_view_definition
nz_get_view_name
nz_get_view_names
nz_get_view_objid
nz_get_view_owner
nz_get_view_rowcount
nz_grep_views
nz_groom
nz_host_memory
nz_inconsistent_data_types
nz_index
nz_invisible
nz_lock
nz_maintenance_mode
nz_migrate
nz_my_access
nz_my_grants
nz_objects
nz_online_vacuum
nz_permissions_audit
nz_physical_table_layout
nz_plan
nz_query
nz_query_history
nz_query_stats
nz_record_skew
nz_rerandomize
nz_rev
nz_responders
nz_set
nz_show_locks
nz_skew
nz_sort_order
nz_spu_memory
nz_spu_swap_space
nz_spu_top
nz_state
nz_stats
nz_storage_stats
nz_sysutil_stats
nz_table_analyze
nz_table_constraints
nz_table_references
nz_tables
nz_temporal
nz_test
nz_transactions
nz_truncate
nz_update_backup_status
nz_update_statistic_date_high_value
nz_update_statistic_length
nz_update_statistic_min_or_max
nz_update_statistic_null_values
nz_update_statistic_table_rowcount
nz_update_statistic_unique_values
nz_usage
nz_view_plan_file
nz_view_references
nz_wrapper
nz_zonemap

时区管理

  • 时区:列出或设置 NPS 主机上的时区。

CLI

有关命令的更多信息,请参阅 命令行界面 部分。