达梦数据库V8安装部署(图形界面)
环境:
OS:Centos 7
DB:dm8
1.创建安装用户
groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba
密码设置为dameng
2.安装vnc
我们这里采用图形化界面安装数据库,提前安装好vnc,安装步骤参考如下:
http://blog.chinaunix.net/uid-77311-id-5821162.html
这里配置用户dmdba使用vnc登陆
3. 修改操作系统限制
vi /etc/security/limits.conf
* soft nproc 16384
* hard nproc 16384
* soft nofile 65536
* hard nofile 65536
sysctl -p生效
4.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
5.安装依赖包
yum install glibc
yum install libXp
yum install libXt
yum install libXtst
6.解压安装包并挂载镜像文件
[root@localhost soft]# unzip dm8_20220525_x86_rh6_64.zip
[root@localhost soft]# cd dm8_20220525_x86_rh6_64_ent/
[root@localhost dm8_20220525_x86_rh6_64_ent]# mount -o loop dm8_20220525_x86_rh6_64.iso /mnt
7.创建目录
mkdir /dmsoft # 数据库软件的安装目录
mkdir -p /dmdata/dmdb --数据目录–
mkdir -p /dmdata/dmarch/arch --归档目录–
mkdir -p /dmdata/dmbak/bak --备份目录
mkdir -p /dmdata/dmlog/log --日志目录
chown -R dmdba:dinstall /dmdata --授权dmdata给dmdba用户
chown -R dmdba:dinstall /dmsoft --授权dmdata给dmdba用户
后面统一使用如下目录规划
mkdir -p /dmdbms/product # 数据库软件的安装目录
mkdir -p /dmdbms/data --数据目录–
mkdir -p /dmdbms/arch --归档目录–
mkdir -p /dmdbms/bak --备份目录
mkdir -p /dmdbms/log --日志目录
chown -R dmdba:dinstall /dmdbms --授权dmdbms给dmdba用户
8.登陆vnc图形界面安装数据库软件
[dmdba@localhost /]$ cd mnt
[dmdba@localhost mnt]$ ./DMInstall.bin
根据提示执行如下语句
[root@localhost mnt]# /dmsoft/script/root/root_installer.sh
Move /dmsoft/bin/dm_svc.conf to /etc
Modify the files' mode of DM Server
Create the DmAPService service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
Finished to create the service (DmAPService)
Start the DmAPService service
我们这里不初始化数据库
这个时候数据库软件已经在执行了的
[root@localhost mnt]# systemctl status DmAPService.service
这里后台会有一个dmap进程
[root@localhost dmdbms]# ps -ef|grep dmap
root 11312 10699 0 10:07 pts/2 00:00:00 grep --color=auto dmap
dmdba 22605 1 0 Jul12 ? 00:00:03 /dmdbms/product/bin/dmap
9.创建数据库
[dmdba@localhost mnt]$ cd /dmsoft/tool
/dmsoft/tool/dbca.sh
注意设置大小写不敏感
这里设置密码暂时为dameng123
mv /dmsoft/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
systemctl enable DmServiceDMSERVER.service
systemctl start DmServiceDMSERVER.service
若不使用系统服务启动,也可以使用命令方式启动
nohup /dmdbms/product/bin/dmserver path=/dmdbms/data/slnngk/dm.ini &
这种方式启动的话 看服务状态是dead状态的
[root@localhost ~]# systemctl status DmServiceslnngk.service
● DmServiceslnngk.service - DM Instance Service
Loaded: loaded (/usr/lib/systemd/system/DmServiceslnngk.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Wed 2022-07-13 10:40:06 CST; 5min ago
Process: 15820 ExecStop=/dmdbms/product/bin/DmServiceslnngk stop (code=exited, status=0/SUCCESS)
Process: 14819 ExecStart=/dmdbms/product/bin/DmServiceslnngk start (code=exited, status=0/SUCCESS)
Main PID: 14842 (code=exited, status=0/SUCCESS)
Jul 13 10:35:25 localhost.localdomain systemd[1]: Starting DM Instance Service...
Jul 13 10:35:40 localhost.localdomain DmServiceslnngk[14819]: [37B blob data]
Jul 13 10:35:40 localhost.localdomain systemd[1]: Started DM Instance Service.
Jul 13 10:39:56 localhost.localdomain systemd[1]: Stopping DM Instance Service...
Jul 13 10:40:06 localhost.localdomain DmServiceslnngk[15820]: [37B blob data]
Jul 13 10:40:06 localhost.localdomain systemd[1]: Stopped DM Instance Service.
命令行方式启动的话 需要进入到系统里面才能关闭
SQL> shutdown immediate;
executed successfully
systemctl restart DmServiceDMSERVER.service
10.登录
验证是否安装成功,登录可以使用windows客户端,但我没有安装,我们就用服务器上的客户端进行登录.
[root@localhost dmdb]# su - dmdba
[dmdba@localhost tool]$ /dmsoft/tool/disql
disql V8
SQL> connect sysdba
password:
Server[LOCALHOST:5236]:mode is normal, state is open
login used time : 2.886(ms)
10.dmdba账号设置环境变量
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dmsoft/bin"
export DM_HOME="/dmsoft"
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH
11.客户端工具登陆
下载windos客户端工具,通过该工具进行连接
dm8_20220519_x86_win_64_ent.zip
12.数据库开启归档模式(命令模式修改)
例如开启归档并限制归档空间为 200 GB,如下所示:
disql sysdba/dameng123
alter database mount;
alter database add archivelog 'dest=/dmdata/dmarch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=0';
alter database archivelog;
alter database open;
查看是否配置归档
select name,arch_mode from v$database;
查看是否归档,及归档的空间,路径
select arch_name,arch_type,arch_dest,arch_file_size,arch_space_limit from v$dm_arch_ini;
查看数据库实例名,状态,主机名
select instance_name,status$,host_name from v$instance;
归档切换
alter system archive log current;
这个时候会自动生成dmarch.ini文件,内如如下
[dmdba@localhost slnngk]$ more dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/dmarch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 0
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
配置dmmal.ini,用于部署主备环境(目前用不到,配置了该文件后面可以通过动态的方式添加)
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = SLNNGK #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.1.135 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.1.135 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口
13.日志目录
日志目录存放在数据库软件的安装目录下
/dmsoft/log
14.创建schema(与oracle一样)
创建表空间
create tablespace tps_hxl datafile '/dmdata/dmdb/DAMENG/tps_hxl01.DBF' size 1024 autoextend on; ##这里单位是M,文件目录存储在/dmdata/dmdb/DAMENG
alter tablespace tps_hxl add datafile '/dmdata/dmdb/DAMENG/tps_hxl02.DBF' size 1024 autoextend on;
alter tablespace tps_hxl add datafile '/dmdata/dmdb/DAMENG/tps_hxl03.DBF' size 1024; ##默认就是自动扩展的
drop tablespace tps_hxl; ##删除表空间,数据文件一并删除掉了
create user hxl identified by dameng123 default tablespace tps_hxl default index tablespace tps_hxl;
grant dba to hxl;
15.创建表并写入数据
create table tb_test
(
id number,
name varchar(32)
);
insert into tb_test values(1,'name1');
insert into tb_test values(2,'name2');
insert into tb_test values(3,'name3');
insert into tb_test values(4,'name4');
insert into tb_test values(5,'name5');
获取表的ddl
select dbms_metadata.get_ddl ('TABLE','TB_TEST','HXL') FROM DUAL;
SQL> select dbms_metadata.get_ddl ('TABLE','TB_TEST','HXL') FROM DUAL;
LINEID DBMS_METADATA.GET_DDL('TABLE','TB_TEST','HXL')
---------- ------------------------------------------------------------------------------------------------------
1 CREATE TABLE "HXL"."TB_TEST"
(
"ID" NUMBER,
"NAME" VARCHAR(32)) STORAGE(ON "TPS_HXL", CLUSTERBTR) ;
used time: 77.344(ms). Execute id is 813
获取通过索引名获取索引ddl
SQL> select dbms_metadata.get_ddl ('INDEX','IDX_ID','HXL') FROM DUAL;
LINEID DBMS_METADATA.GET_DDL('INDEX','IDX_ID','HXL')
---------- ---------------------------------------------------------------------------------------
1 CREATE INDEX "IDX_ID" ON "HXL"."TB_TEST"("ID" ASC) STORAGE(ON "TPS_HXL", CLUSTERBTR) ;
used time: 4.024(ms). Execute id is 818.
SQL>
create table tb_test02
(
id number,
name varchar(32),
createtime datetime default now(),
moditytime timestamp default now()
);
insert into tb_test02(id,name) values(1,'name1');
insert into tb_test02(id,name) values(2,'name2');
insert into tb_test02(id,name) values(3,'name3');
insert into tb_test02(id,name) values(4,'name4');
insert into tb_test02(id,name) values(5,'name5');
16.开发者只需要的权限
revoke dba from hxl;
grant resource to hxl;
grant public to hxl;
17.卸载实例
删除数据库实例
图形界面
[dmdba@localhost tool]$ ./dbca.sh
命令行模式(root用户下运行)
[root@localhost ~]# /dmdbms/product/script/root/dm_service_uninstaller.sh -help
Usage: dm_service_uninstaller.sh [-n service_name]
-n Service Name, delete the service
-h Help
需要指定服务名
18.卸载(软件)
1.图形化卸载
##进入DM安装目录
cd /DM_INSTALL_PATH
##执行卸载脚本(删除软件和数据库)
[dmdba@localhost dmsoft]$ ./uninstall.sh
卸载程序不会删除安装目录下有用户数据的库文件以及安装DM后使用过程中产生的一些文件,用户可以根据需要手工删除这些内容
然后直接删除相应的文件和数据目录
[root@localhost /]# rm -rf dmsoft
[root@localhost /]# rm -rf dmdata
2.命令行卸载
##进入DM安装目录
cd /DM_INSTALL_PATH
##执行卸载脚本命令行卸载需要添加参数-i
./uninstall.sh -i