注册
修改达梦数据库AP_PORT的脚本
技术分享/ 文章详情 /

修改达梦数据库AP_PORT的脚本

ZhuHong 2024/05/10 1198 3 0

分享个修改达梦数据库AP_PORT的脚本,有些特殊情况下可以使用。脚本修改内容:
1)修改dm_ini文件的EXTERNAL_AP_PORT参数
2)创建dmap.ini文件
3)修改DmAPService文件
4)修改system系统服务名(避免开发环境多实例情况下服务名冲突覆盖)

使用root权限执行:
sh dm_change_APport.sh+安装目录+脚本名+新的AP端口+CONFIG_PATH

以修改AP端口为4239,系统服务名为DmAPServicePROD1为例:
rMvukjQFcr.jpg

如果数据库已经运行,执行sql:SP_SET_PARA_VALUE(1,‘EXTERNAL_AP_PORT’,新的AP端口);
可使修改生效。未运行的数据库(安装阶段),正常启动实例服务即可生效。

以下为脚本:

#!/bin/bash

#get para value
dm_install_dir=$1
service_name=$2
new_ap_port=$3
dm_data_dir=$4

#define function
function create_ap() {
        sh ${dm_install_dir}/script/root/dm_service_installer.sh -t dmap
}

function change_dmini() {
   dmini_file=${dm_data_dir}/dm.ini
   para1=EXTERNAL_AP_PORT
   value1=${new_ap_port}
   sed -i "s/^\([ \t]*${para1} [ \t]*=[ \t]*\)\([^ ]*\)\( *.*\)/\1${value1}\3/" ${dmini_file}

}

function create_dmapini() {
   if [ ! -f "${dm_data_dir}/dmap.ini" ]; then
       touch ${dm_data_dir}/dmap.ini
   fi
   echo "AP_PORT=${new_ap_port}" >${dm_data_dir}/dmap.ini
}

function change_apservice_file() {
    apservice_file=${dm_install_dir}/bin/DmAPService
    apini_file=${dm_data_dir}/dmap.ini
    ini_string="DMAP_INI_PATH=%DMAP_INI_PATH%"
    ini_new_string="DMAP_INI_PATH=${apini_file}"
    sed -i "s#${ini_string}#${ini_new_string}#g" "${apservice_file}"
}

function change_system_apservice {
    sys_service_file=/usr/lib/systemd/system/DmAPService.service
    new_service_file=/usr/lib/systemd/system/DmAPService${service_name}.service
    if [ -f "${sys_service_file}" ]; then
        cp /usr/lib/systemd/system/DmAPService.service /usr/lib/systemd/system/DmAPService.servicebak
        mv /usr/lib/systemd/system/DmAPService.service ${new_service_file}
    else
        create_ap
        change_apservice_file
        mv /usr/lib/systemd/system/DmAPService.service ${new_service_file}
    fi
    systemctl daemon-reload
}

function restart_ap_service() {
   systemctl restart DmAPService${service_name}.service
}


#excute
change_dmini
create_dmapini
change_apservice_file
change_system_apservice
restart_ap_service

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服