随同 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 配置了源服务器,则函数执行下列活动:
- 源服务器将其可信任主机文件传到目的服务器。
- 目的服务器为自身和所有其他复制服务器添加条目到其 sqlhosts 文件。
- 源服务器以目的服务器的条目更新其 sqlhost 文件。
- 每一复制服务器以目的服务器的条目更新其 sqlhost 文件和可信任主机文件。
- 目的数据库设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求的 dbspace。
- 目的服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication 要求的 sbspace。
- 在目的服务器上创建中止事务 spooling(ATS)文件目录 $GBASEDBTDIR/tmp/ats_dbservername。
- 在目的服务器上创建行信息 spooling(RIS)文件目录 $GBASEDBTDIR/tmp/ris_dbservername。
- 启动到目的服务器的复制。
如果未为 Enterprise Replication 配置源服务器,则函数执行附加的活动:
- 源服务器为自身添加条目到其 sqlhosts 文件。
- 源服务器设置其 CDR_DBSPACE 配置参数并创建 Enterprise Replication 要求的 dbspace。
- 源服务器设置其 CDR_QDATA_SBSPACE 配置参数并创建 Enterprise Replication 要求的 sbspace。
- 在源服务器上创建中止事务 spooling(ATS)文件目录 $GBASEDBTDIR/tmp/ats_dbservername。
- 在源服务器上创建行信息 spooling(RIS)文件目录 $GBASEDBTDIR/tmp/ris_dbservername。
- 在开始目的服务器上的复制之前,开始源服务器上的复制。
对带有
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');
该任务函数执行下列活动:
- 该命令连接到 server_2。
- 在 server_2 上定义 Enterprise Replication。
- server_1 复制其数据到 server_2
示例 3:使用目的语法配置两独立服务器之间的连接性和 ER
下列命令
EXECUTE FUNCTION task('cdr autoconfig server', '--connect server_1
-–targethost host_2 --targetport 9030');
该任务函数执行下列活动:
- 该命令连接到 server_1。
- 在 server_2 上定义 Enterprise Replication。
- server_1 复制其数据到 server_2