创建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挂在安装镜像
mount -o loop /home/dm8_setup.iso /mnt
配置图形化环境变量
使用dmdba用户安
su - dmdba
cd /mnt
./DMInstall.bin
默认安装,安装路径选择之前规划的/dm8
/dm8/tool下
./dbca.sh
图形化创建数据库实例
默认安装
需要兼容oracle字符集选择UTF-8,作为学习使用,默认安装了两个实例库
完成查看数据库是否启动
ps -ef|grep dmserver 进程
netstat -ntl|grep 5236 端口
cd /dm8/bin
#数据库的启动、关闭、查询
./DmServiceDMSERVER status
cd /dm8/bin
./DmServiceDMSERVER start
./DmServiceDMSERVER stop
./DmServiceDMSERVER status
disql工具,可以用命令行模式链接数据库,并对数据库进行各项操作
cd dm8/tool
./disql sysdba/SYSDBA:5236
#成功键入连接
manager工具,DM数据库管理工具,图形化界面的方式管理数据库,可以对数据库进行各项操作
cd /dm8/tool
./manager
数据迁移工具,提供了一套数据迁移的快捷功能,支持市面上绝大部分的数据库之间的数据迁移,同时支持数据库与sql文件、excel文件等的互相迁移
cd /dm8/tool
./dts
性能监视工具,监控数据运行的各项指标和性能
cd /dm8/tool
./monitor
console控制台工具,可以修改数据库的各项参数,以及对数据库进行备份和还原
cd /dm8/tool
./console
#将数据库启动到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;
查看表空间
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;
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;
撤回权限
revoke select on dmhr.employee from test;
删除用户:
drop user test;
drop user test cascade; 谨慎使用,级联删除
删除角色
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;
视图:就是一张虚拟表,一个查询语句,真正的数据是在表上。
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
查看索引信息
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
完成后,在/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
新建作业,和其他数据库中的作业配置类似
用 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
配置/usr/local/etc/odbc.ini /usr/local/etc/odbc.ini
测试连接: 用 dmdba 账户
文章
阅读量
获赞