When you deploy obconfigserver, you can choose to deploy it separately or together with OceanBase Database and ODP. This topic describes the common deployment methods of obconfigserver.
Components
oceanbase-ce
OceanBase Database Community Edition, an enterprise-level native distributed database independently developed by OceanBase.
obproxy-ce
OceanBase Database Proxy, a proxy server dedicated to OceanBase Database, also known as ODP or OBProxy.
ob-configserver
OceanBase Configserver, also known as obconfigserver, provides metadata registration, storage, and query services for OceanBase.
Prerequisites
Before you proceed, make sure that you meet the following conditions:
To directly deploy obconfigserver, you have installed V2.3.0 or a later version of obd. To add obconfigserver to a cluster, you have installed V2.5.0 or a later version of obd. We recommend that you install the latest version. For more information about how to install obd, see Install obd.
Note
We recommend that you install OceanBase All in One, which provides all the components required for deployment (except for the obbinlog component). The components have been tested for compatibility with each other and are the officially recommended versions.
Your machine can access the Internet, or the local image repository of obd contains the installation packages required for deployment.
You can run the
obd mirror list localcommand to view the installation packages in the local image repository. If you installed obd by using OceanBase All in One, the local image repository contains the installation packages of all the components required for deployment.When you deploy an OceanBase cluster, make sure that the OBServer node supports the AVX instruction set (this restriction applies only to servers with the x86 architecture). You can run the
lscpu | grep Flags | grep avxcommand to check whether the AVX instruction set is supported.Note
If you use a server with the x86 architecture, the AVX instruction set is not required for the following OceanBase Database versions:
- V4.2.5.6 or later for V4.2.x versions.
- V4.3.5.4 or later for V4.3.x versions.
- V4.4.1.0 or later for V4.4.x versions.
In an offline deployment scenario, when you deploy an OceanBase cluster and use a server with the ARM architecture, check whether the OBServer node supports the LSE instruction set. You can run the
lscpu | grep Flags | grep atomicscommand to check whether the LSE instruction set is supported. If the server does not support the LSE instruction set, download an OceanBase Database installation package with thenonlseoption and use theobd mirror clonecommand to upload the installation package to the local image repository of obd.Note
The OceanBase All in One package does not contain an OceanBase Database installation package with the
nonlseoption.
Procedure
This section describes how to use obd commands to deploy obconfigserver in three scenarios. Choose an appropriate deployment method based on your situation:
Deploy OceanBase Database and ODP together
You can configure obconfigserver, OceanBase Database, and ODP in the same configuration file. After deployment, OceanBase Database is registered to obconfigserver, and ODP is started in the config URL mode. This allows the ODP to connect to any cluster registered in the current obconfigserver.
Notice
When connecting to OceanBase Database by using ODP, ensure that the configuration parameter
observer_sys_passwordin ODP is consistent with the password of the proxyro@sys user in OceanBase Database. Otherwise, an error will be reported when the connection is established.Add an obconfigserver to the cluster.
Execute the
obd cluster component addcommand to add an obconfigserver component to an OceanBase cluster managed by obd. If an OceanBase cluster already has the ODP deployed and the command is successfully executed and the ODP is restarted, the ODP will use the config url of the added obconfigserver to start.Deploy only the obconfigserver component
After you have deployed the ODP service, you need to register an OceanBase Database cluster to the obconfigserver. Also, you need to modify the
obproxy_config_server_urlparameter of ODP to the address of the obconfigserver. For more information, see Use obconfigserver.
Create a configuration file.
When you add an obconfigserver to an OceanBase cluster managed by obd, you need to configure only the ob-configserver component in the new configuration file. Here is an example:
ob-configserver: servers: - 10.10.10.1 global: listen_port: 8080 # The port of ob-configserver web server_ip: 0.0.0.0 # Listen to the ob-configserver server IP. When you want to listen to the specified IP address,use it. home_path: /home/admin/ob-configserver # The working directory for prometheus. ob-configserver is started under this directory. This is a required field. ## log config # log_level: info # Log printing level of ob-configserver. The default value is `info` # log_maxsize: 30 # The total size of manager ob-configserver.Log size is measured in Megabytes.The default value is 30 # log_maxage: 7 # The days of manager expired ob-configserver.Log retention days. The default value is 7 # log_maxbackups: 10 #The number of manager expired ob-configserver.Log. The default value is 10 # log_localtime: true # Switch of ob-configserver.Log naming with localtime. The default value is true # log_compress: true # Compress ob-configserver.Log switch. The default value is true ## vip config, configserver will generate url with vip_address and port and return it to the client ## do not use some random value that can't be connected # vip_address: "10.10.10.1" # vip_port: 8080 ## storage config # storage: ## database type, support sqlite3 or mysql # sqlite3: # database_type: sqlite3 # connection_url: "/home/admin/ob-configserver/.data.db?cache=shared&_fk=1" # mysql: # database_type: mysql # connection_url: "$user:$password@tcp($IP:$PORT)/$metadb?parseTime=true"If the commented-out configuration items in the configuration file are not enabled, they will use the default values. You can also uncomment and configure them to other values. The following configuration items need to be noted in the configuration file:
server_ip: the IP address whitelist for accessing the ob-configserver service. The default value is0.0.0.0, which means that all IP addresses of the server where the ob-configserver is located can access it.vip_addressandvip_port: these are the configuration items for the load balancing access address. If you need to configure multiple nodes underservers, you need to use load balancing. After configuring load balancing, you need to fill in the load balancing address IP and port in the configuration file.database_type: the database type, which can besqlite3ormysql. The default value issqlite3, but it is recommended to usemysql.connection_url: the database connection URL. If you choosesqlite3, the default value is$home_path/.data.db?cache=shared&_fk=1. If you choosemysql, theconnection_urlcan be either an OceanBase Database or a native MySQL database. The specified database user must have the DDL and DML permissions for the corresponding database in the URL. Note that when using an OceanBase Database, do not use theoceanbasedatabase, otherwise you will be prompted that you do not have permissions.
Execute the command to add the component.
obd cluster component add test1 -c configserver.yamlHere is an example where the existing OceanBase cluster name is
test1(theNameoutput from theobd cluster listcommand), and the configuration file name created when adding the obconfigserver isconfigserver.yaml. You need to replace the cluster name and component name with your actual values.The output after executing the command is as follows:
Connect to ob-configserver ok +-----------------------------------------------------------------+ | ob-configserver | +---------------+------+---------------+----------+--------+------+ | server | port | vip_address | vip_port | status | pid | +---------------+------+---------------+----------+--------+------+ | 10.10.10.1 | 8080 | 10.10.10.1 | 8080 | active | 2725 | +---------------+------+---------------+----------+--------+------+ curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig'If the cluster to which the component is to be added contains an ODP, the following two scenarios apply based on the obd version:
If obd is V3.2.0 or later, it supports interactive control for whether to restart the cluster. You can simply input
restartat the specified location in the output to use the newly added obconfigserver to restart the ODP.Restart `obproxy-ce,oceanbase-ce` for test to take effect. You can do it manually later or enter `restart` now:If you press Enter directly or input a value other than
restartat this location, obd will not restart the cluster. After the process is completed, the ODP will still start using the rslist method.If obd is earlier than V3.2.0, it will output the restart command. You just need to copy and execute the
obd cluster restartcommand in the output. After executing the command, the ODP will be restarted using the newly added obconfigserver.obd cluster restart demo -c obproxy-ce
Add only the obconfigserver.
Create a configuration file. Here is an example where the configuration file name is config-only.yaml. The configuration and notes for each component in the configuration file are as follows.
User configuration
## Only need to configure when remote login is required user: username: admin # password: your password if need key_file: /home/admin/.ssh/id_rsa # port: your ssh port, default 22 # timeout: ssh connection timeout (second), default 30usernameis the username for logging in to the target machine. Ensure that your username has write permissions forhome_path.passwordandkey_fileare both used for user verification. Typically, you only need to fill in one of them.Notice
After configuring the key path, if your key does not require a password, comment out or delete
passwordto avoid it being considered the key password for login, which could lead to verification failure.Configure the ob-configserver component.
ob-configserver: servers: - 10.10.10.1 global: listen_port: 8080 # The port of ob-configserver web server_ip: 0.0.0.0 # Listen to the ob-configserver server IP. When you want to listen to the specified IP address,use it. home_path: /home/admin/ob-configserver # The working directory for prometheus. ob-configserver is started under this directory. This is a required field. ## log config # log_level: info # Log printing level of ob-configserver. The default value is `info` # log_maxsize: 30 # The total size of manager ob-configserver.Log size is measured in Megabytes.The default value is 30 # log_maxage: 7 # The days of manager expired ob-configserver.Log retention days. The default value is 7 # log_maxbackups: 10 #The number of manager expired ob-configserver.Log. The default value is 10 # log_localtime: true # Switch of ob-configserver.Log naming with localtime. The default value is true # log_compress: true # Compress ob-configserver.Log switch. The default value is true ## vip config, configserver will generate url with vip_address and port and return it to the client ## do not use some random value that can't be connected # vip_address: "10.10.10.1" # vip_port: 8080 ## storage config # storage: ## database type, support sqlite3 or mysql # sqlite3: # database_type: sqlite3 # connection_url: "/home/admin/ob-configserver/.data.db?cache=shared&_fk=1" # mysql: # database_type: mysql # connection_url: "$user:$password@tcp($IP:$PORT)/$metadb?parseTime=true"If the commented-out configuration items in the configuration file are not enabled, they will use the default values. You can also uncomment and configure them to other values. The following configuration items need to be noted in the configuration file:
server_ip: the IP address whitelist for accessing the ob-configserver service. The default value is0.0.0.0, which means that all IP addresses of the server where the ob-configserver is located can access it.vip_addressandvip_port: these are the configuration items for the load balancing access address. If you need to configure multiple nodes underservers, you need to use load balancing. After configuring load balancing, you need to fill in the load balancing address IP and port in the configuration file.database_type: the database type, which can besqlite3ormysql. The default value issqlite3, but it is recommended to usemysql.connection_url: the database connection URL. If you choosesqlite3, the default value is$home_path/.data.db?cache=shared&_fk=1. If you choosemysql, theconnection_urlcan be either an OceanBase Database or a native MySQL database. The specified database user must have the DDL and DML permissions for the corresponding database in the URL. Note that when using an OceanBase Database, do not use theoceanbasedatabase, otherwise you will be prompted that you do not have permissions.
Deploy the obconfigserver.
[admin@obtest ~]$ obd cluster deploy config-only -c config-only.yamlHere is an example of deploying the
config-onlycluster using theconfig-only.yamlfile. You need to modify the cluster name and configuration file name based on your actual situation.Start the obconfigserver.
[admin@obtest ~]$ obd cluster start config-onlyThe output is as follows, which displays the access address of the obconfigserver.
+-----------------------------------------------------------+ | ob-configserver | +---------+------+---------------+----------+--------+------+ | server | port | vip_address | vip_port | status | pid | +---------+------+---------------+----------+--------+------+ | 0.0.0.0 | 8080 | 10.10.10.1 | 8080 | active | 6270 | +---------+------+---------------+----------+--------+------+ curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig'
Use obconfigserver
This topic describes how to use obconfigserver after it is deployed. It covers how to register an OceanBase cluster with obconfigserver, how to view the registration information, how to start ODP, and how to delete a cluster registered with obconfigserver.
Register an OceanBase cluster
This topic describes how to register an OceanBase cluster to an obconfigserver by modifying the cluster configuration file or by running an SQL statement.
Use the root user to log in to the sys tenant of the database to be registered.
obclient -h<IP> -P<PORT> -uroot@sys -p -c -A # example obclient -h10.10.10.4 -P4883 -uroot@sys -p -c -AIn this parameter,
IPspecifies the IP address of the OceanBase database.PORTspecifies the port of the OceanBase database. If you directly connect to the database, this parameter is set to the value of themysql_portparameter. If you connect to the database through ODP, this parameter is set to the value of thelisten_portparameter.Execute the following command to view the value of the
obconfig_urlparameter.obclient> SHOW PARAMETERS LIKE 'obconfig_url';The following output is returned, indicating that the
obconfig_urlparameter is not configured for the current cluster.+-------+----------+---------------+----------+--------------+-----------+-------+--------------------------+----------+---------+---------+-------------------+---------------+-----------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault | +-------+----------+---------------+----------+--------------+-----------+-------+--------------------------+----------+---------+---------+-------------------+---------------+-----------+ | zone3 | observer | 10.10.10.4 | 2882 | obconfig_url | STRING | | URL for OBConfig service | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | | 1 | | zone1 | observer | 10.10.10.2 | 2882 | obconfig_url | STRING | | URL for OBConfig service | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | | 1 | | zone2 | observer | 10.10.10.3 | 2882 | obconfig_url | STRING | | URL for OBConfig service | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | | 1 | +-------+----------+---------------+----------+--------------+-----------+-------+--------------------------+----------+---------+---------+-------------------+---------------+-----------+Run the following command to configure the
obconfig_urlparameter:alter system set obconfig_url = 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1';10.10.10.1:8080is the access address of obconfigserver, andtest1is theappnamevalue of the OceanBase cluster to be registered. You can execute theSHOW PARAMETERS LIKE 'cluster';command after connecting to the cluster to view it. This example is for illustration only. You need to modify theappnamevalue based on your actual requirements.After exiting the cluster, verify if obconfigserver can resolve information about the OceanBase cluster.
curl -s 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1' |jq .Description
After you register an OceanBase cluster to obconfigserver, wait a few minutes before you can query the relevant information from obconfigserver.
The output is as follows, indicating that the IP addresses and ports of all OBServer nodes in the cluster are successfully parsed.
{
"Code": 200,
"Message": "successful",
"Success": true,
"Data": {
"ObClusterId": 1,
"ObRegionId": 1,
"ObCluster": "test1",
"ObRegion": "test1",
"ReadonlyRsList": [],
"RsList": [
{
"address": "10.10.10.4:4882",
"role": "LEADER",
"sql_port": 4881
}
],
"Type": "PRIMARY",
"timestamp": 1692699586370950
},
"Trace": "362172a2d5de734c",
"Server": "10.10.10.1",
"Cost": 1
}
View the registration information of obconfigserver.
View cluster details
obd cluster display testIn this example, the deployment name of the obconfigserver cluster is
test. Run theobd cluster listcommand to get the actual deployment name, and then replacetestwith the actual value in theNamecolumn.The output is as follows:
Connect to ob-configserver ok +-------------------------------------------------------------------+ | ob-configserver | +---------------+-------+---------------+----------+--------+-------+ | server | port | vip_address | vip_port | status | pid | +---------------+-------+---------------+----------+--------+-------+ | 10.10.10.1 | 8080 | 10.10.10.1 | 8080 | active | 13616 | +---------------+-------+---------------+----------+--------+-------+ curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' Connect to observer 10.10.10.1:2881 ok Wait for observer init ok +-------------------------------------------------+ | oceanbase-ce | +---------------+---------+------+-------+--------+ | ip | version | port | zone | status | +---------------+---------+------+-------+--------+ | 10.10.10.2 | 4.3.5.0 | 2881 | zone1 | ACTIVE | | 10.10.10.3 | 4.3.5.0 | 2881 | zone2 | ACTIVE | | 10.10.10.4 | 4.3.5.0 | 2881 | zone3 | ACTIVE | +---------------+---------+------+-------+--------+ obclient -h10.10.10.1 -P2881 -uroot -p'********' -Doceanbase -A cluster unique id: 253244ab-94b9-5def-9cbd-7a46e6c19621-1953714c460-00050304 Connect to obproxy ok +-------------------------------------------------------------------+ | obproxy-ce | +---------------+------+-----------------+-----------------+--------+ | ip | port | prometheus_port | rpc_listen_port | status | +---------------+------+-----------------+-----------------+--------+ | 10.10.10.5 | 2883 | 2884 | 2885 | active | +---------------+------+-----------------+-----------------+--------+ obclient -h10.10.10.1 -P2883 -uroot@proxysys -p'********' -Doceanbase -A obshell program health check ok display obshell dashboard ok +-----------------------------------------------------------+ | obshell Dashboard | +---------------------------+------+---------------+--------+ | url | user | password | status | +---------------------------+------+---------------+--------+ | http://10.10.10.2:2886 | root | '********' | active | +---------------------------+------+---------------+--------+ Trace ID: ea4340b6-f35a-11ef-a019-00163e4cf51eQuery obconfigserve for the registered clusters.
Copy the access information under the ob-configserver component. Then, you can use the ob-configserver command line tool to view the OceanBase clusters that are registered. To format the JSON output in the shell command line, run the ob-configserver command line tool and specify the --format option. You can use the
sudo yum install jqcommand to install the jq command.curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' | jq .The following output is returned. The
ObRootServiceInfoUrlListcontains the information of an OceanBase cluster with the name test, which indicates that this cluster has been registered to the obconfigserver:{ "Code": 200, "Message": "successful", "Success": true, "Data": { "ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy", "ObProxyDatabaseInfo": { "DataBase": "***", "MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1", "Password": "***", "User": "***" }, "ObRootServiceInfoUrlList": [ { "ObRegion": "test", "ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test" } ], "Version": "4660b4b1f237893ba1da50a302e4c3e6" }, "Trace": "07a7cac129713d00", "Server": "10.10.10.1", "Cost": 0 }View the details of the OceanBase cluster.
To view the information of the corresponding OceanBase cluster, you can issue the
SHOW CLUSTERstatement again. Example:curl -s 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test' | jq .The output is as follows, successfully parsing the IP and port of the OBServer nodes in the cluster.
{ "Code": 200, "Message": "successful", "Success": true, "Data": { "ObClusterId": 1, "ObRegionId": 1, "ObCluster": "test", "ObRegion": "test", "ReadonlyRsList": [], "RsList": [ { "address": "10.10.10.4:2882", "role": "LEADER", "sql_port": 2881 }, { "address": "10.10.10.3:2882", "role": "FOLLOWER", "sql_port": 2881 }, { "address": "10.10.10.2:2882", "role": "FOLLOWER", "sql_port": 2881 } ], "Type": "PRIMARY", "timestamp": 1694084002271443 }, "Trace": "2b2ee036276b068e", "Server": "10.10.10.1", "Cost": 3 }
Start the ODP
OceanBase Database Proxy (ODP) can be started in two modes: rs_list mode and obproxy_config_server_url mode. In rs_list mode, ODP can only connect to one OceanBase cluster specified by the rs_list parameter. In obproxy_config_server_url mode, ODP can connect to all OceanBase clusters registered in the specified obconfigserver.
To start ODP by using obconfigserver, run the obd cluster edit-config command to open the configuration file and directly add the following content in the global module of the obproxy-ce component:
obproxy_config_server_url: http://10.10.10.1:8080/services?Action=GetObProxyConfig
Modify 10.10.10.1:8080 in the example to the access address of your obconfigserver.
Delete cluster registration info
You can run the following command to delete the cluster information registered in obconfigserver, for example, test1.
curl -X DELETE 'http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test1&ObClusterId=1&version=2' |jq .
In the preceding example, 10.10.10.1:8080 is the endpoint of obconfigserver, which can be obtained by executing the obd cluster display command. test1 is the value of appname in the configuration file of the cluster to be deleted, or the value obtained by connecting to the cluster and executing the SHOW PARAMETERS LIKE 'cluster'; command. ObClusterId is the value of cluster_id in the configuration file of the cluster to be deleted, or the value obtained from the cluster details as described in View registered information in obconfigserver.
The output will be as follows:
{
"Code": 200,
"Message": "successful",
"Success": true,
"Data": "success",
"Trace": "caba1209b3a00c56",
"Server": "10.10.10.1",
"Cost": 4
}
View the cluster information registered in obconfigserver again.
curl -s 'http://10.10.10.1:8080/services?Action=GetObProxyConfig' |jq .
The output is as follows, showing that the information about the test1 cluster is no longer available.
{
"Code": 200,
"Message": "successful",
"Success": true,
"Data": {
"ObProxyBinUrl": "http://10.10.10.1:8080/client?Action=GetObProxy",
"ObProxyDatabaseInfo": {
"DataBase": "***",
"MetaDataBase": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=admin&ObRegion=obdv1",
"Password": "***",
"User": "***"
},
"ObRootServiceInfoUrlList": [
{
"ObRegion": "test",
"ObRootServiceInfoUrl": "http://10.10.10.1:8080/services?Action=ObRootServiceInfo&ObCluster=test"
}
],
"Version": "4840ade8a158753aa5b9ea69ba014fc1"
},
"Trace": "d4b4b27fae24e7b4",
"Server": "10.10.10.1",
"Cost": 1
}
FAQs
The error prepared statement not supported is returned when obconfigserver is started
Symptom
When OceanBase Database is used as the metadb, the error prepared statement not supported is returned when obconfigserver is started. The log is as follows:
2022-11-16T09:52:14.47799+08:00 ERROR [12258,] caller=cmd/main.go:36:func1: start configserver failed: start config server: create configserver schema: sql/schema: reading schema information Error 1235: while parameter _ob_enable_prepared_statement is disabled, prepared statement not supported
[10.10.10.1:2882] [2022-11-16 09:52:14.459102] [YB42AC1EC731-0005EB5F1D83A0A7] fields: args:="[]"
Possible causes
The prepared statement feature is not enabled for OceanBase Database, which is used as the metadb, when obconfigserver is started.
Solution
You can use the following two methods to solve this issue.
Method 1: Add
interpolateParams=trueto theconnection_urlparameter of obconfigserver in the configuration file. Here is an example:connection_url: "user:password@tcp(IP:PORT)/test?parseTime=true&interpolateParams=true"Method 2: Connect to the OceanBase cluster and enable the
_ob_enable_prepared_statementparameter.Query whether the
_ob_enable_prepared_statementparameter is enabled.obclient> select name,value,svr_ip,svr_port from oceanbase.__all_virtual_sys_parameter_stat where name='_ob_enable_prepared_statement'; +-------------------------------+-------+---------------+----------+ | name | value | svr_ip | svr_port | +-------------------------------+-------+---------------+----------+ | _ob_enable_prepared_statement | False | 10.10.10.1 | 2882 | +-------------------------------+-------+---------------+----------+ 1 row in setEnable the
_ob_enable_prepared_statementparameter.obclient> alter system set _ob_enable_prepared_statement='True';
The error is returned when a cluster registered in obconfigserver is connected through ODP
Symptom
The error is returned when a cluster registered in obconfigserver is connected through ODP. Here is an example:
$ obclient -h10.10.10.2 -P2883 -uroot@sys#cluster -p -Doceanbase -A
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 11
Possible causes
The user and password configured for querying OceanBase Database cannot access the OceanBase cluster to query data.
Solution
You can use the following two methods to solve this issue.
Method 1: Execute the
obd cluster edit-configcommand to view the configuration file. You need to check whether theproxyro_passwordparameter in the OceanBase cluster configuration file and theobserver_sys_passwordparameter in the ODP configuration file are consistent. If they are inconsistent, modify both parameters to be consistent and then execute the corresponding command to restart the cluster. After the restart, you can connect to the cluster through ODP.Method 2: Query whether the
proxyrouser exists in OceanBase Database.Log in to the sys tenant of OceanBase Database as the root user.
obclient -h10.10.10.2 -P2881 -uroot@sys -p -Doceanbase -ACheck whether the
proxyrouser exists in the cluster.select user,password from mysql.user;Based on the query result, perform the following operations:
If the
proxyrouser does not exist in the cluster, execute the following command to create theproxyrouser and set the password to be consistent with theobserver_sys_passwordparameter in the ODP configuration file:create user 'proxyro' identified by '*****';If the
proxyrouser exists in the cluster, execute the following command to modify the password of theproxyrouser to be consistent with theobserver_sys_passwordparameter in the ODP configuration file:alter user 'proxyro' identified by '*****';
