#!/bin/bash set -e DM_PATH="/opt/dmdbms" DM_DATA_PATH="${DM_PATH}/data" DB_NAME="DAMENG" DM_INI_PATH="${DM_DATA_PATH}/${DB_NAME}/dm.ini" DM_INIT_PWD="${DM_INIT_PWD:-Aa123456}" DM_LICENSE_PATH="/license/dm.key" mkdir -p ${DM_DATA_PATH} chown -R dmdba ${DM_PATH} if [ ! -f "$DM_INI_PATH" ]; then echo "初始化数据库..." su - dmdba -c "${DM_PATH}/bin/dminit PATH=${DM_DATA_PATH} DB_NAME=${DB_NAME} SYSDBA_PWD=${DM_INIT_PWD} SYSAUDITOR_PWD=${DM_INIT_PWD}" if [ -f "$DM_LICENSE_PATH" ]; then echo "复制许可证..." cp $DM_LICENSE_PATH ${DM_PATH}/bin/dm.key chown dmdba ${DM_PATH}/bin/dm.key fi echo "启动 DM Server..." su - dmdba -c "${DM_PATH}/bin/dmserver ${DM_INI_PATH} &" echo "等待 DM Server 启动..." until $DM_PATH/bin/disql SYSDBA/${DM_INIT_PWD}@localhost:5236 -e "select 1 from dual;" >/dev/null 2>&1; do sleep 1 done echo "DM server is ready." echo "执行初始化 SQL..." for sql_file in /init.db/*.sql; do echo "执行 $sql_file..." $DM_PATH/bin/disql SYSDBA/${DM_INIT_PWD}@localhost:5236 \`${sql_file} done echo "初始化完成." else if [ -f "$DM_LICENSE_PATH" ]; then echo "复制许可证..." cp $DM_LICENSE_PATH ${DM_PATH}/bin/dm.key chown dmdba ${DM_PATH}/bin/dm.key fi echo "数据库已存在,直接启动..." su - dmdba -c "${DM_PATH}/bin/dmserver ${DM_INI_PATH} &" fi tail -f /dev/null