暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于Java的应用以及达梦数据库安装后备份恢复迁移的快速方法

济南小老虎 2024-09-01
118

应用备份

time tar -czvf  myapp$(date +%Y%m%d).tar.gz  --exclude=/myapp/logs --exclude=/myapp/tools/update/patchfiles --exclude=/myapp/tools/setup/db --exclude=/myapp/server/log  myapp

建议先删除部分垃圾文件:
1. 日志
2. 补丁备份.
3. dmp备份backup目录
4. jq-config 下Temp 文件夹
5. 其他应用服务器目录下的垃圾备份文件.

然后备份 需要注意. 可以排除掉部分不能删除的文件.


数据库备份

mkdir -p dmback
time opt/dmdbms/bin/dexp myapp2103dm/'"xxxxxxxxxx"'@127.0.0.1 file=/dmback/myapp$(date +%Y%m%d).dump log=/dmback/myapp$(date +%Y%m%d).log

恢复的话为:
/opt/dmdbms/bin/disql 进入sysdba :

create tablespace myapp2103dm datafile '/opt/dmdbms/data/DAMENG/myapp2103dm.dbf' size 256;
create user myapp2103dm identified by xxxxxxxxxx default tablespace myapp2103dm ;
grant dba,resource to myapp2103dm ;

然后执行命令为:

nohup opt/dmdbms/bin/dimp myapp2103dm/xxxxxxxxxx@127.0.0.1 file=/dmback/myapp$(date +%Y%m%d).dump log=/dmback/myapp$(date +%Y%m%d).log &


数据库安装

unzip  some.zip
useradd dmdba
groupadd dinstall
mkdir dminstall
mount some.iso dminstall
cd dminstall
./DMInstall.bin -i
#注意安装模块选择 1 2 3 4 不选择数据库, 数据库需要单独处理
cd opt/dmdbms/bin
./dminit path=/opt/dmdbms/data case_sensitive=1 charset=0 page_size=32
# 注意这个需要跟具体的要求有关系, 我这个是GB18030的字符集

注意 此时使用的是 root用户, 如果使用root用户启动的话. 达梦已经禁止了.
所以必须要 chown dmdba:dinstall opt/dmdbms -R
然后可以启动服务了
默认的为:
systemctl enable --now DmServiceDMSERVER


创建为服务

1. 提示: Starting DmServiceDMSERVER: libgcc_s.so.1 must be installed for pthread_cancel to work
解决办法: dmdbms/bin目录下面的 libproj.so 和 libxqilla.so 移动到其他目录然后再启动服务

2. 提示: fail to load libpmem.so, libpmem.so: cannot open shared object file
注意查看日志的文件为: opt/dmdbms/log/dm_unknown_202306.log
解决办法 将文件夹的属主修改为 dmdba
chown dmdba:dinstall opt/dmdbms -R

3. 注册为服务:
cd opt/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini opt/dmdbms/data/DAMENG/dm.ini
手动启动服务
/opt/dmdbms/bin/DmServiceDMSERVER start

4. 如果没有启动服务的文件-创建启动服务的配置文件

cat > usr/lib/systemd/system/DmServiceDMSERVER.service <<EOF
[Unit]
Description=DM database instance service
After=network.target remote-fs.target

[Service]
Type=forking
PIDFile=/opt/dmdbms/bin/pids/DmServiceDMSERVER.pid
ExecStart=/opt/dmdbms/bin/DmServiceDMSERVER start
ExecStop=/opt/dmdbms/bin/DmServiceDMSERVER stop
PrivateTmp=true
User=dmdba

TasksMax=infinity
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000

[Install]
WantedBy=multi-user.target
EOF



密码修改

命令行安装完默认密码是 SYSDBA
修改密码的方式与 oracle基本一致

cd /opt/dmdbms/bin
./disql SYSDBA/SYSDBA
alter user SYSDBA identified by "xxxxxxxxxx" ;

创建数据库的命令如下:
./disql SYSDBA/xxxxxxxxxx <<EOF
create tablespace myapp2103dm datafile '/opt/dmdbms/data/DAMENG/myapp2103dm.dbf' size 256;
create user myapp2103dm identified by xxxxxxxxxx default tablespace myapp2103dm ;
grant dba,resource to myapp2103dm ;
EOF


文章转载自济南小老虎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论