达梦DCA培训学习心得笔记

达梦DCA培训学习心得笔记

经过达梦公司组织的达梦数据库DCA培训,我获益良多,现分享我的个人学习心得笔记。

前期准备

如果数据库需要远程访问,关闭服务器防火墙,禁用selinux
systemctl stop firewalld
systemctl disable firewalld
vi /etc/selinux/config
SELINUXTYPE targeted 改为 disabled

规划安装路径和用户

创建dm8文件夹,dmdba用户,授权dmdba用户dm8文件夹相关权限
mkdir /dm8
groupadd dinstall
useradd -g dinstall dmdba
passwd dmdba
chown dmdba:dinstall -R /dm8
配置环境变量
su - dmdba
编辑vi .bash_profile
插入
export DM_HOME=/dm8
export PAHT= P A T H : PATH: PATH:HOME/.local/bin: H O M E / b i n : HOME/bin: HOME/bin:DM_HOME/bin
保存后使其生效
source .bash_profile
设置文件最大打开数
使用root执行
编辑
vi /etc/security/limits.conf
插入
dmdba soft nofile 4096
dmdba hard nofile 65536
临时生效
ulimit -n 65536

图形化安装

使用root挂在安装镜像
安装镜像放置在home下
mount -o loop /home/dm8_setup.iso /mnt
配置图形化环境变量
使用dmdba用户安装
cd /mnt
./DMInstall.bin
默认安装,安装路径选择之前规划的/dm8

创建数据库实例

/dm8/tool下
./dbca.sh

图形化创建数据库实例
创建数据库实例
默认安装
需要兼容oracle字符集选择UTF-8
作为学习使用,默认安装了两个实例库
完成
查看数据库是否启动
1、ps -ef|grep dmserver 进程
2、netstat -ntl|grep 5236 端口
3、cd /dm8/bin
./DmServiceDMSERVER status
数据库的启动、关闭、查询
cd /dm8/bin
./DmServiceDMSERVER start
./DmServiceDMSERVER stop
./DmServiceDMSERVER status

数据库相关工具及操作

disql工具
cd dm8/tool
./disql
键入连接
manager工具
cd /dm8/tool
./manager
数据迁移工具
cd /dm8/tool
./dts
性能监视工具
cd /dm8/tool
./monitor
console控制台工具(冷备份、还原)
cd /dm8/tool
./console
简单查询
语法: select () from ()
过滤查询
语法 :select () from () where ()
开启归档
将数据库启动到mount模式
alter database mount;
设定归档类型,大小
alter database add archivelog ‘type=local,dest=/dm8/archlog,file_size=100,space_limit=0’;
开启数据库归档模式
alter database archivelog;
打开数据库
alter database open;
查看数据库归档模式
select name,arch_mode,status$ from v$database;
manager工具开启归档
manager工具开启归档
选择配置,点击转换 数据库切换状态 Open-mount
切换数据库状态
查看表空间
select tablespace_name from dba_tablespaces;
查询表空间对应的数据文件
创建表空间
创建表空间
管理表空间
表空间的状态:
联机,脱机
表空间联机
表空间脱机
状态切换:
alter tablespace test1 offline;脱机

alter tablespace test1 online;联机
表空间不足
增加数据文件
alter tablespace “TEST1” add datafile ‘/dm8/data/DAMENG/test12.dbf’ size 32;
增加表空间数据文件
Resize 数据文件
alter tablespace “TEST1” resize datafile ‘test12.dbf’ to 100;
图形化下直接修改文件大小
更换数据文件路径 表空间脱机
alter tablespace test1 offline;
修改数据文件路径
alter tablespace test1 rename datafile ‘/dm8/data/DAMENG/test1.dbf’ to ‘/dm8/test1.dbf’;
表空间联机
alter tablespace test1 online;
查询
select file_name,tablespace_name from dba_data_files;
删除表空间
删除表空间TEST1
drop tablespace “TEST1”;

用户管理

达梦数据库用户管理:用户、权限、角色
权限:可以访问或者是修改我们指定对象的权利
系统权限:数据库对象的创建、删除等
对象权限:数据库对象数据的操作权限
查看用户
select username from dba_users;
案例:创建 test 用户,test 用户属于 tbs 表空间,test 用户有建表的
权限
1)创建 tbs 表空间
create tablespace “tbs” datafile ‘/dm8/data/DAMENG/tbs01.dbf’ size 32
CACHE = NORMAL;
创建tbs表空间
2)创建用户、授权
在这里插入图片描述
授权
指定用户test到表空间tbs
ALTER USER TEST DEFAULT TABLESPACE “tbs”;

查看权限
select GRANTEE,GRANTED_ROLE from sys.dba_role_privs where
grantee=‘TEST’;
更改用户密码:
Sysdba 用户密码忘记之后,无法登陆数据库
Alter user 用户名 identified by 密码;
将TEST用户密码改为DAMENG123
alter user test identified by DAMENG123;
查看用户的状态:
select username,account_status from dba_users;
锁定账户
alter user test account lock;
解锁账户
alter user test account unlock;
授权可以查看 dmhr.employee 表
grant select on dmhr.employee to test;
或者可以点击修改用户test对象权限
权限修改
权限查看
撤回权限
revoke select on dmhr.employee from test;
删除用户:
drop user test;
drop user test cascade; 谨慎使用,级联删除

创建角色、授权

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将角色授权给 test 用户
在这里插入图片描述
在这里插入图片描述
删除角色
drop role “testrole”;

达梦数据库的表

新建表
新建表
例子:创建表 test100,所属表空间为 TBS,表的详细信息如下:学号(主键),姓名不为空,学生家庭住址,入学时间,家长电话。
新建表空间
create tablespace “tbs” datafile ‘/dm8/data/DAMENG/tbs01.dbf’ size 32
CACHE = NORMAL;
新建用户,授权
reate user “TEST” identified by “Dameng123”
limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10;

grant “VTI” to “TEST”;

grant CREATE TABLE to “TEST”;
指定用户test到表空间tbs
ALTER USER TEST DEFAULT TABLESPACE “tbs”;
TEST用户下新建表test100
create table “TEST”.“TEST100”
(
“XUEHAO” CHAR(10) not null ,
“XINGMING” CHAR(10) not null ,
“ZHUZHI” CHAR(10),
“RUXUESHIJIAN” CHAR(10),
“JIAZHANGDIANHUA” CHAR(10),
primary key(“XUEHAO”)
)
storage(initial 1, next 1, minextents 1, fillfactor 0)
;
管理表
重命名表:
重命名表
alter table test1 rename to test11;
增加列:
增加列
Alter table test11 add name varchar(50);
删除列:
删除列
alter table TEST11 drop column name;
禁用约束:
禁用约束
alter table test4 disable constraint CONS134218854;
启用约束:
启用约束
alter table test4 enable constraint CONS134218854;
查看约束信息:
select constraint_name,table_name,status from user_constraints;
删除表:
删除表
更新
语法:update (table_name) set column_name=() where ();
删除 delete from () where

视图

视图:就是一张虚拟表,一个查询语句,真正的数据是在表上。
DM 视图分类:简单视图,复杂视图,物化视图
视图作用:数据库安全,权限
创建语法: create view () as ****接查询语句
修改视图:create or replace view () as ****接查询语句
创建简单视图:
创建一个名为v_emp的简单视图,包含dmhr.employee表下的部门编号为101,人员姓名和工资
create view v_emp as select employee_name,department_id,salary from
dmhr.employee
where department_id=1001;
查询
select * from v_emp
查询已建视图:
Select * from user_views;
删除视图
drop view v_emp;

索引

索引的作用:加快查询、数据更新,延迟插入,对数据库做写操作时,
数据库会自动维护索引,索引会占用存储空间。
达梦支持索引:btree 索引,位图索引,函数索引等。
创建索引的基本要求:
经常查询的列
连接列
Where 经常出现的列
返回少量的数据行或者是小部分的数据
不适合创建索引:
1、列上有大量的 null
2、列的数据有大量的重复
创建索引
创建名为t_emp的dmhr.employee的表
create table t_emp as select * from dmhr.employee;
查询t_emp表
select * from t_emp;
新建索引
需要用SYSDBA赋权TEST用户create index
新建索引
新建索引2
查看索引信息
select index_name,table_name from user_indexes;
维护索引
重建:索引有太多的碎片,重建索引会提高我们的数据库性能
重建索引:
alter index ind_employee_id rebuild;
删除重建:
drop index ind_employee_id;
注意:创建、重建、删除索引、更新统计信息时不要在业务高峰期执行,达梦不会自动搜集统计信息,可以配置作业定时执行。

备份还原

冷备
不需要开启归档,针对整库做备份 需要关闭数据库,DmApService 服务需要开启
关闭数据库
[dmdba@dm8 bin]$ ./DmServiceDMSERVER stop
确认DmAPService开启
[dmdba@dm8 bin]$ ./DmAPService status
tool下打开console工具
[dmdba@dm8 tool]$ ./console
新建备份
新建备份
新建备份2
完成后,在/dm8/backup下有两个文件
用 dmrman 备份
dmrman不支持热备,停止数据库实例
cd /dm8/bin
[dmdba@localhost bin]$ ./dmrman
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’;
热备
需要开启归档,数据库需要联机
可以备份数据库、表空间、表、归档文件
查看归档模式:
SQL> select arch_mode from v$database;
使用manager工具热备
点击备份下的库备份,全部默认,点确定
manager工具热备
热备

可以选择完全备份或者增量备份
disql 工具做热备:
做全备:
SQL> backup database full backupset ‘/dm8/backup’;
做增量备份:
SQL> backup database increment backupset ‘/dm8/backup/incrbak’;
管理工具中没有看到指定目录的备份:
添加备份工作目录:
指定工作目录
查看添加工作目录
表备份、表空间备份、归档备份均可在图形化下操作新建备份。
物理还原:
检查备份集:
RMAN> check backupset ‘/dm8/backup/’;
关闭数据库
RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset ‘/dm8/backup’;
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ with archivedir ‘/dm8/archlog’;
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
表空间还原:
表空间只能在联机模式下进行备份,脱机模式下进行还原
[dmdba@localhost DAMENG]$ rm -rf tbs01.dbf
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
RMAN>restore database ‘/dm8/data/DAMENG/dm.ini’ tablespace “tbs” from backupset '/dm8/data/DAMENG/bak/DB_DAMENG_FULL_20200809_194308_382003
RMAN>recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace “tbs”;
启动数据库
逻辑备份
dexp/dimp
位置
/dm8/bin
查看
./dexp help
逻辑导出
全 库 导 出 :
./dexp SYSDBA/Dameng123 file=full.dmp log=full.log directory=/dm8/backup full=y
全 库 导 入 :
./dimp SYSDBA/Dameng123 file=full.dmp log=full.log directory=/dm8/backup ignore=y
用户导出:导出test用户
./dexp SYSDBA/Dameng123 file=test.dmp directory=/dm8/backup owner=test
导出表:
./dexp test/Dameng123 file=test11.dmp directory=/dm8/backup tables=t_emp

作业

创建代理环境,模式下会自动创建SYSJOB
创建代理环境
新建作业
新建作业

Linux 环境中 ODBC 配置

用 root 配置
检查gcc
rpm -qa|grep gcc
[root@localhost home]# tar -xvf unixODBC-2.3.0.tar.gz
[root@localhost home]# cd unixODBC-2.3.0/
[root@localhost unixODBC-2.3.0]# ./configure
[root@localhost unixODBC-2.3.0]# make
[root@localhost unixODBC-2.3.0]# make install
[root@localhost unixODBC-2.3.0]# odbcinst -j
配置/usr/local/etc/odbc.ini /usr/local/etc/odbcinst.ini
如下信息
配置信息
测试连接: 用 dmdba 账户
在这里插入图片描述
以上为我个人的达梦DCA学习笔记,分享给大家,不妥之处欢迎指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值