达梦数据库DM的知识总结---DCA

 达梦数据库是类似于Oracle的一款国产数据库,在诸多政府和企业单位被应用。其绝大部分的逻辑结构和操作语言都与Oracle类似。

达梦的官网和社区网站是不一样的。达梦的社区网站:https://eco.dameng.com

我们可以在上面的网站下载,当然也可以在官网下载,不同的是,在官网下载前需要注册。

课程学习使用的操作系统是银河麒麟V10,虚拟桌面软使用的是VMware Workstation 15。

DM管理工具提供了sql助手,sql助手类似于oracle的pl/sql。DM的dem是企业管理器,可以做到DM管理工具客户端的功能,也做到了dts数据迁移的功能,还可以部署dsc集群环境。同时还可以监控达梦数据库主机,以及它的会话,内存,cpu、硬盘等等。dem就是一个界面话的工具,能够让部署、维护更加简单。

接下来介绍一下安装的流程:

在安装DM8之前,我们要先要查看open files,在实际生产过程中,如果open files数值不够大,可能导致我们连不上数据库。打开数的设置(open files):

1. 可通过执行口令 vim /etc/security/limits.conf, 在 #End of file 一行的上方添加如下代码:

dmdba soft nofile 102400

dmdba hard nofile 204800

root soft nofile 102400

root hard nofile 204800

2. 也可通过执行口令 ulimit -n 102400 进行临时设置,只对当前会话生效。

挂载镜像文件成功后,在我们使用图形化界面安装达梦8时,如果是第一次登陆操作系统,要在root用户下先执行如下代码:

xhost +     ---可以用其他用户打开图形化界面

echo $DISPLAY   ---当前登录用户的DISPLAY变量

su -dmdba   ---从root用户切换到dmdba用户

export DISPLAY=:0.0   ---这里需要把执行echo $DISPLAY语句后得到的变量设置给DISPLAY,具体情况根据输出值来定

然后我们再去挂载目录下执行安装文件DMInstall.bin就可以了。

在安装过程中,如果系统报tmp不足,用户可以通过设置环境变量DM_INSTALL_TMPDIR指定安装程序的临时目录:

mkdir -p /mount_point/dir_name

DM_INSTALL_TMPDIR=/mount_point/dir_name

export DM_INSTALL_TMPDIR

用root用户执行以上语句,再把 /mount_point/dir_name 的访问权限赋给dmdba用户。

安装完成之后,我们需要创建数据库及数据库实例。如果是通过数据库配置助手创建数据库,我们需要切换到dm8的tool目录下执行dbca.sh来打开图形化界面:

cd /dm8/tool

./dbca.sh

注意,我们一般不使用root用户进行数据库的安装,所以在安装前会切换到dmdba用户。在创建数据库时,初始化参数要设置准确,一旦设置将无法再更改。在安装过程中会有提示“要执行以下脚本命令”,一般都是要求以“root”身份运行,我们需要开启一个root窗口来执行出现的执行命令。

成功创建数据库实例后,我们需要连接数据库,连接的方法有以下两种:

方法一:
disql 命令行工具(用法类似 sqlplus) 
[dmdba@KylinDCA04 ~]$ cd /dm8/bin 
[dmdba@KylinDCA04 bin]$ ./disql SYSDBA/SYSDBA:5236

在sql里切换到别的数据库
SQL> conn SYSDBA/Dameng123:5238

连接其他IP地址的数据库:

[dmdba@KylinDCA04 bin]$ ./disql SYSDBA/Dameng123@192.168.88.5:5238 

方法二:DM管理工具图形化界面
 cd /dm8/tool
 ./manager

 

注意,如果我们是在新的会话中执行上面的命令,需要重新设置以下DISPLAY变量。如果端口号没有指定,默认的是5236,所以尽量指定端口号。

查看、开启、关闭数据库服务

root用户:
            systemctl status DmServiceDMSERVER.service

            systemctl stop DmServiceDMSERVER.service

            systemctl start DmServiceDMSERVER.service

dmdba用户:
            方法一:
            [dmdba@KylinDCA04 bin]$ ./DmServiceDMSERVER stop(start)
            方法二(没有注册数据库服务,就要这样启动数据库):
            [dmdba@KylinDCA04 bin]$ ./dmserver /dm8/data/DMTEST/dm.ini mount

在安装了数据库并创建了数据库实例后,我们可以对DM数据库的参数进行修改。

数据缓冲区(buffer)有四种类型Normal、fast、Recycle、Keep,它们对应dm.ini中的配置参数BUFFER、FAST_POOL_PAGES、RECYCLE、KEEP。修改参数的方式有以下三种:

1. 编辑 dm.ini 文本文件

2. 使用 console 控制台工具图形化界面修改(最终修改的是配置文件)

3.SQL语句:alter system set ‘参数名’ = xxx spfile (both, memory);

                要修改一个参数首先要知道它的类型:

                Select name, value, sys_value, file_value, type from v$parameter where name =                 ‘COMPATIBLE_MODE’; (三个value分别是当前会话的值,内存值,参数文件中的值)

注意,使用sql语句时,DM的语法跟Oracle有些许不同。比如DM修改参数的语句是 alter system set 'COMPATIBLE_MODE' = 4 spfile,而Oracle是 alter system set 'COMPATIBLE_MODE' = 4 scope = spfile。在修改配置参数时,如果没有特别指明,我们一般默认操作对象时BUFFER类型。如果参数类型是SESSION时,上面sql语句中的system要改为session。

表空间管理过程中的注意事项:

1. 表空间正常的状态是联机---online。只有用户自己定义的表空间能进行脱机操作,系统自带的表空间是不能脱机的。修改数据文件存储的位置:需要将表空间置为脱机状态。

2. 数据文件的大小,最小值不能低于页大小的4096倍,最大值不能高于页大小的2的31次方-1。比如当我们执行 create tablespace tbs DATAFILE 'TBS01.DBF' SIZE 30 语句时,会报“数据文件大小无效”,语句应改成 create tablespace tbs DATAFILE 'TBS01.DBF' SIZE 64。

3. 创建表空间或添加数据文件时,对数据文件的目录要有读写权限,否则将会报错。

4. 在实际工作中,修改表空间时要注意,不要轻易用图形化界面的方式修改路径,这样会让数据库被置于脱机状态。

归档开启的方式(归档的开启,只有数据库处于mount状态下才能实现):sql方式;图形化界面;修改配置文件。

sql方式:

alter database mount;

alter database ARCHIVELOG;

alter database add ARCHIVELOG 'type=local,

dest=/dm8/arch, file_size=64, space_limit=10240';

alter database open;

用户、权限的管理:

用户管理:

create user TEST identified by Dameng123;  --- 创建用户

alter user TEST identified by “Dameng@123”;  ---修改用户密码

create user hrtest IDENTIFIED by "Dameng@123" DEFAULT tablespace HRTBS;  --- 创建用户、默认表空间

权限管理:

系统权限的赋予:

grant create table to hrtest;

grant create any table to hrtest; --默认dba角色的any 权限不可转授

对象权限的赋予:

grant select on dmhr.department to hrtest;

grant select (employee_id, employee_name, department_id, email ) on

dmhr.employee to hrtest;

如果赋予表更新、删除权限,需要赋予该表查询权限才能更新或删除。

grant update on t_test to hrtest;

grant delete on t_test to hrtest;

模式对象管理:

Create schema DAMENG authorization SYSDBA;

创建       模式      模式名       归属于      用户名

查询当前模式和用户:

select sys_context('USERENV','CURRENT_SCHEMA');

select user;

select sys_context('USERENV','CURRENT_USER');

设置当前用户的模式:

set schema sche1;

数据库的备份:

1. 联机备份(要求要开归档)

        sql语句:

          backup database;

          backup database full to fullbak01 backupset '/dm8/backup/full/fullbak01';

          backup database increment to incrbak01 backupset '/dm8/backup/incr/incrbak01';

      backup database increment with BACKUPDIR '/dm8/backup/full' to incrbak02 backupset           '/dm8/backup/incr/incrbak02';

      backup database increment CUMULATIVE with BACKUPDIR '/dm8/backup/full' to incrbak03 

2. 脱机备份(数据库要关闭):

        先关闭数据库:[dmdba@KylinDCA04 bin]$ ./DmServiceDMSERVER stop

        再在bin目录下执行 ./dmrman

        最后执行:RMAN> backup database '/dm8/data/DAMENG/dm.ini' to xxx backupset '/dm8/backup/full/xxx'; (如果要改成增量备份,就在to前加increment)

DM数据库整库的还原和恢复需要在关闭状态下操作,具体分为三步:基于备份集还原数据库,基于归档恢复到最新状态,更新数据库魔数。

  1. 到bin目录下执行 ./DmServiceDMSERVER stop
  2. 继续在bin下执行 ./dmrman
  3. 还原、恢复数据库:

                restore database '/dm8/data/DAMENG/dm.ini' from backupset

                '/dm8/backup/full/CONSOLEFULLBAK';

                recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';

                recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

注意,表空间的备份要在DM管理工具里进行。表空间的备份、还原等比数据库的工程量小。表空间的还原只能在原库上进行。表空间的还原、恢复,不需要更新数据库魔数。

逻辑备份:

数据库要在开启的状态才行。导出有四种类型:全库导出:full=y; 按用户导出:owner=XXX; 按模式导出:schemas=XXX; 按表导出:tables=XXX

用dmdba用户执行下面的语句:

          /dm8/bin/dexp  userid=sysdba/Dameng123  directory=/dm8/backup/dexp file=dexpfull.dmp  log=dexpfull.log  full=y (如果没有full=y,就不是全库导出,而是默认的“按模式导出“)

逻辑导入(同样包含四种):

全库导入:

[dmdba@KylinDCA04 dexp]$ /dm8/bin/dimp userid=sysdba/Dameng123

directory=/dm8/backup/dexp file=dexpfull.dmp log=dimpfull.log full=y

DMHR 模式下对象导入到 DMTEST 中:

[dmdba@KylinDCA04 dexp]$ /dm8/bin/dimp userid=sysdba/Dameng123

directory=/dm8/backup/dexp file=dexpfull.dmp log=dimpdmhr.log

remap_schema=DMHR:DMTEST

注意,在我们创建用户时,不能给新用户起用已存在的“模式名”。因为在DM中,当系统创建用户时,会自动生成一个同名的模式,而且默认情况下,用户和模式是一对一的关系。表空间还原仅支持在源库上还原,表空间还原与恢复后不需要更新数据库魔数。

ODBC配置需要解压安装包,解压完成后,我们可以通过 "./configure"  "make"  "make install"   三个语句实现ODBC的配置,具体操作如下:

tar -zxvf unixODBC-2.3.0.tar.gz --解压

cd unixODBC-2.3.0

./configure ---配置

make ---编译

make install ---安装

使用 odbcinst -j 查看配置文件的位置:odbcinst.ini 和 odbc.ini

使用 vim odbc.ini 和 vim odbcinst.ini 编辑配置文件里的内容

最后,在dmdba用户下测试连接:

              su – dmdba

              isql dm8 –v

以上是达梦数据库DCA学习的大致总结,如果想把每个环节弄懂,需要学习的内容还是很多的。数据库的学习要非常注重细节,要弄清楚每个问题出现的原因和解决办法。希望越来越多的人参与到DM的学习中来,支持国产数据库的发展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值