本文介绍达梦8 DCA级别数据库安装与操作及过程中容易发生的问题,操作系统基于银河麒麟Kylin-Server-10-SP1-Release-Build20-20210518-x86_64.iso,达梦8版本为dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14iso。
下面直入主题:
查看 CPU
[root@localhost 桌面]# lscpu
[root@localhost 桌面]# free -m
[root@localhost 桌面]# df -h
/tmp 建议至少 1.5G 以上 ,如上图,空间不足1G,安装会报错,执行下方命令
再次查看
查看 Glibc、gcc 版本
下面开始安装dm8
1.创建用户和用户组
[root@localhost 桌面]# groupadd dinstall
[root@localhost 桌面]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@localhost 桌面]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
2.创建安装目录
# 创建安装目录/dm8,并修改安装目录的所属组给 dmdba 用户和该用户所属组
[root@localhost ~]# mkdir /dm8
[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# ls -ld /dm8
drwxr-xr-x 2 dmdba dinstall 6 5月 13 17:28 /dm8
3.挂载 iso 镜像文件
[root@localhost ~]# mkdir /mnt/dm
[root@localhost opt]# mount /opt/dm8_20210420_x86_rh6_64_ent_8.6.1.190_pack4.iso /mnt/dm
mount: /mnt/dm: WARNING: source write-protected, mounted read-only.
4.开始安装数据库
(1)第一次启动虚拟机,执行下 xhost +
[root@localhost 桌面]# xhost +
access control disabled, clients can connect from any host
(2)查看 root 用户的 DISPLAY 变量值
[root@localhost 桌面]# echo $DISPLAY
:0.0
[root@localhost 桌面]# su - dmdba
安装前检查DISPLAY 变量值 echo $DISPLAY
如果为空,执行export DISPLAY=:0.0 否则无法打开图形化工具
/mnt/dm目录下执行
[root@localhost dm]# ./DMInstall.bin
在root命令下执行上方命令完成安装
5.创建数据库及数据库实例管理
图形化工具创建数据库实例,在安装完成后直接初始化,或者dm8/tool目录下执行./dbca.sh,创建前确保图形化界面设置,echo $DISPLAY, export DISPLAY=:0.0
设置数据库名,实例名和端口号
可以设置单独密码和统一密码
root命令下执行上方指令完成创建,图形化创建数据库自动注册数据库实例。
./dminit path=/dm8/data db_name=DMTEST1 instance_NAME=DMTESTSVR1 sysdba_pwd=Dameng123 port_num=5238 PAGE_SIZE=16
dminit 方式创建数据库不会自动注册数据库服务 ,需要手动注册
tool目录下./dbca.sh
root用户执行上方指令
6.连接数据库
图形化工具
[dmdba@localhost]$ cd /dm8/tool/
[dmdba@localhost]$ ./manager
disql 命令行方式连接数据库
[dmdba@localhost]$ cd /dm8/bin
[dmdba@localhost bin]$ ./disql sysdba/Dameng123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.829(ms)
disql V8
SQL>
7.介绍下常用的图形化工具
/dm8/tool/
数据库服务查看器dmservice.sh
管理工具 manager
控制台工具 console
性能监视工具 monitor
8. 参数修改
修改兼容性参数,建议使用console工具,修改完记得重启数据库实例。
9.表空间管理
创建表空间
create tablespace dmtbs datafile 'DMTBS1.DBF' SIZE 32;
修改表空间大小
alter tablespace dmtbs resize datafile 'DMTBS1.DBF' to 64;
修改表空间开启自动增长,增长步长,最大表空间
alter tablespace dmtbs datafile 'DMTBS1.DBF' autoextend on next 2 maxsize 10240;
增加表空间下的数据文件
alter tablespace dntbs add datafile 'DMTBS2.DBF' size 64;
修改表空间名称
alter tablespace dmtbs rename to dmtbs001;
表空间迁移
迁移路径必须是由安装数据库用户创建,否则会有权限问题报错,如果发生报错,执行chmod -R 777 赋权
修改TEMP表空间大小
alter system set 'TEMP_SIZE'=64 spfile;
cat /dm8/data/DAMENG/dm.ini |grep TEMP_SIZE #查看是否生效
重做日志文件
创建连接日志、修改连接日志大小(只支持往大修改)
alter database add logfile 'DAMENG02.log' size 128;
alter database resize logfile '/dm8/data/DAMENG/DAMNEG02.log' to 256;
重做日志迁移
alter database mount; #将数据库状态切换成mount状态
alter database rename logfile '/dm8/data/DAMENG/DAMENG02.log' to '/dm8/data/DAMENG/REDD/DAMENG02.log';
alter database open; #将数据库状态切换成open状态
图形化工具操作太过简单,这边就不做演示了,安界面展示操作就行。
10.归档管理
开启归档
alter database mount; #将数据库状态改为mount
alter database archicelog; #打开归档
alter database add archivelog 'type=local,dest=/dm8/arch,file_size=64,space_limit=10240';
alter database open #将数据库状态改为open
关闭归档
alter database mount;
alter database noarchivelog; #关闭归档
alter database delete archivelog 'type=local,sest=/dm8/arch'; #删除归档文件
alter database open;
select arch_mode from v$database; #查询归档状态
图形化
11.用户管理
创建用户
create user dmhrtest identfied by 'Dameng123';
select * from v$parameter where name = 'PWD_POLICY'; #查询密码策略
alter SYSTEM set 'PWD_POLICY' = 策略相加 BOTH;
alter user hr DEFAULT TABLESPACE dmtbs; #修改默认表空间
alter user dmhrtest IDENTIFIED by 'Dameng@123'; #修改用户密码
图形化工具
./manager
12.角色管理
创建角色
create role 角色名;
赋予角色权限
grant 权限 to 角色名;
赋予用户角色
grant 角色名 to 用户名
设置用户最大连接数
alter user dmhrtest limit SESSION_PER_USER 3; #设置最大连接数3
设置赋予其他用户在非当前用户模式下创建对象权限
alter system set 'ENABLE_DDL_ANY_PRIV'=1 both; #开启参数
grant create any table to hrtest; #授权
grant select on 模式名.表名 to 用户名;# 添加查询权限
grant update on 模式名.表名 to 用户名;# 添加修改权限
grant delete on 模式名.表名 to 用户名;# 添加删除权限
#回收权限
revoke 角色名 from 用户名;
revoke 权限 from 用户名;
权限转授
13.模式对象管理
创建模式
create schema 模式名 authorization 用户名;
set schema 模式名; 切换模式,只对当前会话有效
14.表管理
创建表(注意区分大小写)
create table hrtest.t_testpid(
pid int,
pname varchar(20),
sex bit,
logtime datetime
)TABLESPACE dmtbs;
管理约束
alter table hrtest.t_testpid modify pname not null; #非空约束
alter table hrtest.t_testpid add CONSTRAINT uk_testpid_email unique (email); #唯一约束
alter table hrtest.t_testpid ADD CONSTRAINT pk_testpid_pid PRIMARY KEY(pid); #主键约束
alter table hrtest.t_testpid add salary number(10,2);
alter table hrtest.t_testpid ADD CONSTRAINT ck_testpid_salary CHECK (salary>=2100); #检验约束
alter table hrtest.t_test add CONSTRAINT fk_test_id FOREIGN KEY(id) REFERENCES hrtest.t_testpid(pid); #外键约束
约束的禁用启用,建议图形化工具直接右击约束,点击启用或者禁用
使用命令禁用启用
alter table 模式名.表名 disable constraint '约束名'; #禁用
alter table 模式名.表名 enable constraint '约束名'; #启用
如果图形化工具约束报错,将【窗口】-【视图】-【管理工具】导航树节点分批加载勾选取消
索引管理
创建索引
create index idx_表名_字段名 ON 表名 (字段名,字段名);
15.视图管理
创建视图
create or replace view 视图名称
as
select * from 视图条件
16.逻辑导出
./dexp userid=sysdba/密码:5236 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
#注意需要先创建目录,注意权限问题
17.按用户导出
./dexp userid=sysdba/密码:5236 directory=/dm8/backup/dexp file=dmtest.dmp log=dmtest.log owner=dmtest
18.导入sql
#在disql中执行
start sql文件路径
#在manager工具中执行
`sql文件路径; #注意中间不要加空格
commit;
19.联机备份
如果报错,执行下 checkpoint(100)
20.脱机备份
记得先脱机
21.作业管理
累计备份要基于完全备份
22.ODBC配置
# root用户在opt目录下解压
tar -zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0/
#执行三部曲
./configure
make
make install
配置odbc.ini 数据源信息和 odbcinst.ini 驱动信息
cd /usr/local/etc/
vim odbc.ini
[DM8]
Description = DM ODBC DSN
100 / 101
101 / 101
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng@123
TCP_PORT = 5238
vim odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
切换dmdba验证连接是否正常
su - dmdba
isql dm8 -v
以上为全部内容,再次提醒准备考DCA认证的同学,考试时看清考题,不要着急答题,图形化工具好用但是容易出现网络问题、卡顿等情况,用户操作不能乱,root用户误操作完会导致权限报错,重新赋权即可解决... 感谢大家的阅读!