达梦作为国内领先的数据库龙头企业,拥有自主知识产权,与Oracle语法兼容性极好,本人从事电力行业,目前达梦数据库已占据相当大的市场,多年使用中,总结了一下一些内容,仅供大家学习参考:
1.达梦数据库最简单安装:日常需要搭建测试环境等,好多时候无需重装数据库,只需从现有环境直接拷贝并重新初始化即可:步骤如下
(1)拷贝安装目录及文件:从已有的数据库服务机器(最好是单机库)上打包拷贝整个dmdbms目录(安装目录)至目的机对应目录并解压,通常位于/home/dmdba/dm目录下;
(2)修改数据库配置:主要是dm.ini文件,注意修改对应的数据、归档、备份文件的路径,路径为实际路径,以及内存相关的参数需根据实际进行调整;
(3)初始化空库结构并测试启动:
~/dmdbms/bin目录下执行./dminit进行初始化,后面参数用于指定路径及初始化页大小。
./dminit path=/home/dmdba/dm/dbdata/dmdata/ page_size=32
初始化完成后尝试启动空库服务,同样是在~/dmdbms/bin目录下执行如下命令出现如下提示即为正常。
. 空库启动服务:/dmserver /home/dmdba/dm/dbdata/dmdata/DAMENG/dm.ini
2.导库(从基准库导入bak文件)
将从基准库(或其他正常运行的系统)导出的bak文件放到指定目录下,然后停掉数据库服务,同样在~/dmdbms/bin目录下使用dmrestore进行数据导入(还原),其中配置文件和备份文件路径根据实际填写。
./dmrestore ini_path=/home/dmdba/dm/dmdbms/bin/dm.ini file=/home/dmdba/dm/dbbak/dmbak/db_20191224.bak
3启动数据库服务
在~/dmdbms/bin目录下使执行:./dmserverd start 启动数据库,提示OK后使用disql或manager工具测试登录是否正常。
4常见问题查找定位方法
初始化、导库、启动数据库均可能出现报错,通常为dm.ini中的相关参数配置错误导致,需根军后台报错、日志信息进行分析定位。如数据库安装版本和导出BAK的版本不一致时,启动服务会不听的core,根据dm_DMSERVER_202002.log日志中的提示将dm.ini中的CHECK_SVR_VERSION参数修改为0即可。
5.常用SQL语句:
(1)导出空库结构:./dexp userid=sysdba/***@IP log=20180910.log full=y rows=n file=dameng_dg.dmp directory=/home/dmda/dbback/;
说明:如需导出带数据,去掉 rows=n参数即可,如需导出某个用户数据,需将userid后的参数进行修改即可;若FILE没有指定文件路径,则可在DIRECTORY中指定
(2)数据导入:./dimp USERID=SYSDBA/×××× FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log DIRECTORY=/mnt/data/dimp
(3)全库物理备份:SQL> backup database full to db_20180115 bakfile '/dbbak/dmbak/db_20180115.bak' compressed;
(4)物理备份还原:./dmrestore ini_path=/home/dmdba/dm/dmdbms/bin/dm.ini file=/home/dmdba/dm/dbbak/dmbak/db_20180115.bak
注意:全库物理备份还原时需先停止数据库服务。