热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DM8(达梦8)数据库安装和使用

达梦8(DM8)数据库入门及使用to达梦大学刘秀君原创,抄袭必究目录达梦数据库入门及使用11        介绍32        安装环境要求42.1  操作系


达梦8(DM8)数据库入门及使用

to 达梦大学

刘秀君原创,抄袭必究

目录

达梦数据库入门及使用... 1

1         介绍... 3

2         安装环境要求... 4

2.1   操作系统... 4

2.2   数据库版本... 4

2.3   连接工具... 4

3         开始安装... 5

3.1   安装前准备... 5

3.1.1   操作系统参数调优... 5

3.1.2   VNC安装... 5

3.1.3   上传数据库文件... 8

3.1.4   挂载ISO镜像... 8

3.2   安装数据库程序... 9

3.2.1   创建数据库用户、分组信息,环境变量等配置... 9

3.2.2   开始安装数据库... 10

3.2.3   初始化数据库... 16

4         达梦相关资料介绍... 23

4.1   工具命令... 23

4.2   达梦数据库手册... 23

4.3   连接数据库... 23

5         数据库使用... 24

5.1   表空间管理... 24

5.1.1   查询表空间... 24

5.1.2   创建表空间... 25

5.1.3   表空间状态... 26

5.1.4   表空间维护... 28

5.1.5   临时表空间... 31

5.1.6   Roll表空间... 32

5.1.7   删除表空间... 32

5.1.8   实验... 32

5.2   用户管理... 33

5.2.1   用户体系介绍... 33

5.2.2   用户规则... 34

5.2.3   删除用户... 36

5.2.4   删除角色... 36

5.2.5   案例1. 36

5.2.6   案例2. 37

5.2.7   案例3. 38

5.3   模式对象管理... 40

5.3.1   表操作... 40

5.3.2   创建表指定约束... 41

5.3.3   导入数据... 43

5.3.4   表维护... 52

5.3.5   视图... 52

5.3.6   索引... 53

5.4   DMSQL. 55

5.4.1   介绍... 55

5.4.2   语法... 56

5.4.3   函数... 59

5.4.4   多表联接查询... 61

5.4.5   DML 语句... 62

5.5   备份还原... 63

5.5.1   介绍... 63

5.5.2   物理备份... 63

5.5.3   冷备和热备... 63

5.6   作业... 77

5.7   DM8 ODBC配置... 82

 

 


1     介绍

        武汉达梦数据库有限公司成立于2000年,为中国电子信息产业集团(CEC)旗下基础软件企业,专业从事数据库管理系统的研发、销售与服务,同时可为用户提供大数据平台架构咨询、数据技术方案规划、产品部署与实施等服务。多年来,达梦公司始终坚持原始创新、独立研发,目前已掌握数据管理与数据分析领域的核心前沿技术,拥有全部源代码,具有完全自主知识产权。达梦公司是国家规划布局内重点软件企业,同时也是获得国家“双软”认证和国家自主原创产品认证的高新技术企业,拥有国内数据库研发精英团队,多次与国际数据库巨头同台竞技并夺标。

   本次内容主要针对达梦8数据库的安装及使用进行实操全程大量截图和演示。


2     安装环境要求

2.1   操作系统

Centos7或中标麒麟7 64位操作系统。本次部署在vmware 15.5环境上。

1、检查操作系统版本及位数:

uname -ra

2、安装KDE/GNOME 桌面环境(没有的话只能命令行操作了)

3、检查操作系统cpu以确保后续用什么版本数据库:

 cat /proc/cpuinfo

4、检查数据库依赖包:

rpm -aq|grep glibc

如果没有,执行yum install glibc -y 安装(2.3以上)

5、检查内存 free -m swap分区为物理内存的1.5倍以上

6、检查磁盘空间容量,根据实际业务计算,df -h


2.2   数据库版本

达梦V8试用版 Linux x64版本。


2.3   连接工具

Xshell、vnc


3     开始安装

3.1   安装前准备


3.1.1 操作系统参数调优

操作系统参数将影响数据库的最优运行,需要提前进行调优:

ulimit -a检查open file 最大打开数,默认是1024,需要扩充:

vi /etc/security/limits.conf(重启后生效)

 

*                soft   nofile          102400

*                hard   nofile          102400

为了不重启服务器,可使用:

ulimit -HSn 102400

临时扩大,重启后失效


3.1.2 VNC安装

[root@dmdb ~]# rpm -q vnc-server

未安装软件包 vnc-server

[root@dmdb ~]# yum install tigervnc-server -y

[root@dmdb ~]# /./usr/bin/vncserver

Warning: dmdb:1 is taken because of /tmp/.X11-unix/X1

Remove this file if there is no X server dmdb:1

You will require a password to access your desktops.

Password:

Verify:

Would you like to enter a view-only password (y/n)? n

A view-only password is not used

New 'dmdb:2 (root)' desktop is dmdb:2

 

Creating default startup script /root/.vnc/xstartup

Creating default config /root/.vnc/config

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/dmdb:2.log

开放防火墙端口:

[root@dmdb ~]# firewall-cmd --zOne=public --permanent --add-port=5902/tcp

[root@dmdb ~]# systemctl restart firewalld

启停命令:

/usr/local/vncserver :1 stop

/usr/local/vncserver :1 restart

用vnc工具连接测试一下:

VNC安装调试完毕。


3.1.3 上传数据库文件

[root@dmdb /]# cd /opt

[root@dmdb opt]# ls

dm8_setup.iso


3.1.4 挂载ISO镜像

[root@dmdb opt]# mount -o loop /opt/dm8_setup.iso /mnt

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

[root@dmdb opt]# cd /mnt

[root@dmdb mnt]# ls

DMInstall.bin  DM_Install.pdf  release_en.txt  release_zh.txt

挂载成功


3.2   安装数据库程序


3.2.1 创建数据库用户、分组信息,环境变量等配置

groupadd dinstall

useradd -g dinstall dmdba

passwd dmdba  (密码默认设为:dmdba)

创建数据库安装路径:

mkdir /dm8

chown -R dmdba:dinstall /dm8

配置dmdba用户环境变量

[root@dmdb mnt]# su - dmdba

上一次登录:日 6月 21 17:39:25 CST 2020pts/2 上

[dmdba@dmdb ~]$ vi .bash_profile

最底部增加:

export DM_HOME=/dm8

export PAHT=$PATH:$HOME/.local/bin:$HOME/bin:$DM_HOME/bin:$DM_HOME/tool

 


3.2.2 开始安装数据库

使用图形化界面安装,使用dmdba用户安装

[dmdba@dmdb ~]$ cd /mnt

[dmdba@dmdb mnt]$ ./DMInstall.bin



提示图形化安装不了,需要设置xhost 用dmdba用户设置

export DISPLAY=127.0.0.1:2 注意后面2是vnc序号

xhsot +

 

 



3.2.3 初始化数据库

安装完毕会自动打开初始化数据库或者使用dmdba运行

./dm8/tool/dbca.sh

这个是为了将数据库加入操作系统服务中。


4     达梦相关资料介绍

4.1   工具命令

cd /dm8/tool

下面有很多日常数据库管理工具,可以方便进行数据库管理维护,下面是各功能的介绍:

./manager 数据库管理工具,可视化数据库管理

./dts数据库迁移工具,导入数据文件或将数据库迁移到达梦

./dbca.sh 数据库配置助手,用于数据库实例的可视化增删,以及数据库服务注册(开机启停数据库)

./console 控制台工具,服务器实例参数管理/备份还原/数据库许可证等

./monitor 性能监控工具,监控系统运行情况

./analyzer审计分析程序,针对审计日志文件进行分析的工具

./dmservice.sh 达梦服务器查看器,用于监控各服务启停情况

./disql  类似oracle的sqlplus 用于连接达梦数据库


4.2   达梦数据库手册

cd /dm8/doc 里面有详细的使用介绍


4.3   连接数据库

su – dmdba

disql sysdba/dameng123

或者指定端口:

disql sysdba/dameng123@localhost:5236

 


5     数据库使用

可通过:

/dm/tool/manager 图形化来管理


5.1   表空间管理


5.1.1 查询表空间

达梦默认的系统表空间

SYSTEM:数据字典和全局的系统数据

ROLL:存入了数据库运行过程中产生的回滚记录

TEMP:临时表空间

MAIN:存放对象数据的表空间,创建对象的时候,如果不指定表空

间,就是放在该表空间

HMAIN:存放huge table的信息的表空间。


5.1.2 创建表空间

create tablespace "TEST" datafile '/dm8/data/DAMENG/TBS01.DBF' size 32 autoextend on next 1 CACHE = NORMAL;

 


5.1.3 表空间状态

一般表空间出现问题需要做恢复时,需要先脱机。

脱机状态

alter tablespace TEST offline;

在线状态

alter tablespace TEST online;

 


5.1.4 表空间维护

5.1.4.1  表空间不足扩容

alter tablespace "TEST" resize datafile 'TBS01.DBF' to 64;

5.1.4.2  扩容表空间文件

先查看表空间有多少文件,可以图形化或者命令查看

select FILE_NAME,STATUS,TABLESPACE_NAME from dba_data_files;

5.1.4.3  增加数据文件

alter tablespace "TEST" add datafile '/dm8/data/DAMENG/TBS02.DBF' size 64;

5.1.4.4  更换存储的位置

注意:system,roll,temp 不能offline

alter tablespace TEST offline;

select tablespace_name,status from dba_tablespaces;

alter tablespace TEST rename datafile

'/dm8/data/DAMENG/TBS02.DBF' to '/dm8/tbs02.dbf';

alter tablespace TEST rename datafile

'/dm8/data/DAMENG/TBS02.DBF' to '/dm8/tbs01.dbf';

alter tablespace TEST online;

 


5.1.5 临时表空间

select para_name,para_value from v$dm_ini where para_name like

'TEMP%';


5.1.6 Roll表空间

Roll时回滚表空间,如果不够就需要扩充

参数undo_retention

Roll 表空间不足:

Alter tablespace roll resize datafile ‘/dm8/data/DAMENG/ROLL.DBF’

to 256;


5.1.7 删除表空间

drop tablespace test;  后续还要使用先不要删;


5.1.8 实验

创建一个表空间,初始大小50M,表空间由2 个数据文件组成,分别存储在不同的位置,数据文件自动扩展,每次扩展1M,每个数据文件最大100M。

create tablespace "CESHI" datafile '/dm8/CESHI1.DBF' size 50 autoextend on next 1 maxsize 100, '/dm8/CESHI2.DBF' size 50 autoextend on next 1 maxsize 100 CACHE = NORMAL;


5.2   用户管理


5.2.1 用户体系介绍

在DM 数据库中用户管理主要涉及到三块,用户,权限,角色权限:执行特定类型sql 或是访问其他模式对象的权利系统权限:数据库对象的创建,删除,修改等等。

对象权限:对数据对象的数据的操作权限。

数据库预定义用户Sysdba

Sys:不能用于用户登录,是系统内置用户

Syssso

Sysauditor

sysdbo

三权分立(企业版)

Sysdba:数据库系统管理员

Syssso:数据安全员

Sysauditor:数据库审计员

四权分立(安全版)

Sysdba

Syssso

Sysauditor

Sysdbo :数据库对象操作员


5.2.2 用户规则

名字:字母开头,a_z,0-9,$#_

位置:对应的表空间

密码:口令策略

0:无策略

1:禁止与用户名相同

2:口令长度不小于9

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

8:至少包含一个数字

16:至少包含一个标点符号(英文状态下输入除空格和“”)

口令可以单独使用,也可以组合使用。比如:要求口令策略禁止用户

名相同,并且口令长度不小于9)

则设置口令策略为1+2=3

Faild_login_attemps:密码尝试登录次数

Password_lock_time:密码失败后锁定时间

Password_life_time 密码过期时间。

策略配置地方在:

/dm8/tool/console


5.2.3 删除用户

drop user test cascade;  级联删除,关联的schema都会被删除

drop user test;只删除用户账号


5.2.4 删除角色

drop role testrole;


5.2.5 案例1

案例1:建立用户test,用户可以创建自己的表,有属于自己的表空间,用户密码要求每60 天变更一次。

create user "TEST" identified by "dameng123"

limit password_life_time 60

default tablespace "TEST";

grant "PUBLIC","VTI" to "TEST";

grant CREATE TABLE to "TEST";

这里就使用上面那个test表空间

查看test拥有哪些权限了

select grantee,granted_role from SYS.DBA_ROLE_PRIVS where grantee='TEST';

查看public角色有哪些权限

SELECT GRANTEE,PRIVILEGE FROM SYS.DBA_SYS_PRIVS WHERE GRANTEE='PUBLIC';


5.2.6 案例2

规划一个用户test2,用户每60 天变更一次密码,密码尝试连

接2 次失败,账号锁定5 分钟,用户能查询dmhr.employee 表。

create user "TEST2" identified by "dameng123"

limit failed_login_attemps 2, password_life_time 60, password_lock_time 5;

grant "PUBLIC","VTI" to "TEST2";

grant SELECT on "DMHR"."EMPLOYEE" to "TEST2";


5.2.7 案例3

企业招聘一批录入人员,权限固定,只能录入city 表的权限。

角色:一组固定权限的集合。

create role "TESTROLE3";

grant REFERENCES ANY TABLE to "TESTROLE3";

grant INSERT on "DMHR"."CITY" to "TESTROLE3";

grant "TESTROLE3" to "TEST2";

测试一下:

[dmdba@dmdb ~]$ disql test2/dameng123

SQL> insert into dmhr.city(city_id,city_name,region_id) values('11','beijing',1);

SQL>commit;

 


5.3   模式对象管理

模式(scema)是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集模式对象:表、视图、约束、索引、序列、触发器、存储过程/函数、包、同义词、类、域Dm 创建用户的时候,会默认去创建一个同名的式,如果你创建的用户,模式名已存在,用户无法创建一个用户可以拥有多个模式。


5.3.1 表操作

create table "TEST"."STU"

(

"ID" CHAR(10) not null ,

"SNAME" VARCHAR(20) not null ,

"SEX" CHAR(1),

"AGE" INT,

"TEL" VARCHAR(15) not null ,

"ADDRESS" VARCHAR(50),

primary key("ID")

)

storage(initial 1, next 1, minextents 1, fillfactor 0, on "STU");

comment on table "TEST"."STU" is 'STUDENT INFO';

增加列

alter table DMHR.TEST add column(AGE INT);

删除列

alter table DMHR.TEST drop column AGE;


5.3.2 创建表指定约束

1、非空约束

SQL> create table test.t1(id int);

48

SQL> alter table test.t1 modify id int not null;

2、唯一约束(唯一约束遇到null,忽略,可录入多个null 值)

SQL> create table test.t3(id int, name varchar(20) unique);

SQL>insert into test.t3 values(1,'ssss');

SQL> insert into test.t3 values(2,null);

SQL> insert into test.t3 values(3,null);

SQL> insert into test.t3 values(4,null);

commit;

3、主键约束(一张表只能有一个主键约束)

SQL> create table test.t4(id int primary key, name varchar(20));

SQL> create table test.t5(id int);

SQL> alter table test.t5 add constraint t5_pri primary key(id);

4、检查约束

SQL> create table test.t6(id int check(id>=5));

5、外健约束

SQL> create table test.t8(sid int primary key ,pid int);

SQL> create table test.t9(id int primary key,sid int foreign key references

test.t8(sid));

外键一定是其他表的主键。

6、对列加备注;

SQL> comment on column test.t8.sid is '测试';

 

查看约束

select CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,STATUS from dba_constraints where TABLE_NAME='T8';

select * from dba_col_comments where table_name='T8';


5.3.3 导入数据

create table test.t10(sid int);

制造数据

vi test.sql

insert into test.t10(sid) values(1);

insert into test.t10(sid) values(2);

insert into test.t10(sid) values(3);

insert into test.t10(sid) values(4);

insert into test.t10(sid) values(5);

insert into test.t10(sid) values(6);

两种操作,命令行:

SQL> start /home/dmdba/test.sql

图形化:

/dm8/tool/dts

 

这个执行特别慢。

完成后执行:

 

select * from test.t10


5.3.4 表维护

1、重命名:

SQL> alter table test.t1 rename to tt;

启用和禁用约束

SQL>select

CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,STATUS from

dba_constraints where TABLE_NAME='T3';

alter table test.t3 disable constraint CONS134218845;

alter table test.t3 enable constraint CONS134218845;

删除表:

SQL> drop table test.tt;


5.3.5 视图

视图分类:简单视图,复杂视图,物化视图

1、简单视图

创建语法:create view() as select() from() where ()

修改语法:craete or replace view() as select () from () where ()

SQL> create view test.v1 as select * from dmhr.employee;

SQL> create or replace view test.v1 as select employee_name from

dmhr.employee limit 5;

删除视图

SQL> drop view test.v1;

查询视图

DBA_VIEWS;


5.3.6 索引

索引的作用:加快表的查询,增加数据库的查询性能,对数据库做DML 操作的时候,数据库会自动维护索引,索引占空间。

达梦支持的索引:二级索引,位图索引,唯一索引,复合索引,函数索引,分区索引等。

建立索引的规则:

适合建索引的情况:

1、经常查询的列

2、连接条件列

3、谓词经常出现的列(where)

4、查询是返回表的一小部分数据。

不适合建索引的情况

1、列上有大量的null

2、列上的数据是有限的(性别)

查看表的索引

select table_name,index_name from dba_indexes where

table_name='STU';

创建索引:

规划索引表空间,表的数据无序的,索引的数据是有序的

创建索引表空间

SQL> create tablespace index1 datafile '/dm8/data/DAMENG/index1_01.dbf' size 32;

建索引

SQL> create table test.emp as select * from dmhr.employee;

SQL> create table test.dept as select * from dmhr.department;

SQL> create index ind_emp on test.emp(employee_id) tablespace index1;

查看表的执行计划

SQL> explain select * from test.emp where employee_id<20;

1   #NSET2: [0, 42, 280]

2     #PRJT2: [0, 42, 280]; exp_num(12), is_atom(FALSE)

3       #SLCT2: [0, 42, 280]; EMP.EMPLOYEE_ID <20

4         #CSCN2: [0, 856, 280]; INDEX33555551(EMP)

没有走我们自己建的索引,统计信息是旧的,需要得新收集统计信息;

收集统计信息

SQL> begin

dbms_stats.gather_table_stats('TEST','EMP');

END;

/

DMSQL 过程已成功完成

SQL>  explain select * from test.emp where employee_id<20;

 

1   #NSET2: [0, 1, 280]

2     #PRJT2: [0, 1, 280]; exp_num(12), is_atom(FALSE)

3       #BLKUP2: [0, 1, 280]; IND_EMP(EMP)

4         #SSEK2: [0, 1, 280]; scan_type(ASC), IND_EMP(EMP), scan_range(null2,20)

注意:创建索引,删除索引,重建索引和收集统计信息,不要在业务

高峰去做。在业务低谷的时候去操作。

维护索引:

重建索引:

SQL> alter index test.ind_emp rebuild;

SQL> alter index test.ind_emp rebuild online; ---慎用

删除索引:

SQL> drop index test.ind_emp;

注意:达梦默认不会自动收集统计信息,需要手动收集,可以利用作

业来定时的自动收集。

 


5.4   DMSQL


5.4.1 介绍

DMSQL 基于sql92,部分sql99 的。

Sql 语句的分类

DQL:数据查询语句select ...from....where 组成的查询块

DDL:数据定义语句create table create view create index 等等

DML:数据操作语句insert update delete

DCL:数据控制语句用于授予或回收访问数据库的某种特权,控制数据操作纵事务,对数据库进行监视等

Grant revoke commit rollback lock unlock 等。


5.4.2 语法

语法:select () from () where ()

过滤查询

Where <搜索条件>

Where 子句常用的查询条件

谓词种类谓词

比较> <<= >= != not

确定范围Between and >= and <=

集合In not in

字符匹配Like not like

空值Is null is not null

这些和日常oracle语法都一样

多重条件And or

注意like用法 %号模糊匹配,_下划线匹配后面一个字,两个下划线两个字

select employee_name,salary from test.emp where employee_name like

'刘%';

select employee_name,salary from test.emp where employee_name like

'刘_';

 

查找工资在20000 到30000 之间的员工。

Sql>select employee_name,salary from test.emp where salary between

20000 and 30000;

等价的sql

SQL> select employee_name,salary from test.emp where salary >=20000

and salary<=30000;


5.4.3 函数

5.4.3.1  单行函数

 大小写处理函数

5.4.3.2  字符处理函数

5.4.3.3  数值处理函数

ROUND:将值舍入到指定的小数位(四舍五入)

ROUND(49.36, 1) 49.4

TRUNC:将值截断到指定的小数位(不舍入)

TRUNC(49.36,1) 49.3

MOD:返回除法运算的余数

MOD(100, 3) 1

5.4.3.4  日期函数

MONTHS_BETWEEN 两个日期之间的月数

ADD_MONTHS 将日历月份添加到日期中

NEXT_DAY 指定日期的下一天

LAST_DAY 月份的最后的一天

显示转换

TO_CHAR

select employee_name,to_char(salary,'L999,999.00') from

dmhr.employee;

TO_NUMBER (char [,fmt])

TO_DATE (char [,fmt])

select employee_name,hire_date,to_date(hire_date,'yyyy-mm-dd') from

dmhr.employee;

5.4.3.5  分组函数

分组函数作用于一组数据,并对一组数据返回一个值。

常见的分组函数:

AVG 、COUNT 、MAX 、MIN 、SUM…

案例1:求各个部门的最高工资。

select department_id,max(salary) from test.emp group by

department_id;

案例2:找出部门平均工资大于10000 的所有部门。

select department_id,avg(salary) av1 from test.emp

group by department_id having avg(salary)>10000 order by av1 desc;

注意:having 表示分组后的数据进行过虑,having 不能单独使用,一定是和group by 一起使用的,分组函数不能出现在where 子句中。

5.4.3.6  排序order by

升序:asc 降序:desc 默认是升序

案例3:从邮件地址中取出邮箱名字

select substr(email,1,(instr(email,'@')-1)), employee_name from test.emp limit 10;


5.4.4 多表联接查询

语法:select () from join () on()

1、内连接:结果集显示全部满足条件的记录。

select employee_name,department_name

from test.emp e join test.dept d on e.department_id=d.department_id

2、外连接

左外连接:把left join 左边的全部显示出来,右边的只显示满足条件

的,不满足条件的用null 代替

select employee_name,department_name

from test.emp e left join test.dept d on

e.department_id=d.department_id

右外连接:把right join 右边的全部显示出来,左边的只显示满足条

件的,不满足条件的用null 代替

select employee_name,department_name

from test.emp e right join test.dept d on

e.department_id=d.department_id

全外连接=左外连接+右外连接

select employee_name,department_name

from test.emp e full join test.dept d on

e.department_id=d.department_id


5.4.5 DML 语句

insert into

insert into test.dept values('1106', 'aaaaa', '9002', 9);

update

update test.emp set department_id=null where employee_id='1001';

delete

delete test.dept where department_id='1106';

MERGE 语法

使用merge into 语法可以合并update 和insert 语句

merge into test.t1 using test.t12 on (test.t1.c1=test.t12.c3)

when MATCHED THEN update set test.t1.c2=test.t12.C4

when not matched then insert (c1,c2) values (test.t12.c3,t12.c4);


5.5   备份还原


5.5.1 介绍

数据库备份就是制作数据库的“副本”防止数据库丢失数据,在数据丢失后重建数据库.

完全备份是指一个备份包含指定数据库或表空间的所有数据

增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件。

备份的方式:物理备份和逻辑备份

备份的介质:磁盘,磁带,光盘

集群:数据守护,dsc (rac)

也支持第三方的备份软件:爱数,鼎甲


5.5.2 物理备份


5.5.3 冷备和热备

5.5.3.1  热备管理工具方式

backup database full to "DB_DAMENG_FULL_2020_06_21_22_58_54" backupset 'DB_DAMENG_FULL_2020_06_21_22_58_54';

命令行方式下全备,增量备

全备

SQL> backup database full backupset '/dm8/backup/fullbak2';

增量备

SQL> backup database increment backupset '/dm8/backup/incr_bak';

表空间还原:

表空间只能脱机还原,使用Dmrman

模拟表空间test 损坏:

[dmdba@localhost DAMENG]$ mv TEST01.DBF TEST01.DBF.BAK

重启实例服务,实例处于mount 状态。关闭实例服务

使用dmrman 进行还原

1、校验备份集

RMAN> check backupset '/dm8/backup/fullbak2';

2、还原表空间

RMAN> restore database '/dm8/data/DAMENG/dm.ini' tablespace test

from backupset '/dm8/backup/fullbak2';

2、恢复表空间

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

重启实例服务

5.5.3.2  冷备控制台方式

冷备:dmap 服务是打开的,数据库实例是关闭的。

[root@dmdb tool]# ./console

勾上dmap会造成连接通信超时

【问题原因】DmServerDMSERVER服务没有关闭。DMRMAN是脱机备份,备份时一定要关闭数据库。

【解决方法】:使用root执行如下命令关闭数据库实例服务(DMSERVER是数据库实例名)即可。

systemctl stop DmServiceDMSERVER.service

脱机还原时,先还原再恢复。

特别注意,如果还原时候出现服务无法启动,八成你是用root用户启动的图形化界面,所以造成了还原时部分文件权限发生改变,应该用dmdba启动./console

 

systemctl start DmServiceDMSERVER.service

5.5.3.3   冷备DMRMAN 工具去备

[-137]:服务器正在运行或者存在其他进程正在操作同一个库

需要停止服务

systemctl stop DmServiceDMSERVER.service

冷备:要停止数据库,如果不停止会造成数据丢失

5.5.3.4  逻辑备份

导入导出(dexp,dimp)

分四级别:分别独立,互斥不能同时存在

Ø  数据库级别

Ø  用户

Ø  模式

Ø  表级

1、逻辑导出

[dmdba@dmdb bin]$ ./dexp sysdba/dameng123@localhost:5236 file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y

2、逻辑导入

[dmdba@ dmdb bin]$ ./dimp sysdba/SYSDBA@localhost:5239 file=/dm8/backup/dexp/dexp01.dmp log=/dm8/backup/dexp/dimp01.log


5.6   作业

.

 

 

 

call SP_CREATE_JOB('TEST01',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('TEST01');

call SP_ADD_JOB_STEP('TEST01', 'job1', 5, '01010/dm8/backup|/dm8/backup', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('TEST01', 'task1', 1, 2, 1, 40, 0, '23:52:03', NULL, '2020-06-21 23:52:03', NULL, '');

call SP_JOB_CONFIG_COMMIT('TEST01');

 


5.7   DM8 ODBC配置

达梦支持的语言:c c++ java python php perl .net

15.1 Linux 环境中配置ODBC(以root 配置)

检查gcc 包

[root@localhost ~]# rpm -aq|grep gcc

[root@dmdb unixODBC-2.3.0]# yum install gcc -y

解压安装包

[root@localhost opt]# tar -xzvf unixODBC-2.3.0.tar.gz

配置odbc

[root@localhost unixODBC-2.3.0]# ./configure --enable-gui=no

(注意如果抱错,就是因为gcc没装)

编译安装ODBC

[root@localhost unixODBC-2.3.0]# make && make install

查看odbc 的版本

[root@localhost unixODBC-2.3.0]# odbc_config --version

2.3.0

查看ODBC 配置文件的路径

[root@dmdb unixODBC-2.3.0]# odbcinst -j

unixODBC 2.3.0

DRIVERS............: /usr/local/etc/odbcinst.ini

SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini

FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources

USER DATA SOURCES..: /root/.odbc.ini

SQLULEN Size.......: 8

SQLLEN Size........: 8

SQLSETPOSIROW Size.: 8

配置odbc.ini 和odbcinst.ini

vi /usr/local/etc/odbc.ini

[dm8]

Description = DM ODBC DSND

Driver = DM8 ODBC DRIVER

SERVER = localhost

UID = SYSDBA

PWD = dameng123

TCP_PORT = 5236

 

vi /usr/local/etc/odbcinst.ini

[DM8 ODBC DRIVER]

Description = ODBC DRIVER FOR DM8

DRIVER = /dm8/bin/libdodbc.so

 

 



推荐阅读
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 英特尔推出第三代至强可扩展处理器及傲腾持久内存,AI性能显著提升
    英特尔在数据创新峰会上发布了第三代至强可扩展处理器和第二代傲腾持久内存,全面增强AI能力和系统性能。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • 深入探讨:Actor模型如何解决并发与分布式计算难题
    在现代软件开发中,高并发和分布式系统的设计面临着诸多挑战。本文基于Akka最新文档,详细探讨了Actor模型如何有效地解决这些挑战,并提供了对并发和分布式计算的新视角。 ... [详细]
  • PCIe中的弹性缓冲原理解析
    PCIe是一种高速串行总线,其传输信号为差分信号,并采用同步传输方式。然而,PCIe并没有专用的同步时钟。本文将详细介绍PCIe中的弹性缓冲(Elastic Buffer)原理,探讨其如何处理时钟差异,确保数据传输的稳定性和可靠性。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在智能手机上将电话铃声恢复到原始状态,适用于各种品牌的智能手机。 ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 数字经济浪潮下企业人才需求变化,优质IT培训机构助力技能提升
    随着云计算、大数据、人工智能、区块链和5G等技术的迅猛发展,数字经济已成为推动经济增长的重要动力。据信通院数据,2020年中国数字经济占GDP比重达38.6%,整体规模突破39.2万亿元。本文探讨了企业在数字化转型中对技术人才的需求变化,并介绍了优质IT培训机构如何助力人才培养。 ... [详细]
author-avatar
dx152
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有