在中标麒麟7上安装DM8数据库
支持平台:Linux,hpunix,windows等
系统要求:
内核要在2.6以上,glibc2.3 UnixODBC gcc
一.安装前的准备
1.1 查看软硬件信息
1.查看CPU信息
[root@localhost dmdba]# lscpu
[root@localhost dmdba]# cat /proc/cpuinfo
2.查看内存消息
[root@localhost dmdba]# free –m
3.查看硬盘,分区信息
[root@localhost dmdba]# fdisk –l
4.查看磁盘剩余容量信息
[root@localhost dmdba]# df –h
5.远程访问数据库需要关闭防火墙
[root@localhost dmdba]# systemctl status firewalld
[root@localhost dmdba]# systemctl stop firewalld
[root@localhost dmdba]# systemctl disable firewalld
6.查看内核
[root@localhost dmdba]# uname -ra
Linux localhost.localdomain 3.10.0-1062.18.1.el7.x86_64 #1 SMP Wed May 13 19:56:37 CST 2020 x86_64 x86_64 x86_64 GNU/Linux
内核3.1
1.2规划安装路径
[root@localhost dmdba]# mkdir -p /dm8
赋予权限
[root@localhost dmdba]# chown dmdba:dinstall /dm8 –R
1.3配置专门的安装用户
安装DM8不建议使用root的用户安装,因此创建一个dmdba用户,专门用来安装DM8。
创建dmdba用户
//先创建用户组
groupadd dinstall
//添加用户
useradd –g dinstall dmdba
//添加密码
passwd dmdba
设置dm8为dmdba:dinstall用户所有者和用户
chown dmdba:dinstall /dm8 –R
[root@localhost /]# ls -ld /dm8/
drwxr-xr-x 19 dmdba dinstall 4096 9月 9 15:59 /dm8/
1.4 配置dmdba用户环境变量
方便打开disql等
在dmdba用户下
[dmdba@localhost ~]$ vi .bash_profile
添加以下内容
export PATH
export DM_HOME=/dm8
export PATH=
P
A
T
H
:
PATH:
PATH:HOME/.local/bin:
H
O
M
E
/
b
i
n
:
HOME/bin:
HOME/bin:DM_HOME/bin:$DM_HOME/tool
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"
环境变量生效:
source .bash_profile
1.5 设置最大文件打开数
在root用户下
[root@localhost /]# vi /etc/security/limits.conf
添加以下内容
dmdba soft nofile 4906
dmdba hard nofile 65536
1.6 DM8数据库安装
先把dm8.iso镜像文件拷贝到虚拟机上
然后切换的root用户
[root@localhost dmdba]# mount -o loop dm8_setup.iso /mnt
切换为dmdba用户,进入/mnt
安装DM8一定不能用root用户安装
图形化界面安装
./DMInstall.bin
命令行安装
[dmdba@localhost mnt]$ ./DMInstall.bin –i
执行脚本
root用户下
/dm8/script/root/root_installer.sh
安装目录的结构和内容
bin:库文件和达梦常用的命令
bin:UTF8
Desktop:桌面
Drivers:驱动
jar:jar包,存放的是逻辑备份,数据快速加载,日志挖掘
license_en.txt license_e=zn.txt:许可信息
log:日志
release_zh.txt release_eh.txt :版本信息
script:脚本
uninstall uninstall.sh:卸载
web:dem类似Oracle oem
doc:文档
include:头文件(.h)
jdk:java
Samples:示例
tool:客户端工具
二.创建数据库实例
数据库实例安装
图形化:
安装完数据库后直接勾上初始化实例即可弹出窗口
或者直接到dm8的bin目录下运行创建数据库实例的工具
cd /dm8/bin
./dbca
[dmdba@localhost bin]# ./dminit path=/dm8/data db_name=DB_TEST instance_name=TEST PORT_NUM=5237
[root@localhost root]# ./dm_service_installer.sh -h
[root@localhost root]# ./dm_service_installer.sh -t dmserver -p TEST
-dm_ini /dm8/data/DB_TEST/dm.ini
重做redo文件
ALTER DATABASE RESIZE logfile ‘/dm8/data/DAMENG/DAMENG01.log’ to 512;
SQL> alter database resize logfile ‘/dm8/data/DAMENG/DAMENG02.log’ to 512;
三.创建表及数据导入
3.1 登录至已创建好的数据库有两种方式
1.使用manager工具登录
cd /dm8/tool
./manager
2.使用disql登录
cd /dm8/bin
./disql SYSDBA/SYSDBA:5236
3.2建表
CREATE TABLE "SYSDBA"."G_CLASS"
(
C_ID INT NOT NULL,
TEACHER_ID INT
) ;
CREATE TABLE "SYSDBA"."G_STUDENT"
(
STU_ID INT,
C_ID INT,
NAME VARCHAR(8188),
AD_DATE DATETIME(0)
) ;
3.3数据导入
可以编写脚本导入数据
vi test.sql
insert into g_student values (1,1001,'Bob',sysdate);
insert into g_student values (2,1001,'Allen',sysdate);
insert into g_student values (3,1001,'James',sysdate);
insert into g_student values (4,1002,'Lijian',sysdate);
commit;
insert into g_class values (1001,11112222);
insert into g_class values (1002,11113333);
commit;
在disql或者manager工具上输入, `/home/dmdba/test.sql;运行脚本
3.4 对表添加主键和外键
如果要根据需求添加主键外键,可使用ALTER语句添加
SQL> ALTER TABLE G_CLASS ADD CONSTRAINT PPP PRIMARY KEY(C_ID);
操作已执行
已用时间: 26.727(毫秒). 执行号:1822.
SQL> ALTER TABLE G_STUDENT ADD CONSTRAINT FK_ID FOREIGN KEY (C_ID) REFERENCES G_CLASS(C_ID);
四、表空间管理
4.1 查看表空间和数据文件
select tablespace_name,file_name from dba_data_files;
4.2 创建表空间
CREATE TABLESPACE test datafile '/dm8/data/DAMENG/test01.dbf' size 32,'/dm8/data/DAMENG/test02.dbf' size 32;
若表空间空间不足
修改数据文件大小,由32m修改到50m
resize to
alter tablespace test resize DATAFILE '/dm8/data/DAMENG/test01.dbf' to 50;
添加数据文件
alter tablespace test add datafile '/dm8/data/DAMENG/test03.dbf' size 50;
修改数据文件为自动扩展,每次扩展1m,最大扩展到128m
alter TABLEspace test datafile 'test02.dbf' AUTOEXTEND ON next 1 MAXSIZE 128;
--表空间联机
alter tablespace test online;
--脱机
alter tablespace test offline;
4.3 修改数据文件的路径
先脱机
alter TABLESPACE test OFFLINE;
修改路径
alter tablespace test rename datafile '/dm8/data/DAMENG/test02.dbf' TO '/dm8/test02.dbf' ;
重新联机
alter tablespace test online;
五、用户管理
创建test用户,并默认表空间为test
create user test identified by 123456789 default tablespace test;
在SYSDBA用户登录下
可以通过图形化工具对用户进行权限管理。所需赋予的权限以及角色只需找到该权限点√赋予即可,同样可以通过DCL语句对角色进行权限管理
六 备份与还原
6.1 冷备
冷备指脱机备份
一定要关闭数据库服务,dmap保持运行状态
使用Console工具
在tool目录
./console
使用dmrman工具
在bin目录
./dmrman
backup database ‘/dm8/data/DAMENG/dm.ini’ backupset ‘/dm8/backup/lb’;
6.2热备
热备指联机备份,不需要关闭服务,且数据库需开启归档
select arch_mode from v$database;
开启归档
–SQL语句开启
alter DATABASE mount;
alter database add ARCHIVELOG 'dest=/dm8/arch,type=local,file_size=1024,space_limit=0';
alter DATABASE ARCHIVELOG;
alter DATABASE OPEN;
图形化
备份
图形化
disql
整库备份
backup database full TO “fullbak2” BACKUPSET ‘/dm8/backup/rb’;
//增量备份
增量备份的基备份集目录选择全量备份的目录,不然会报无效备份集目录的错误
backup database increment to “increbak_0914” backupset ‘/dm8/data/DAMENG/bak/increbak_0914’ device type disk;
表备份
backup table “DMHR”.“EMPLOYEE” to “TAB_DMHR_EMPLOYEE_2020_09_14_16_28_08” backupset ‘/dm8/backup/tablebak’;
表空间备份
backup tablespace “DMHR” full to “TS_DMHR_FULL_2020_09_14_16_40_19” backupset ‘/dm8/backup/tsbak’ device type disk;
归档备份
backup archivelog all to “ARCH_2020_09_14_16_51_39” backupset ‘ARCH_2020_09_14_16_51_39’;
还原
还原在dnrman进行
restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset
‘/dm8/backup’;
recover database ‘/dm8/data/DAMENG/dm.ini’ with archivedir
‘/dm8/arch’;
recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
表空间还原
表空间只能在联机模式下进行备份,脱机模式进行还原
restore database ‘/dm8/data/DAMENG/dm.ini’ tablespace DMHR from
backupset ‘/dm8/backup’;
recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace DMHR;
七、作业系统
建议使用图形界面完成
使用作业系统之前,需创建代理环境
创建成功后
制定定时备份计划,每周六晚11点全量备份,每周日、一、二、三、四、五 晚上11点增量备份
作业步骤
作业调度
作业步骤和调度创建完成后一定要点确定
DDL语句
call SP_CREATE_JOB(‘backup_job’,1,0,’’,0,0,’’,0,’’);
call SP_JOB_CONFIG_START(‘backup_job’);
call SP_ADD_JOB_STEP(‘backup_job’, ‘step1’, 5, ‘01000/dm8/backup’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘backup_job’, ‘h1’, 1, 2, 1, 63, 0, ‘23:00:00’, NULL, ‘2020-09-15 15:47:31’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘backup_job’);
八、Linux配置ODBC
用root配置
[root@localhost dm8]# tar -zxvf unixODBC-2.3.0.tar.gz
[root@localhost dm8]# cd unixODBC-2.3.0/
[root@localhost dm8]# ./configure
[root@localhost dm8]# make
[root@localhost dm8]# make install
[root@localhost dm8]# odbcinst –j
odbc.ini
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so
切回dmdba用户
su dmdba
isql dm8
出现这个配置成功