在国产化浪潮中,之前考的都是Oracle,现在达梦数据库这么火热,信创是后面的方向。
对于达梦的认证,比其他的选择题和背题来说动手能力要求高,且要多练习。
TIPS:
1、熟悉Oracle不代表熟悉达梦,
2、一定要多练习,
3、DCA的题量还是涉及很多基础操作的,2小时内做完,还是考验手速的。
最后很多使用热点的网络VNC会有些卡。最后按时完成。
0、安装前设置参数
设置文件打开数 open files(临时方法,仅针对会话生效 ulimit -n):
ulimit -n 102400
ulimit -n
设置文件打开数(修改配置文件,永久生效):
vim /etc/security/limits.conf
增加
dmdba soft nofile 102400
dmdba hard nofile 102400
root soft nofile 102400
root hard nofile 102400
扩充tmp磁盘空间(新的考试已经有4G内存,20G硬盘了,基本上不用修改)
# 使用root用户执行
groupadd dinstall
useradd -g dinstall -d /home/dmdba -s /bin/bash dmdba
- 创建安装目录及安装操作、可视化安装
-
[root@localhost opt]# mkdir /dm8 #用于安装数据库的目录 [root@localhost /]# chown -R dmdba:dinstall /dm8 #切换属主属组 [root@localhost /]# chmod 755 /dm8 #更改目录权限 #最新考试直接安装文件在/opt中 [root@localhost /]# su - dmdba [dmdba@localhost ~]$ cd /opt [dmdba@localhost /opt]$ ./DMInstall.bin #执行可视化安装 出现上述错误是图形化界面参数未设置好。使用下列方法设置图形化界面: 图形化界面设置(root 执行 xhost +,并查看 DISPLAY 变量): [root@localhost 桌面]# xhost + access control disabled, clients can connect from any host [root@localhost 桌面]# echo $DISPLAY :2.0 [root@localhost 桌面]# 设置 dmdba 用户的 DISPLAY(仅对当前会话生效) [dmdba@localhost dm]$ echo $DISPLAY [dmdba@localhost dm]$ export DISPLAY=:1.0 [dmdba@localhost dm]$ ./DMInstall.bin
-
切记用root执行,可以重新开一个终端窗口,root用户下执行
-
执行后结果,如下
-
安装完数据库后,直接会跳出创建数据库实例图形界面;如果是静默安装也可以用dmdba用户在/dm8/tool下./dbca.sh开启图形界面
-
DM客户端的使用(./manager) 达梦的可视化效果还是很好的
-
使用创建表空间示例,下面实例命令;考试全程图形界面,操作顺利
#查看数据文件 select * from DBA_DATA_FILES; #查看存在的表空间 select * from v$tablespace; #创建表空间,默认自动扩展了 Create tablespace TBS DATAFILE '/dm8/data/DAMENG/tbs01.dbf' size 32; #修改表空间的名字 alter tablespace TBS rename to TBSPROD; #更改表空间文件大小 Alter tablespace "TBSPROD" resize datafile '/dm8/data/DAMENG/tbs02.dbf' to 64; alter TABLESPACE TBSPROD ADD DATAFILE '/dm8/data/DAMENG/tbs03.dbf'size 32; #添加数据文件 alter tablespace TBSPROD offline; alter tablespace TBSPROD add datafile 'tbs03.DBF' size 64; alter tablespace TBSPROD online; #修改为不自动扩展 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DAMENG/tbs02.dbf' AUTOEXTEND off; #开启自动扩展,指定范围 alter TABLESPACE TBSPROD DATAFILE '/dm8/data/DAMENG/tbs02.dbf' AUTOEXTEND on NEXT 2 maxsize 1024;
7.1、导入sql文件(此处会导出到建立的员工表和部门表中去)
#shell下
start /opt/X.sql
#也可以在manager图形下,`在键盘左上角
`/opt/X.sql;
commit;
8.创建用户,可以不用命令,直接使用manager图形界面设置
#创建用户
create user "USERTEST" identified by "123456" default tablespace "TBSPROD";
#修改用户密码
Alter user USERTEST identified by ....
#用户锁定解锁
Alter user USERTEST ACCOUNT lock(unlock);
#查看用户权限信息
SELECT GRANTEE,PRIVILEGE,TABLE_NAME FROM DBA_TAB_PRIVS WHERE GRANTEE='aaa';
#撤销权限
#删除用户
REVOKE CREATE TABLE FROM TEST; revoke VTI FROM aaa;
#删除用户
DROP USER USERTEST;
#创建角色
CREATE ROLE ROLE1;
# 给角色分配权限
GRANT CREATE TABLE TO ROLE1;
GRANT UPDATE ON SYSDBA.EMP TO ROLE1;
9.模式对象管理:(必考)
DM 中一个用户可以拥有多个模式,一个模式只能归属于一个用户。
Oracle 用户和模式是一对一,DM 可以一对多。
创建用户,默认会创建一个同名的模式,也可以单独创建模式。
默认情况下,用户查询同名模式下的对象。
10.表的建立和修改,(必考),
考试时候用了EMPLYEE和DEPARMENT表,可以从HR库中复制,注意有的字段不一致。
#以下仅为示例,注意使用DMHR的表中员工表和部门表,做索引,视图,外键
#创建表:
create table t_usertest(
userid int,
username varchar(20) )tablespace tbspro;
修改字段:
alter table t_usertest modify username not null;
添加字段:
alter table t_usertest add phonenumber varchar(30) unique ;
alter table t_usertest add sex bit;
alter table t_usertest add email varchar(20);
删除字段:
alter table t_usertest drop column email;
外键(引用的是另一张表的主键):
create table t_emp
(emp_id int constraint pk_emp_empid primary key,
emp_name varchar(20),
dept_id int );
11.备份与还原:./dmservice.sh 必须是 root 打开,否则会造成无权限错误)
BAK_PATH 为数据库默认备份目录,生产环境建议修改此目录,
避免磁盘损坏,备份文件和源库数据文件同时损坏的情况。
#必须在root用户下查看
./dmservice.sh
保证DmAPService开启,需备份还原的数据库服务关闭,比如默认的DmServiceDMSERVER
注意:表空间的还原和恢复(不需要更新数据库魔数)
数据库级的还原和恢复如果没有更新数据库魔数,则会启动失败。(需更新数据库魔数)
cd /dm8/bin
./dmrman
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
考试中会用sh去删除DBF文件,让你用之前做的全库备份,逻辑备份,增量备份去恢复删除后的数据。这里考的是冷备,因为要关闭数据库后才./console下恢复。(必考,8分)
- 物理备份
- 完全备份
- 包含指定数据库和表空间所有数据
- 增量备份
- 基于一次完全备份或上一次增量备份后,往后每次备份只备份与前一次相比有差异的的数据文件
- 完全备份
- 逻辑备份
- 冷备
- 数据库停止运行时的备份
- 热备
- 数据库启动状态下的备份
12、备份命令示例,使用/dm8/tool下的./manager图形化界面操作。只有上面提到的冷备和恢复需要使用./console
dexp在达梦的bin目录下
注意需要先创建目录,而且导出用户和导入用户都使用dmdba
#full备份
./dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
#按照用户owner,记得到考试提示目录下检查备份文件是否存在
./dexp userid=sysdba/SYSDBA:5238 directory=/dm8/backup/ file=test.dmp log=test.log owner=test
13、图形化备份、还原
14、脱机冷备,
./console
15. 作业管理(必考)
16、ODBC配置,root用户下
解压ODBC,在/opt目录下
cd unixODBC-2.3.0
./configure
make
make install
- 修改配置文件,很关键,考试第一次保存了vim的编辑不行,只能用vi
- 注意下面的端口,要和考题建库时候的端口要一致
cd /usr/local/etc/
vi odbc.ini
[DM8] #
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5237
vi odbcinst.ini
[DM8 ODBC DRIVER]
Drscription = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
切换到dmdba用户,进行登陆即可
su -dmdba
isql dm8 -v
提示连接成功,才能等分