57 lines
1.4 KiB
Bash
57 lines
1.4 KiB
Bash
#!/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
|