当前位置: 首页 > 工具软件 > DCA > 使用案例 >

DCA博客

闻人宝
2023-12-01

DCA博客

DM数据库的版本介绍

开发版:有时间和并发数限制,不能作为商用
标准版:小型应用,没有集群等高级功能和特性
企业版:三权分立,大中型企业使用,具有集群等高级特性
安全版:基于企业版的四权分立,安全特性进一步增强(强访问控制、客体重用等)

DM8数据库安装

1、确认服务器软硬件信息
查看cpu信息:

lscpu
cat /proc/cpuinfo

查看内存使用情况:

free -g

查看磁盘、分区信息:

fdisk -l   和  df -lh

关闭防火墙:

systemctl stop firewalld
systemctl disable firewalld

磁盘io性能测试:

缓冲写:dd if=/dev/zero of=/opt/testw.dbf bs=1M count=10240 
缓冲读:dd if=/opt/testr.dbf of=/dev/null bs=4k 
纯写:dd if=/dev/zero of=/opt/testw.dbf bs=1M count=10240 oflag=direct
纯读:dd if=/opt/testr.dbf of=/dev/null bs=4k oflag=direct

2、规划数据库路径并且授权

mkdir /dm8
chown -R dmdba :dinstall /dm8

3、新建dmdba用户

groupadd dinstall
useradd -g dinstall
passwd dmdba
更改用户 dmdba 的密码。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

4、修改用户资源限制

vi /etc/security/limits.conf
dmdba    soft    nproc     65535
dmdba    hard    nproc     65535
dmdba    soft    nofile    65536
dmdba    hard    nofile    65536
dmdba    soft    core      unlimited
可以通过以下命令临时修改最大 文件打开数
prlimit --nofile=65535:65535 --pid 13508

5.dmdba用户安装数据库

./DMInstall.bin -i
root用户执行
/home/dmdba/dmdbms/script/root/root_installer.sh	

前台启动
cd /home/dmdbadmdbms/bin
./dmserver /dm8/DAMENG/dm.ini
**出现SYSTEM IS READY即为数据库启动正常**

执行exit停止数据库
**DM Database Server shutdown successfully.**

6、数据库实例状态

shutdown:关闭状态
mount:配置状态
open:数据库打开状态,数据库对外提供服务
suspend:挂起状态

7、初始化数据库实例

[dmdba@localhost bin]$ ./dminit help
initdb V7.6.0.209-Build(2019.10.25-114655)ENT 
db version: 0x7000a
file dm.key not found, use default license!
License will expire in 14 day(s) on 2020-10-30
格式: ./dminit     KEYWORD=value
例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16
关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16、32,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4、8、16、32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:64M ~ 2G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(0),可选值:0/1/2
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENC_FLAG              设置日志文件是否加密(N),可选值:Y/N,1/0
USBKEY_PIN                 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:512、4096,单位:Byte
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
DCP_MODE                   是否是DCP代理模式(0)
DCP_PORT_NUM               DCP代理模式下管理端口
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                ECS模式下AP协同工作的监听端口
HELP                       打印帮助信息

cd /home/dmdba/dmdbms/bin
./dminit path=/dm8 PAGE_SIZE=16
通过查看dminit***.log日志来查看初始化参数
[dmdba@localhost DAMENG]$ cat /dm8/DAMENG/dminit20201016152821.log 
start init database: V7.6.0.209-Build(2019.10.25-114655)ENT , 2020-10-16 15:28:21
init params:
db path: /dm8/DAMENG
db name: DAMENG
auto overwrite: 0
page size: 16384
extent size: 16
time zone: +08:00
string case sensitive: 1
charset: 0
length in char: 0
page check mode: 0
priv flag: 0
rlog enc flag: 0
use new hash: 1
blank pad mode: 0
sec priv mode: 0
log file path: /dm8/DAMENG/DAMENG01.log
log file path: /dm8/DAMENG/DAMENG02.log
create ini file /dm8/DAMENG/dm.ini success.
create rlog file /dm8/DAMENG/DAMENG01.log success.
create rlog file /dm8/DAMENG/DAMENG02.log success.
SYSTEM file : /dm8/DAMENG/SYSTEM.DBF
MAIN file : /dm8/DAMENG/MAIN.DBF
ROLL file : /dm8/DAMENG/ROLL.DBF
create dm database success. 2020-10-16 15:28:25

8、创建服务(root用户)
cd /dm8/scrpits/root
./dm_service_installer.sh -t dmserver -p _5236 -dm_ini /dm8/DAMENG/dm.ini

9、启动数据库服务

vi dm.ini
	ARCH_INI        =1		#开启归档

开启归档后重启数据库服务

vi dmarch.ini
	[ARCHIVE_LOCAL1]
	ARCH_TYPE           = LOCAL
	ARCH_DEST           = /dm8/DAMENG/ARCH
	ARCH_FILE_SIZE      = 128
	ARCH_SPACE_LIMIT    = 2048
	
cd /home/dmdba/dmdbms/bin
./DmService_5236 restart

10、数据库设置定时作业

--开启代理--
SP_INIT_JOB_SYS(1);
--关闭代理--
SP_INIT_JOB_SYS(0);
数据库全量备份
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB1');

call SP_ADD_JOB_STEP('JOB1', 'JOB1', 6, '01000000/dm8/backup', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB1', 'JOB1', 1, 2, 1, 1, 0, '16:40:57', NULL, '2020-10-16 16:40:57', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB1');

数据库增量备份
call SP_CREATE_JOB('JOB2',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB2');

call SP_ADD_JOB_STEP('JOB2', 'JOB2', 6, '11000000/dm8/backup|/dm8/backup', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB2', 'JOB2', 1, 2, 1, 126, 0, '16:42:54', NULL, '2020-10-16 16:42:54', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB2');

定时删除备份
call SP_CREATE_JOB('JOB3',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB3');

call SP_ADD_JOB_STEP('JOB3', 'JOB3', 0, 'sp_db_bakset_remove_batch(null,sysdate-14);', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB3', 'JOB3', 1, 2, 1, 1, 0, '16:46:21', NULL, '2020-10-16 16:46:21', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB3');

11、数据库备份还原
DM 数据库中的数据存储在数据库的物理数据文件中,数据文件按照页、簇和段的方式进行管理,数据页是最小的数据存储单元。任何一个对 DM 数据库的操作,归根结底都是对某个数据文件页的读写操作。
因此,DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的有效数据页包括数据文件的描述页和被分配使用的数据页。而在备份的过程中,如果数据库系统还在继续运行,这期间的数据库操作并不是都会立即体现到数据文件中,而是首先以日志的形式写到归档日志中,因此,为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态,就需要将备份过程中产生的归档日志也保存到备份集中。
还原与恢复是备份的逆过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复到指定时间点和指定LSN。恢复结束以后,数据库中可能存在处于未提交状态的活动事务,这些活动事务在恢复结束后的第一次数据库系统启动时,会由 DM 数据库自动进行回滚。

联机备份:
cd /data/dmdbms/dmdbms/bin
./DmService_5236 start
./disql
SQL>select arch_mode from v$database; #查看归档状态
SQL>BACKUP DATABASE BACKUPSET ‘/dm8/backup/FULL_BAK’; #联机备份数据库(保证数据库在归档模式及OPEN状态)
脱机备份:
停止数据库服务
./dmrman
backup database ‘/data/dmdbms/DAMENG/dm.ini’ backupset ‘/dm8/backup/FULL_BAK’;

数据库进行还原
./dmrman
RESTORE DATABASE '/dm8/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/FULL_BAK';
RECOVER DATABASE '/dm8/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/FULL_BAK';
RECOVER DATABASE '/dm8/DAMENG/dm.ini' UPDATE DB_MAGIC;

12、配置DM8开发环境

1.Linux环境中配置ODBC,要安装gcc包。
[root@loaclhost ~]#rpm -aq|grep gcc
[root@loaclhost ~]#tar -zxvf unixODBC-2.3.0.tar.gz
[root@loaclhost ~]#cd unixODBC-2.3.0
2.配置ODBC(root)
[root@loaclhost unixODBC-2.3.0]#./configure --enable-gui=no
3.编译ODBC
[root@loaclhost unixODBC-2.3.0]#make && make install
4.查看ODBC版本
[root@loaclhost unixODBC-2.3.0]#odbc_config --version
5.查看ODBC配置文件路径
[root@loaclhost unixODBC-2.3.0]#odbc_config --odbcini
[root@loaclhost unixODBC-2.3.0]#odbcinst -j
6.配置ODBC.INI
[root@loaclhost unixODBC-2.3.0]#vi /usr/local/etc/odbc.ini
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5236
7.配置odbcinst.ini
[root@loaclhost unixODBC-2.3.0]#vi /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so
8.测试ODBC
su - dmdba
[dmdba@loaclhost ~]$ isql dm8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> quit
 类似资料: