OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Deployer

V2.3.0Community Edition
  • What is OBD
  • Quick Start
    • Install and configure OBD
    • Quickly start OceanBase Database
    • Deploy an OceanBase cluster on the GUI
  • OBD Command
    • Quick deployment command
    • Cluster commands
    • Mirror and repository commands
    • Testing commands
    • Tool commands
    • obdiag commands
    • Telemetry commands
  • User Guide
    • Configuration files
    • Deploy OceanBase Database on a single OBServer node
    • Deploy OCP Express by using commands
    • Use OCP to take over a cluster deployed by OBD
    • Add GUI-based monitoring for an existing cluster
    • Upgrade OCP Express
    • Upgrade OceanBase Database
    • Physical Standby Database
      • Deploy primary and standby tenants by using OBD
      • Switch the roles of tenants and decouple a standby tenant from the primary tenant
    • Deploy and use Config Server
  • FAQ
    • FAQ
    • How do I upgrade an OBProxy to obproxy-ce 3.2.3?
  • Mode configuration rules
  • Error codes
  • Release Notes
    • Version rules
    • V2.3
      • OceanBase Deployer V2.3.0
    • V2.2
      • OceanBase Deployer V2.2.0
    • V2.1
      • OceanBase Deployer V2.1.1
      • OceanBase Deployer V2.1.0
    • V2.0
      • OceanBase Deployer V2.0.1
      • OceanBase Deployer V2.0.0
    • V1.6
      • OceanBase Deployer V1.6.2
      • OceanBase Deployer V1.6.1
      • OceanBase Deployer V1.6.0
    • V1.5
      • OceanBase Deployer V1.5.0
    • V1.4
      • OceanBase Deployer V1.4.0
    • V1.3
      • OceanBase Deployer V1.3.3
      • OceanBase Deployer V1.3.2
      • OceanBase Deployer V1.3.0
    • V1.2
      • OceanBase Deployer V1.2.1
      • OceanBase Deployer V1.2.0

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Deployer
  3. V2.3.0

How do I upgrade an OBProxy to obproxy-ce 3.2.3?

Last Updated:2026-09-04 08:21:29

script

The open source OBProxy component is formally renamed as obproxy-ce. Therefore, the error No such package obproxy-3.2.3 will be reported if you run the following command for an upgrade:

obd cluster upgrade <deploy name> -c obproxy -V 3.2.3

You need to run the following script as the execution user of OBD to modify the metadata, and then run the following command to upgrade the OBProxy:

obd cluster upgrade <deploy name> -c obproxy-ce -V 3.2.3

script

OBD_HOME=${OBD_HOME:-${HOME}}/.obd
obproxy_repository=${OBD_HOME}/repository/obproxy
obproxy_ce_repository=${OBD_HOME}/repository/obproxy-ce

function shadow_repo() {
    repository_path=$1
    ce_repository_path=$2
    [[ $repository_path =~ ^/  ]] && a=$repository_path || a=`pwd`/$repository_path
    while [ -h $a ]
    do
        b=`ls -ld $a|awk '{print $NF}'`
        c=`ls -ld $a|awk '{print $(NF-2)}'`
        [[ $real_patn =~ ^/ ]] && a=$b  || a=`dirname $c`/$b
    done
    instance_hash=`basename $a`
    ce_version_path=`dirname ${ce_repository_path}`
    ln -sf ${ce_version_path}/${instance_hash} ${ce_repository_path}
}

function copy_repository() {
    VS=(`ls $obproxy_repository`)
    for version in ${VS[@]}; do
        version_path="${obproxy_repository}/${version}"
        ce_version_path="${obproxy_ce_repository}/${version}"
        repositories=(`ls $version_path`)
        mkdir -p $ce_version_path
        for repository in ${repositories[@]}; do
            repository_path="${version_path}/${repository}"
            ce_repository_path="${ce_version_path}/${repository}"
            if [ -d "$ce_repository_path" ]; 
            then
                echo "${ce_repository_path} exist"
            else
                if [ -L ${repository_path} ];
                then 
                    shadow_repo ${repository_path} ${ce_repository_path}
                else
                    cp -r ${repository_path} ${ce_repository_path}
                fi
            fi
        done
    done
}

function change_cluster_meta() {
    cluster_home_path=${OBD_HOME}/cluster
    CS=(`ls ${cluster_home_path}`)
    for cluster in ${CS[@]}; do
        cluster_path=${cluster_home_path}/$cluster
        if [ -f ${cluster_path}/.data ]; then
            sed -i 's/^  obproxy:/  obproxy-ce:/g' ${cluster_path}/.data
        fi
        sed -i 's/^obproxy:/obproxy-ce:/' ${cluster_path}/*.yaml
    done
}

copy_repository && change_cluster_meta && echo 'ok'

Previous topic

FAQ
Last

Next topic

Mode configuration rules
Next
on this page
script