达梦数据库(DM8)服务部署与日常运维

        最近参加了达梦DCA的培训,3天的培训内容干货满满,讲师讲课很细致,内容由浅入深,即便新入行的小白 对于达梦数据库的相关基础操作也能很快掌握。当然其中部分内容讲得比较浅显,毕竟是初级的DCA,只是给了一块敲门砖,日后还要多加实践才能运用得如鱼得水。

        3天的课程内容包含数据库的发展、达梦数据库的技术特点、达梦数据库认证体系、达梦数据库的安装、达梦数据库的使用、达梦数据库的体系结构、达梦数据库的管理(包含用户管理、表空间管理、模式管理、数据字典及动态性能视图等)、达梦数据库的备份与还原、达梦数据库的作业系统、达梦数据库的开发。这里挑实践内容,讲一下具体的操作流程和注意事项,对于理论感兴趣的朋友可以进行深入研究。

第一章 达梦数据库的安装

1.1 安装前准备

1.1.1 基本硬件要求

        CPU:Intel Pentium 4以上处理器。

        内存:安装数据库最小内存1G,Linux服务器swap空间是内存的1.5倍以上。

        硬盘:根据需求设置硬盘大小,安装时临时存储空间(/tmp)需要最少2G,也可通过参数DM_INSATLL_TMPDIR指定其他满足要求的目录。

1.1.2 网络要求

        100M以上支持TCP/IP协议的网络。

1.1.3 平台要求

        达梦数据库支持AIX、Windows、HP Unix、solaris、Linux等操作系统。

1.1.4 系统要求

        Linux 内核2.6以上,Glibc 2.3以上。

1.1.5 我的配置

        我这里采用kylin操作系统,安装桌面环境,内存设置2G,硬盘40G。

1.1.6 新建用户及用户组

创建用户组

[root@dm-srv002 ~]# groupadd dinstall



创建用户

[root@dm-srv002 ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba



修改用户密码

[root@dm-srv002 ~]# echo Kylin123 |passwd --stdin dmdba

1.1.7 修改系统参数

修改文件打开最大数

[root@dm-srv002 ~]# vi /etc/security/limits.conf

dmdba hard nofile 65536

dmdba soft nofile 65536

dmdba hard stack 32768

dmdba soft stack 16384



查看是否生效

[root@dm-srv002 ~]# su - dmdba

[dmdba@dm-srv002 ~]# ulimit -a

1.1.8  关闭防火墙

[root@dm-srv002 ~]# systemctl stop firewalld

[root@dm-srv002 ~]# systemctl disable firewalld

1.1.9 下载安装包

我这里下载的包dm8_20220701_x86_rh6_64_ent.zip,可以到达梦官网下载对应版本。

1.2 命令行安装

1.2.1 解压安装包

[root@dm-srv002 ~]# unzip dm8_20220701_x86_rh6_64_ent.zip

Archive:  dm8_20220701_x86_rh6_64_ent.zip

   creating: dm8_20220701_x86_rh6_64_ent/

  inflating: dm8_20220701_x86_rh6_64_ent/dm8_20220701_x86_rh6_64_ent_8.1.2.128.iso  

  inflating: dm8_20220701_x86_rh6_64_ent/dm8_20220701_x86_rh6_64_ent_8.1.2.128.iso_SHA256.txt



检查文件

[root@dm-srv002 ~]# dm8_20220701_x86_rh6_64_ent/

[root@dm-srv002 ~]# sha256 dm8_20220701_x86_rh6_64_ent_8.1.2.128.iso

[root@dm-srv002 ~]# cat dm8_20220701_x86_rh6_64_ent_8.1.2.128.iso_SHA256.txt

1.2.2 挂载镜像

[root@dm-srv002 ~]# mount -o loop /root/dm8_20220701_x86_rh6_64_ent/dm8_20220701_x86_rh6_64_ent_8.1.2.128.iso /mnt



mount: /dev/loop0 写保护,将以只读方式挂载

1.2.3 创建目录

[root@dm-srv002 ~]# mkdir -p /dm8

[root@dm-srv002 ~]# chown -R dmdba.dinstall /dm8

[root@dm-srv002 ~]# chmod 755 /dm8

1.2.4 安装软件

如果/tmp 目录不能保证 1GB 的存储空间,用户可以扩展/tmp 目录存储空间或者通

过设置环境变量 DM_INSTALL_TMPDIR 指定安装程序的临时目录。具体命令如下所示: #以 BASH 为例:

[dmdba@dm-srv002 ~]$ mkdir -p /dm8tmp

[dmdba@dm-srv002 ~]$ chown -R dmdba.dinstall /dm8tmp

[dmdba@dm-srv002 ~]$ chmod 755 /dm8tmp

[dmdba@dm-srv002 ~]$ DM_INSTALL_TMPDIR=/dm8tmp

[dmdba@dm-srv002 ~]$ export DM_INSTALL_TMPDIR



[dmdba@dm-srv002 mnt]$ cd /mnt

[dmdba@dm-srv002 mnt]$ ls

DM8 Install.pdf  DMInstall.bin

[dmdba@dm-srv002 mnt]$ ./DMInstall.bin -i

请选择安装语言(C/c:中文 E/e:英文) [C/c]:

解压安装程序.........

欢迎使用达梦数据库安装程序



是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n



是否设置时区? (Y/y:是 N/n:否) [Y/y]:

设置时区:

[ 1]: GTM-12=日界线西

[ 2]: GTM-11=萨摩亚群岛

[ 3]: GTM-10=夏威夷

[ 4]: GTM-09=阿拉斯加

[ 5]: GTM-08=太平洋时间(美国和加拿大)

[ 6]: GTM-07=亚利桑那

[ 7]: GTM-06=中部时间(美国和加拿大)

[ 8]: GTM-05=东部部时间(美国和加拿大)

[ 9]: GTM-04=大西洋时间(美国和加拿大)

[10]: GTM-03=巴西利亚

[11]: GTM-02=中大西洋

[12]: GTM-01=亚速尔群岛

[13]: GTM=格林威治标准时间

[14]: GTM+01=萨拉热窝

[15]: GTM+02=开罗

[16]: GTM+03=莫斯科

[17]: GTM+04=阿布扎比

[18]: GTM+05=伊斯兰堡

[19]: GTM+06=达卡

[20]: GTM+07=曼谷,河内

[21]: GTM+08=中国标准时间

[22]: GTM+09=汉城

[23]: GTM+10=关岛

[24]: GTM+11=所罗门群岛

[25]: GTM+12=斐济

[26]: GTM+13=努库阿勒法

[27]: GTM+14=基里巴斯

请选择设置时区 [21]:



安装类型:

1 典型安装

2 服务器

3 客户端

4 自定义

请选择安装类型的数字序号 [1 典型安装]:

所需空间: 1602M



请选择安装目录 [/home/dmdba/dmdbms]:/dm8

可用空间: 17G

是否确认安装路径(/dm8)? (Y/y:是 N/n:否)  [Y/y]:y



安装前小结

安装位置: /dm8

所需空间: 1602M

可用空间: 17G

版本信息:

有效日期:

安装类型: 典型安装

是否确认安装? (Y/y:是 N/n:否):y

2022-09-02 14:59:35

[INFO] 安装达梦数据库...

2022-09-02 14:59:35

[INFO] 安装 基础 模块...

2022-09-02 14:59:44

[INFO] 安装 服务器 模块...

2022-09-02 14:59:44

[INFO] 安装 客户端 模块...

2022-09-02 14:59:52

[INFO] 安装 驱动 模块...

2022-09-02 14:59:54

[INFO] 安装 手册 模块...

2022-09-02 14:59:55

[INFO] 安装 服务 模块...

2022-09-02 14:59:56

[INFO] 移动日志文件。

2022-09-02 14:59:57

[INFO] 安装达梦数据库完成。



请以root系统用户执行命令:

/dm8/script/root/root_installer.sh



安装结束

在root用户下执行

[dmdba@dm-srv002 ~]$ /dm8/script/root/root_installer.sh

1.2.5 修改系统变量(小技巧)

[dmdba@dm-srv002 ~]$ echo "export PATH=\$PATH:\$DM_HOME/bin:\$DM_HOME/tool" >> ~/.bash_profile

[dmdba@dm-srv002 ~]$ source ~/.bash_profile

1.2.6 配置数据库实例

[dmdba@dm-srv002 ~]$ dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DAMENG INSTANCE_NAME=DMSERVER PORT_NUM=5236 SYSDBA_PWD=dameng123 SYSAUDITOR_PWD=dameng123





[dmdba@dm-srv002 ~]$ dminit path=/dm8/data
initdb V8

db version: 0x7000c

file dm.key not found, use default license!

License will expire on 2023-06-30

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL



 log file path: /dm8/data/DAMENG/DAMENG01.log





 log file path: /dm8/data/DAMENG/DAMENG02.log



write to dir [/dm8/data/DAMENG].

create dm database success. 2022-09-02 15:07:39

dminit默认没有注册数据库服务,需要使用

1.2.7 注册服务

[root@dm-srv002 DAMENG]# cd /dm8/script/root

[root@dm-srv002 root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.

创建服务(DmServiceDMSERVER)完成

1.3 图形化安装

[root@dm-srv002 root]#  su - dmdba

[root@dm-srv002 root]# export DISPLAY=:0.0

1.3.1 安装数据库软件

开发版无需导入key

切换到root用户执行

[root@dm-srv002 ~]# /dm8/script/root/root_installer.sh

移动 /dm8/bin/dm_svc.conf 到/etc目录

修改服务器权限

创建DmAPService服务

Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.

创建服务(DmAPService)完成

启动DmAPService服务

 1.3.2 初始化数据库

 

切换到root用户

[root@dm-srv002 ~]# mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service

[root@dm-srv002 ~]# systemctl enable DmServiceDMSERVER.service

Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.

[root@dm-srv002 ~]# systemctl start DmServiceDMSERVER.service

[root@dm-srv002 ~]# systemctl status DmServiceDMSERVER.service

● DmServiceDMSERVER.service - DM Instance Service

   Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)

   Active: active (running) since 五 2022-09-02 18:31:18 CST; 7s ago

  Process: 15606 ExecStart=/dm8/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)

 Main PID: 15634 (dmserver)

    Tasks: 66

   CGroup: /system.slice/DmServiceDMSERVER.service

           └─15634 /dm8/bin/dmserver path=/dm8/data/DAMENG/dm.ini -noconsole



9月 02 18:31:03 dm-srv002 systemd[1]: Starting DM Instance Service...

9月 02 18:31:18 dm-srv002 DmServiceDMSERVER[15606]: [39B blob data]

9月 02 18:31:18 dm-srv002 systemd[1]: Started DM Instance Service.

切换到root用户

[root@dm-srv002 ~]# systemctl restart DmServiceDMSERVER.service

第二章 达梦数据库的使用

2.1 数据库的连接

2.1.1 直接用disql客户端连接

[dmdba@dm-srv002 ~]# disql sysdba/Dameng123@127.0.0.1:5236

2.1.2 通过配置文件连接

修改配置文件

vim /etc/dm_svc.conf

TIME_ZONE=(480)
LANGUAGE=(cn)
DM=(127.0.0.1:5236)

[dmdba@dm-srv002 ~]# disql sysdba/Dameng123@DM

2.2 数据库的启停

状态查询

[root@dm-srv002 root]# systemctl status DmServiceDMSERVER.service



启动

[root@dm-srv002 root]# systemctl start DmServiceDMSERVER.service



停止

[root@dm-srv002 root]# systemctl stop DmServiceDMSERVER.service



重启

[root@dm-srv002 root]# systemctl restart DmServiceDMSERVER.service

2.3 数据库参数管理

2.3.1 参数类型

达梦的参数可通过以下方式查询:

desc v$parameter

desc v$dm_ini

达梦的参数有4个类型

序号

TYPE

说明

1

READ ONLY

手工参数,不能通过函数或SQL修改,只能通过编辑dm.ini来修改

2

SYS

系统级动态参数,可以通过函数或SQL修改,既可以修改内存中的值,也能修改参数文件文件的值。

3

IN FILE

静态参数,可以通过函数或SQL修改,但不能修改内存中的值,只能修改参数文件中的值,重启后生效。

4

SESSION

会话级动态参数,可以通过函数或SQL修改,既可以修改内存中的值,也能修改参数文件文件的值,可以选择仅对当前会话生效,也可以选择对整个数据库生效。

2.3.2 修改参数

对于静态参数和只读参数,修改配置文件dm.ini进行,然后重启数据库生效。

查询参数类型

SQL> Select name, value,file_value,sys_value,type from v$parameter t where t.name like 'COMPATIBLE_MODE';



行号     NAME            VALUE FILE_VALUE SYS_VALUE TYPE   

---------- --------------- ----- ---------- --------- -------

1          COMPATIBLE_MODE 0     0          0         IN FILE

方法1:SQL语句(加了引号之后就区分大小写)

SQL> alter system set COMPATIBLE_MODE=2 spfile;

SQL> alter session set LIST_TABLE=1;

方法2:通过函数修改

修改参数的函数sp_set_para_value(范围scope,parameter_name,value)

SQL> sp_set_para_value(2,COMPATIBLE_MODE,0);

2.4 数据库的表空间管理

2.4.1 创建表空间

数据文件的范围:数据文件的大小不能低于页大小的4096倍,最大值不能大于页大小的2的31次方-1(页大小为8k,则最大值为16T-1)

SQL> Select page*4096/1024/1024

SQL> Create tablespace tbs datafile 'TBS01.DBF' size 32;


开启自动扩展
SQL> Create tablespace tbs datafile 'TBS01.DBF' size 32 autoextend on;


设定每次扩展的大小并设置最大上限
SQL> Create tablespace tbs datafile 'TBS01.DBF' size 32 autoextend on next 4 maxsize 10240;


查询当前表空间文件的使用量

SQL> Select * from user_segments t where t.segment_name='table_name';

2.4.2 添加数据文件

SQL> Alter tablespace tbs add datafile 'TBS02.DBF' size 32 autoextend on;

2.4.3 修改数据文件大小

SQL> Alter tablespace tbs resize datafile 'TBS01.DBF' to 128;

2.4.4 表空间重命名

SQL> Alter tablespace tbs rename to tbs01;

2.4.5 表空间联机/脱机

联机

SQL> Alter tablespace tbs online;

脱机

SQL> Alter tablespace tbs offline;

2.4.6 注意事项

表空间脱机后,表空间中的表将无法读写,自定义表空间可以脱机。

2.5 数据库的用户管理

2.5.1 系统预定义用户

用户名

中文名

权限

备注

SYSDBA

系统管理员

具有数据库对象的几乎所有操作权限

DCA考察

SYSAUDITOR

系统审计管理员

SYSSSO

安全管理员

SYS

内置用户

不允许登录

SYSDBO

对象操作员

安全版才有

2.5.2 口令策略 

用户口令最长为 48 字节,创建用户语句中的 PASSWORD POLICY 子句用来指定该用

户的口令策略,如果没有指定,则使用系统默认口令策略(由参数 PWD_POLICY 指定),系

统支持的口令策略有:

0 无限制。但总长度不得超过 48 个字节

1 禁止与用户名相同

2 口令长度需大于等于 INI 参数 PWD_MIN_LEN 设置的值

4 至少包含一个大写字母(

A-Z

8 至少包含一个数字(0-9

16 至少包含一个标点符号(英文输入法状态下,除和空格外的所有符号)

口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略 2 4,则设置 口

令策略为 2+4=6 即可。

2.5.3 修改口令策略

select * from SYS."V$PARAMETER" t where name ='PWD_POLICY';
alter system set 'PWD_POLICY' =31 BOTH;
​​​​​​​

2.5.4 创建用户

SQL> create user dmtest identified by "Dameng123" password_policy 15;



SQL> alter user dmtest identified by "Dameng@123";





密码包含特殊字符登录

[dmdba@kylin-srv001 DAMENG]$ disql dmtest/'"Dameng@123"'

2.5.5 用户授权/收权

SQL> grant select on DM_PRD.test1 to DMTEST;

SQL> revoke select on DM_PRD.test1 from DMTEST;

2.5.6 用户禁用/启用

SQL> Alter user dmtest account lock/unlock;

2.5.7 角色管理

创建角色

SQL> create role t1;



给角色授权

SQL> grant select on DM_PRD.test1 to t1;



将角色授权给用户

SQL> grant t1 to DMTEST;

2.6 数据库的模式管理

当用户创建时自动创建一个同名的模式

达梦是支持一个用户拥有多个模式

2.6.1 查询模式

SQL> Select * from sys.sysobjects t where t."TYPE$"='SCH';

2.6.2 创建模式

SQL> Create schema hrtest01 authorization HRTEST;

2.6.3 切换模式

SQL> set schema hrtest01

2.7 数据库的数据字典与动态性能视图

2.7.1 数据字典

表

Select * from user_tables;--当前用户的表

Select * from sys.all_tables;--所有有权限的表

列信息

Select * from user_tab_columns;

约束

Select * from sys.user_constraints;



约束字段

Select * from user_cons_columns;



索引

select * from sysindexes;



所有对象

select * from sysobjects;





所有列

select * from syscolumns;

2.7.2 动态性能视图

事务等待

SQL> Select * from v$trxwait;

锁请求等待时间默认为10秒,时间由以下参数控制

SQL> Select * from v$parameter t where name='DDL_WAIT_TIME';



当前进程信息

SQL> Select * from V$process;



结束会话

SQL> sp_close_session(sessionID);



数据文件

SQL> Select * from v$datafile;



缓冲池

SQL> Select * from V$bufferpool;

2.8 数据库的SQL编写

2.8.1 建表

SQL> CREATE TABLE SCHEMA_NAME.TEST1(ID INT,CODE VARCHAR(20),NAME VARCHAR(50));

2.8.2 修改表

SQL> ALTER TABLE SCHEMA_NAME.TEST1 ADD COLUMN CREATETIME DATETIME DEFAULT SYSDATE;

修改字段

SQL> Alter table dmtest.t_testpid modify pname varchar(50) not null;

2.8.3 创建索引

SQL> CREATE INDEX IDX_TEST1_CODE ON SCHEMA_NAME.TEST1(CODE);

重建索引

数据删除后,索引不会释放空间,释放空间需要重建索引。

SQL> Alter index idx_tablename_colname rebuild online;

online不会影响线上服务。





开启监控

SQL> Alter index idx_tablename_colname monitoring usage;

SQL> Select * from sys.v$object_usage;



关闭索引监控

SQL> Alter index idx_tablename_colname nomonitoring usage;

2.8.4 添加主外键

SQL> Alter table t_testpid add constraint pk_testpid primary key(pid);

SQL> Alter table t_testpid add constraint uk_testpid_pname unique(pname);

2.8.5 创建视图

视图是由查询语句组成的查询窗口。视图中不保存数据,数据保存在基表中。

SQL> create view LZY.V_CODE_MORETHAN3 AS

SELECT B.CODE,A.NAME,COUNT(*) AS COUNTID

FROM LZY.TEST1 A

JOIN LZY.TEST1_CODE B ON B.ID=A.CODE_ID

GROUP BY B.CODE,A.NAME

HAVING COUNT(*)>3;

2.8.6 批量导入数据

disql内部操作
SQL> ` /dm8/backup/DEPT.sql

shell命令操作
[root@kylin-srv001 ~]# sysdba/Dameng123 '`/dm8/backup/DEPT.sql'

 

第三章 达梦数据库的备份

3.1 物理备份

3.1.1 dmrman备份

[root@kylin-srv001 ~]# systemctl stop DmServiceDMSERVER

[root@kylin-srv001 ~]# su - dmdba

上一次登录: 五 9月 23 14:04:05 CST 2022 pts/3 上

[dmdba@kylin-srv001 ~]$ dmrman

dmrman V8

RMAN> backup database '/dm8/data/DAMENG/dm.ini';

backup database '/dm8/data/DAMENG/dm.ini';

file dm.key not found, use default license!

Database mode = 0, oguid = 0

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

EP[0]'s cur_lsn[62187], file_lsn[62187]

Processing backupset /dm8/data/DAMENG/bak/DB_DAMENG_FULL_20220923_152859_385920

[Percent:100.00%][Speed:0.00M/s][Cost:00:00:03][Remaining:00:00:00]                                 

backup successfully!

time used: 00:00:05.083

RMAN> exit

time used: 4.163(ms)

查看备份信息

RMAN> show backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20220923_152859_385920';

指定备份集名称及备份集路径

RMAN> backup database '/dm8/data/DAMENG/dm.ini'  to DMFULLBAK03 backupset '/dm8/backup/full/DMFULLBAK03';

增量备份

默认使用备份目录最新的备份集作为基础

RMAN> backup database '/dm8/data/DAMENG/dm.ini' increment with backupdir '/dm8/data/DAMENG/bak/' to DB_DAMENG_FULL_20220923_152859_385920_INC01 backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20220923_152859_385920_INC01';

3.1.2 disql备份

需要开启归档

开启归档

[dmdba@kylin-srv001 ~]$ disql sysdba/dameng123

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间 : 11.328(ms)

disql V8

SQL> alter database mount;

操作已执行

已用时间: 3.378(毫秒). 执行号:0.

SQL> alter database archivelog;

操作已执行

已用时间: 51.411(毫秒). 执行号:0.

SQL> alter database add archivelog 'type=local,dest=/dm8/data/DAMENG/ARCH,file_size=64,space_limit=10240';

操作已执行

已用时间: 6.492(毫秒). 执行号:0.

SQL> alter database open;

操作已执行

已用时间: 33.377(毫秒). 执行号:0.

备份

backup database;
backup database INCREMENT;
backup database to DMFULLBAK01 BACKUPSET '/dm8/backup/full/DMFULLBAK01';
select * from SYS."V$BACKUPSET";
select * from SYS."V$IFUN" t where t.name like '%BAKSET%';
SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm8/backup/full/');
SF_BAKSET_BACKUP_DIR_ADD('DISK','/dm8/backup/incr/');
64backup tablespace dmtbs;
backup tablespace dmtbs INCREMENT to DMTBSINCR01 BACKUPSET
'/dm8/backup/incr/DMTBSINCR01';
backup table dmtest.T_EMP;
backup ARCHIVE LOG all;

3.2 逻辑备份

3.2.1 dexp导出

数据库迁移、历史数据归档、重新组织表、物理备份的辅助
逻辑导出包含四个级别:
Full=y 全库导出
Owner=XX 按用户导出
Schemas=XX 按模式导出
Tables=XX 导出指定的表
全库导出

[root@kylin-srv001 ~]# dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y



按模式导出

[root@kylin-srv001 ~]# dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=LZY.dmp log=LZY.log schema=LZY



按用户导出

[root@kylin-srv001 ~]# dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=LZY.dmp log=LZY.log schema=LZY



按表导出

[root@kylin-srv001 ~]# dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=LZY_TEST1.dmp log=LZY_TEST1.log TABLES=LZY.TEST1

第四章 达梦数据库的恢复

4.1 表空间的恢复

还原

RMAN> restore databse '/dm8/data/DAMENG/dm.ini' TABLESPACE DMTBS FROM BACKUPSET '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20220923_152859_385920';



恢复

RMAN> recover database '/dm8/data/DAMENG/dm.ini' tablespace DMTBS;

4.2 库恢复

还原

RMAN> restore database '/dm8/data/DAMENG/dm.ini' TABLESPACE DMTBS FROM BACKUPSET '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20220923_152859_385920';



恢复

RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/data/DAMENG/ARCH';

更新魔数

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

4.3 表恢复

将 DMTEST 模式下 T_EMP 表导入到 HRTEST 用户下:
[root@kylin-srv001 ~]# dimp userid=hrtest/Dameng123@127.0.0.1:5238
directory=/dm8/backup/dexp file=dmtest_emp.dmp log=dmtest_emp.log tables=DMTEST.T_EMP
remap_schema=DMTEST:HRTEST

第五章 达梦数据库的作业系统

5.1 作业系统的开启

创建代理环境命令

Call sp_init_job_sys(1);

或者图形化操作

5.2 创建作业

 

5.3 手动调用作业

查询jobid

select * from sysjob.sysjobs;



执行job

dbms_job.run(jobid)

5.4 作业状态查询

select * from SYSJOB.SYSJOBS;

select * from SYSJOB.SYSJOBHISTORIES2;

第六章 达梦数据库的开发

达梦数据库支持多种开发语言,支持JDBC、ODBC

6.1 JDBC配置

JDBC
DM8 JDBC 编程注意事项
// 定义 DM JDBC 驱动串
String jdbcString = "dm.jdbc.driver.DmDriver";
// 定义 DM URL 连接串
String urlString = "jdbc:dm://localhost:5236";

6.2 ODBC配置

6.2.1 ODBC安装

[root@kylin-srv001 ~]# tar -xzvf unixODBC-2.3.0.tar.gz
[root@kylin-srv001 ~]# cd unixODBC-2.3.0
[root@kylin-srv001 unixODBC-2.3.0]# ./configure
[root@kylin-srv001 unixODBC-2.3.0]# make
[root@kylin-srv001 unixODBC-2.3.0]# make install

6.2.2 修改配置文件

[root@kylin-srv001 unixODBC-2.3.0]# odbcinst -j
[root@kylin-srv001 unixODBC-2.3.0]# vim /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

[root@kylin-srv001 unixODBC-2.3.0]# vim /usr/local/etc/odbc.ini
[DAMENG]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5236

6.2.3 连接数据库

[root@kylin-srv001 ~]# su - dmdba
上一次登录: 日 9月 25 20:38:45 CST 2022 pts/1 上
[dmdba@kylin-srv001 ~]$ isql DAMENG -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
 
SQL> select * from LZY.test1
+------------+------------+---------------------------------------------------+---------------------------+
| ID         | CODE_ID    | NAME                                              | CREATEDATE                |
+------------+------------+---------------------------------------------------+---------------------------+
| 1          | 1          | shuiguo1                                          | 2022-09-24 20:29:23.000000|
| 2          | 1          | shuiguo1                                          | 2022-09-24 20:29:23.000000|
| 3          | 1          | shuiguo1                                          | 2022-09-24 20:29:23.000000|
| 4          | 2          | shuiguo2                                          | 2022-09-24 20:29:23.000000|
| 5          | 3          | shuiguo3                                          | 2022-09-24 20:29:23.000000|
| 6          | 3          | shuiguo3                                          | 2022-09-24 20:29:23.000000|
| 7          | 3          | shuiguo3                                          | 2022-09-24 20:29:23.000000|
| 8          | 4          | shuiguo4                                          | 2022-09-24 20:29:23.000000|
| 9          | 4          | shuiguo4                                          | 2022-09-24 20:29:23.000000|
| 10         | 5          | shuiguo5                                          | 2022-09-24 20:29:23.000000|
| 11         | 6          | shuiguo6                                          | 2022-09-24 20:29:23.000000|
| 12         | 7          | shuiguo7                                          | 2022-09-24 20:29:23.000000|
| 13         | 8          | shuiguo8                                          | 2022-09-24 20:29:23.000000|
| 14         | 9          | shuiguo9                                          | 2022-09-24 20:29:23.000000|
| 15         | 10         | shuiguo10                                         | 2022-09-24 20:29:23.000000|
| 16         | 10         | shuiguo10                                         | 2022-09-24 20:29:23.000000|
| 17         | 1          | shuiguo1                                          | 2022-09-24 20:29:23.000000|
| 18         | 3          | shuiguo3                                          | 2022-09-24 20:29:23.000000|
| 19         | 3          | shuiguo3                                          | 2022-09-24 20:29:23.000000|
| 20         | 1          | shuiguo1                                          | 2022-09-24 21:30:05.000000|
+------------+------------+---------------------------------------------------+---------------------------+
SQLRowCount returns 20
20 rows fetched

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值