cdr autoconfig serv 参数:自动配置连接性和复制(SQL 管理 API)

随同 cdr autoconfig serv 参数的 admin()task() 函数可自动配置高可用性集群中服务器的连接性,且可自动配置复制。

语法
连接选项
源选项
目标选项
元素 目的 约束
host 数据库服务器主机的名称  
port 用于通信的端口号  
server 要连接到的数据库服务器名 该名称必须是数据库服务器或服务器连接的名称。
server_group 包括要连接的数据库服务器的数据库服务器组名 该名称必须是现有的数据库服务器组名。

下表描述 cdr autoconfig serv 的选项。

长形 短形 含意
--sourcehost -H 正在发送自动配置信息的数据库服务器的主机。如果未指定 --sourcehost--sourceport,则将在其上运行函数的数据库服务器视为源数据库服务器。
--sourceport -P 正在发送自动配置信息的数据库服务器使用的端口。
--targethost -h 正在接收自动配置信息的数据库服务器主机。
--targetport -p 正在接收自动配置信息的数据库服务器使用的端口。

用法

运行带有 cdr autoconfig serv 参数的 admin()task() 函数可自动配置高可用性集群或 Enterprise Replication 域中服务器的连接性,如果您正在添加数据库服务器到 Enterprise Replication 域,则还可自动配置复制。在您可运行带有 cdr autoconfig serv 参数的 admin()task() 函数之前,CDR_AUTO_DISCOVER 配置参数必须在参与 Enterprise Replication 域的所有数据库上设置为 1。通过 cdr autoconfig serv 添加到 Enterprise Replication 域的新安装的数据库服务器必须有一个配置的存储池。

如果已为 Enterprise Replication 配置了源服务器,则函数执行下列活动:
  1. 源服务器将其可信任主机文件传到目的服务器。
  2. 目的服务器为自身和所有其他复制服务器添加条目到其 sqlhosts 文件。
  3. 源服务器以目的服务器的条目更新其 sqlhost 文件。
  4. 每一复制服务器以目的服务器的条目更新其 sqlhost 文件和可信任主机文件。
  5. 目的数据库设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求的 dbspace。
  6. 目的服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication 要求的 sbspace。
  7. 在目的服务器上创建中止事务 spooling(ATS)文件目录 $GBASEDBTDIR/tmp/ats_dbservername
  8. 在目的服务器上创建行信息 spooling(RIS)文件目录 $GBASEDBTDIR/tmp/ris_dbservername
  9. 启动到目的服务器的复制。
如果未为 Enterprise Replication 配置源服务器,则函数执行附加的活动:
  1. 源服务器为自身添加条目到其 sqlhosts 文件。
  2. 源服务器设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求的 dbspace。
  3. 源服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication 要求的 sbspace。
  4. 在源服务器上创建中止事务 spooling(ATS)文件目录 $GBASEDBTDIR/tmp/ats_dbservername
  5. 在源服务器上创建行信息 spooling(RIS)文件目录 $GBASEDBTDIR/tmp/ris_dbservername
  6. 在开始目的服务器上的复制之前,开始源服务器上的复制。
对带有 cdr autoconfig serv 参数的 admin()task() 函数使用下列约束:
  • 所有复制服务器必须是活动的,否则函数失败。
  • 如果您已经手工地配置了可信任主机信息,而不是通过运行带有 cdr add trustedhost 参数的 admin()task() 函数配置的,则请不要运行带有 cdr autoconfig serv 参数的 admin()task() 函数。
  • 如果您的复制服务器有配置的安全端口,则请不要运行带有 cdr autoconfig serv 参数的 admin()task() 函数。
  • 带有 cdr autoconfig serv 参数的 admin() or task() 函数不复制 hosts.equiv 信息到可信任主机文件,该文件由 REMOTE_SERVER_CFG 配置参数设置。如果您必须从 hosts.equiv 文件添加信息到 REMOTE_SERVER_CFG 配置参数设置的可信任主机文件,请运行带有 cdr add trustedhost 参数的 admin()task() 函数。

串行地配置数据库服务器。不支持并行配置。

您可如 cdr utility 命令那样运行这个函数。

示例 1:在本地服务器上配置 Enterprise Replication

对于这个示例,您有一个未为 Enterprise Replication 配置的本地数据库服务器:

在本地服务器上运行下列任务函数:

EXECUTE FUNCTION task('cdr autoconfig server');

该任务函数在本地服务器上配置 Enterprise Replication。

示例 2:通过使用源语法在两独立服务器之间配置连接性和 ER

对于这个示例,您有两数据库服务器:
  • 为 Enterprise Replication 配置 host_1 上的 server_1
  • 未为 Enterprise Replication 配置 host_2 上的 server_2
EXECUTE FUNCTION task('cdr autoconfig server', '--connect server_2
        --sourcehost host_1 --sourceport 9020');
该任务函数执行下列活动:
  1. 该命令连接到 server_2
  2. server_2 上定义 Enterprise Replication。
  3. server_1 复制其数据到 server_2

示例 3:使用目的语法配置两独立服务器之间的连接性和 ER

下列命令

EXECUTE FUNCTION task('cdr autoconfig server', '--connect server_1
        -–targethost host_2 --targetport 9030');
该任务函数执行下列活动:
  1. 该命令连接到 server_1
  2. server_2 上定义 Enterprise Replication。
  3. server_1 复制其数据到 server_2