达梦数据库学习记录

本文详细介绍了达梦数据库的安装步骤,包括创建用户、设置权限、挂载安装包等。接着讲解了创建实例、管理实例、表空间管理、用户管理和权限管理等核心操作。此外,还涉及到了表的创建、导入数据、维护以及备份还原策略,包括物理备份与逻辑备份的方法。全文提供了丰富的命令行和图形化界面操作指导。
摘要由CSDN通过智能技术生成

一 安装数据库
1.新建 dm8 文件夹

2.新建用户
先创建 dinstall 组
groupadd dinstall

在 dinstall 组 创建 dmdba 用户
useradd -g dinstall dmdba

3.给 dmdba 权限
chown dmdba:dinstall -R /dm8

4.设置文件最大打开数目 ( 要在dmdba下)
ulimit -n 65536

5.挂载安装包 (如果有安装包了就不必)
root 下
mount -o loop /…iso /mnt

6.正式开始安装 ( 要用 dmdba 用户去安装 文件最大打开数别忘记设置 )
1. root 下 先释放权限
xhost +

2.获取root的DISPLAY参数  (查出来是:0.0)
 echo $DISPLAY

3.切换用户dmdba 
   让dmdba的参数和root的参数一样
   export DISPLAY=:0.0
  
4.cd到mnt下开始安装
  ./DMInstall.bin

5.安装最后执行命令  (root下)

二 创建实例
1.cd到tool下(所有的工具都在tool文件夹里面)
打开实例化的工具是 dbca.sh
./dbca.sh

2.创建的实例按照需求

3.安装最后执行脚本命令(root下)

4.连接数据库的方式 (两种方式)
(如果后面是别的实例比如5239 要在密码后面加@localhost:5239)
方式一
disql 命令去连接
cd到bin下面去连接
./disql sysdba/dameng123

方式二
图形化界面
切到tool下
别忘记 (可以在dmdba下?)
 export DISPLAY=:0.0
 xhost +          

使用图形化工具
./manager
打开好可以去选项里勾选 编辑区---启用sql输入助手
还有一种方法(dminit)命令行 但是服务要自己去启动 考试应该考不到
查看服务工具  ./dmservice.sh

三 管理实例
1.查看状态并切换状态
连接数据库(在dmdba下bin目录下)
./disql sysdba/dameng123

 查看状态	
 sql:   select status$ from v$instance;

 切换状态
	 sql:alter database mount;

2.达梦工具介绍
disql工具使用说明
https://mp.weixin.qq.com/s/UKvdr8wHat_MP12KZCyDfQ
https://mp.weixin.qq.com/s/Nvx_oSPTidIeNqed7l1KTg
https://mp.weixin.qq.com/s/QGGOH1APIo2VpEhgn5YGkA

1)数据库管理工具 (dmdba tool下使用)
./manager

2)控制台工具 (考试的时候会考兼容性 去这里设置)
./console
里面能脱机备份还原
许可证信息

3)数据迁移工具
./dts
右键 新建工程 test
迁移 新建迁移 test

4)性能检测工具
./monitor
一样用账号密码连接

5)服务查看器
root下 tool下使用图形化工具查看
./dmservice.sh

6)手册工具查看
cd /dm8/doc
ll

四 表空间管理
表空间就是容器 里面存了很多的数据文件

1.如何查询表空间
在管理工具的编辑器里输入SQL

表空间相关信息
select tablespace_name,status from SYS.USER_TABLESPACES
status 状态是  0  表示连接   
	      1  表示有问题  是脱机状态

2.创建表空间
选中表空间 右键新建表空间
表空间命大写 (TEST)
文件路径(考试按要求)(TEST01.DBF是左边那个笔相当于新建一个)
例:dm8/data/DAMENG/TEST01.DBF
后面的文件大小,自动扩充,尺寸,上限按需求

3.表空间状态
两个状态
联机状态 status=0
脱机状态 status=1 表空间的数据不能访问

注意:system,roll, temp   不能 offline。

可以直接右键表空间进行脱机 联机
   命令方式:
Alter tablespace test01 offline; 
Alter tablespace test01 online;

4.维护表空间
表空间不足
直接右键表空间修改 添加新的文件路径

如果新增的文件路径不同 可以更换存储位置
	表空间 offline 
		右键点击表空间脱机
	修改存储位置
		右键点击修改  修改文件的路径
	表空间 online
		右键点击表空间联机

修改表空间的缓冲区类型
	右键点击修改
	缓存那更改  KEEP/NORMAL

5.临时表空间
查看临时表空间的参数
select para_name,para_value from v$dm_ini where para_name like ‘%TEMP%’

临时表空间不足的时候 
1)修改 temp_size的值  (para_name的值) 
	SQL:    sp_set_para_value(2,'TEMP_SIZE',128);
值 因为是静态参数所以要重启服务
	dmdba用户 bin目录下
	./DmServiceDMSERVER restart
重启服务之后断开连接 重新连接 

2)修改数据文件的值
	SQL:
	alter tablespace temp resize datafile '/dm8/data/DAMENG/TEMP.DBF' TO 256;
同上  还是要重启服务

备注:如果先修改数据文件 temp.dbf 则还需要修改 TEMP_SIZE 的值

6.roll表空间
roll表空间不足 SQL:
alter tablespace ROLL resize datafile ‘/dm8/data/DAMENG/ROLL.DBF’ TO 256;

五 用户管理
新建用户
在图形化界面操作
在里面填
用户名 密码 表空间 索引空间
赋予权限 等等
在达梦数据库中创建一个用户,就会给你创建一个同名的模式。

六 权限管理
相关的数据字典:
Dba_sys_privs,
dba_role_privs,
dba_tab_privs,
user_sys_privs,
user_role_privs;
DBA_USERS SYSUSERS

七 表的管理
1.创建表
规范 类型
设置表空间的储存位置,没有指定表空间,则会存到 main 表空间中

2.导入数据到表 (3种方法)
1、insert into 表名(列名) values (列值)
Insert into t1( id,name) values(1,’sssss);

2、通过脚本把数据导入表中。
例子:新建一张   t3   表
 create table test.t3(id int , name varchar(20))

到命令窗口下  
su -dmdba

cd /dm8

vi a.sql(相当于新建一个命名为a的sql文件,在里面    insert into test.t3values(1,'aaaa');   很多   )
最后一行加  commit  提交一下
然后按ESC+:到底端输入wq保存

cat a.sql 可查看里面的内容
这样 sql  的脚本就有了

然后开始用disql去导入
su - dmdba
cd /dm8/bin
./disql sysdba/dameng123

SQL> start /dm8/a.sql   回车


3.DTS 迁移工具 
	命令窗口下去打开
	su - dmdba
	cd /dm8/tool/
	export DISPLAY=:0.0
	xhost +
	./dts
打开后
	右键迁移  新建迁移
	迁移名称  test2 
	下一步 选择文件迁移到达梦
	点右下的添加文件 找到 a.sql
	下一步到 目的地
	之后完成

3.维护表
增加列
alter table TEST.t3 add column(c1 number(3,1));

删除列
alter table TEST.t3 drop column c1;


创建约束(非空约束not null,   
	唯一约束UNIQUE,   
	主键约束 primary key,
	外键约束,
	检查约束)

	非空约束
新建一张简单的表
create table test.t6(id int); 

修改id为非空
alter table test.t6 alter column id set not null;


	唯一约束
create table test.t7(id int, name varchar(20) UNIQUE);

	主键约束
create table test.t8(id int primary key);  (创建的时候就加)

create table test.t9(id int); 
alter table test.t9 add CONSTRAINT t9_pri primary key(id);(创建之后再加)

注:唯一约束和主键约束的区别:
主键列有且只有一列,唯一约束可以有多列。
主键列不允许有空值,唯一约束可以有多个 null 
主键列可以作为外键,唯一约束不能
创建主键约束时,可以创建聚集索引和非聚集索引,而唯一约束产生聚集索引。

	外键约束
创建表的时候加
create table test.t10 (sid int PRIMARY key ,pid int);
create table test.t11(id int PRIMARY key , sid int FOREIGN key REFERENCES test.t10(sid)); 

图形化加外键
新建一张表的时候 约束里添加  找到参照的表的id
外键是透明的白色钥匙  主键是实心蓝色的钥匙

	检查约束
create TABLE test.t12(id int CHECK(id>=5));  插入id小于5的就不行  要大于等于5

图形化加检查约束
新建一张表 新增字段id 
点约束 新增检查约束
约束名可以写 C2
表达式里写条件 比如   ID>=5

4.给字段 列 加备注
Comment on column test.t12.id is ‘编号’

5.查看表的列信息和约束
查到表T12的 列备注等信息
select table_name,column_name,comments from dba_col_comments where table_name=‘T12’;

查表的约束
select constraint_name, constraint_type, table_name from SYS.DBA_CONSTRAINTS where table_name='T12';

6.启用和禁用约束 (迁移的时候有时候要禁用一些约束)
alter table test.t12 disable constraint CONS134218854; 关闭约束
alter table test.t12 enable constraint CONS134218854; 启用约束
alter table test.t12 drop constraint CONS134218854; 删除约束

7.删除表
drop table test.t12;

8.清空表几种方式:
DELETE
TRUNCATE
DROP

释放的空间不同
DROP 释放空间最大 >TRUNCATE > DELETE 
drop 删除表结构和数据
	truncate 和 delete 只删除数据
			delete 可以过滤数据
Delete 删除的时候 写 redo ,可以回滚,慢。
Truncate 不写 redo, 不能回滚, 快

八 备份还原
数据库备份就是制作数据库的“副本” 防止数据库丢失数据 在数据丢失后重建数据库
完全备份:是指一个备份包含指定数据库或表空间的所有数据
增量备份:是指在一次全备份或上一次增量备份后,每次的备份只需备份与前一次相比增加或者修改的部分。

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

1.物理备份分两种 冷备 和 热备

冷备(就是脱机备份):dmap 服务是打开的,数据库实例是关闭的。
使用控制台工具

命令窗口下
su - dmdba
export DISPLAY=:0.0
xhost + 
cd /dm8/tool/
./console
打开后
点击备份还原
右边 点击新建备份
确定好ini文件的路径
填入备份名    例:FULLBAK
找到备份集目录    例:在dm8下面新建一个backup文件夹做备份集
备份类型选择完全备份

都填好了后点确定 
如果弹出备份失败 是因为 当前的实例没有关闭 要先关闭
cd /bin
./DmServiceDMSERVER stop 

然后再去点确定备份

服务启动
./DmServiceDMSERVER start 


增量备份
备份名  例:ICR_BAK
目录 可以添加一个ICR_BAK的文件夹
备份类型选择 增量备份 就行
在基备份添加全备的路径(backup文件夹)
点击确定备份

再上页 也就是点击备份还原的页面
右边的 配置 点击  添加ICR_BAK文件
点击获取备份

使用DMRMAN工具来冷备 (只能用来冷备)

热备 
DMAP 服务是打开的,数据库实例也是打开的,数据库是  归档 模式

归档
本地归档: 
远程归档:DMDSC 集群 
实时归档:实时数据守护
即时归档:读写分离 
同步归档: 
异步归档:定时发送

·······

图形化工具开归档
查看是否开归档
select name,status$,arch_mode from v$database;

右键    LOCALHOST(SYSDBA) 
点击   管理服务器
点击   系统管理
点击  配置  点转换  (等于把他变成mount状态)

左边导航就会变
再点击   管理服务器
点击       归档配置
归档模式  选择归档   点击 + 
归档目标输入  /dm8/arch
点击确定

最后再右键到   管理服务器
系统管理 把状态点到 打开 点转换

这样就开归档了

开始备份
在左边目录树下找到备份
点击库备份 新建备份
类型选 完全备份
选择备份的目录

右键点库备份的 指定工作目录  添加备份的目录

增量备一样 不要忘记 备份集

利用disql也可以备份 

归档的删除
select * from v$fun where name like '%ARCHIVE%'

SF_ARCHIVELOG_DELETE_BEFORE_LSN         删除LSN之前的归档
SF_ARCHIVELOG_DELETE_BEFORE_TIME       删除TIME之前的归档
SF_REMOTE_ARCHIVE_CHECK 		  远程归档的检查
SP_REMOTE_ARCHIVE_REPAIR 		  远程归档的修复
SF_REMOTE_ARCHIVE_TRUNCATE	   远程归档的删除


备份表,表空间都在热备下做	同上

数据库还原
表空间还原
DM8 表空间还原只能脱机还原,使用 dmrman 也可以用控制台工具
bin下面 ./dmrman

如果 system 等系统表空间损坏,就需要对数据库做整库还原。
1、校验数据库备份集 
2、数据库整库还原
3、数据库恢复 
4、更新 DB_MAGIC 

整库还原三部曲: 
RMAN>restore database ‘,....../dm.ini’ from backupset ‘....’;  还原
Rman>recover database ‘,....../dm.ini’ from backupset ‘....’;  恢复
Rman>recover database ‘,....../dm.ini’ update db_magic;      更新

使用控制台工具来还原

逻辑备份

1、逻辑导出
[dmdba@localhost bin]$ ./dexp sysdba/dameng123@localhost:5236 file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y

2、逻辑导入
[dmdba@localhost bin]$ ./dimp sysdba/SYSDBA@localhost:5239 file=/dm8/backup/dexp/dexp01.dmp log=/dm8/backup/dexp/dimp01.log

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值