热门标签 | 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

 

 



推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 【重识云原生】第四章云网络4.8.3.2节——Open vSwitch工作原理详解
    2OpenvSwitch架构2.1OVS整体架构ovs-vswitchd:守护程序,实现交换功能,和Linux内核兼容模块一起,实现基于流的交换flow-basedswitchin ... [详细]
  • 本文详细介绍了在Linux虚拟化部署中进行VLAN配置的方法。首先要确认Linux系统内核是否已经支持VLAN功能,然后配置物理网卡、子网卡和虚拟VLAN网卡的关系。接着介绍了在Linux配置VLAN Trunk的步骤,包括将物理网卡添加到VLAN、检查添加的VLAN虚拟网卡信息以及重启网络服务等。最后,通过验证连通性来确认配置是否成功。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 我创建了一个新的AWSSSO(使用内部IDP作为身份源,因此不使用ActiveDirectory)。我能够登录AWSCLI、AWSGUI,但 ... [详细]
  • Telnet的使用(Telnet远程连接Linux)
    一、环境描述:客户端:Win10操作系统 ... [详细]
  • Linux下ODBC安装配置
    Linux下ODBC安装配置ODBC原理ODBC是 ... [详细]
  • 一、概述nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的 ... [详细]
  • Java程序员必会的40个Linux命令!
    你知道的越多,不知道的就越多,业余的像一棵小草!你来,我们一起精进!你不来,我和你的竞争对手一起 ... [详细]
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社区 版权所有