达梦数据库DCA考试题目及答案分享

1. NeoKylin Linux Server 7.0系统上安装DM8企业版本

a) 软件安装在/dm8目录下
b) 以dmdba用户身份进行安装,如果用户不存在创建该用户?密码dameng123
具体步骤如下:

考前查看以及修改参数:
(1)查看防火墙状态:
systemctl status firewalld
systemctl stop firewalld
(2)查看glibc 以及gcc 包后期ODBC驱动会使用
rpm -qa|grep gcc
	rpm -qa|grep glibc
如果没有的话需要安装这两个
(3)查看系统参数:
ulimit -a
	设置最大文件打开数
	vim /etc/security/limits.conf
	dmdba soft nofile 65536
	dmdba hard nofile 65536
dmdba soft nproc 10240
dmdba hard nproc 10240
	临时生效:
	ulimit -n 65536
(4)查看是否有dmdba用户如果没有创建用户
查看:cat /etc/passwd
      id dmdba
创建dmdba用户:
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
dameng 123

mkdir -p /dm8
chown -R dmdba:dinstall /dm8
ls -ld /dm8
挂载DM安装包镜像文件
mount -o loop  /opt/dm8_setup_rh7.iso /mnt
cd /mnt
将DMInstall.bin 拷贝出来
先创建/opt/dm8_soft 文件夹存放DMInstall.bin
cd /opt
mkdir -p dm8_soft
chown -R dmdba:dinstall dm8_soft
chmod 775 DMInstall.bin

注意:切换到dmdba用户安装
su - dmdba
cd /opt/dm8_soft
[dmdba@localhost ~]$ ./DMInstall.bin -i

安装目录 放在 /dm8 下面
安装结束后root用户执行创建AP服务的脚本
/dm8/script/root/root_installer.sh


2. 管理员部署一个数据库,用来存放员工信息和订单信息

a) 数据文件存放到/dm8/data目录下
b) 数据库名DMDB,实例名DBSERVER,端口号5238
c) 数据库管理员的密码为Dameng123
d) 创建3组日志,每组日志大小为300M
e) 簇大小为16页,页大小为16K
f) 口令长度不小于6,禁止与用户同名,至少包含一个大写字母(A-Z)
g) 打开sqlserver兼容模式(sp_set_para_value(2,‘COMPATIBLE_MODE’,2);—重启数据库生效)

具体步骤如下:

使用dmdba在/dm8下创建data文件夹,backup文件夹
cd /dm8
mkdir -p backup
mkdir -p data
chown dmdba:dinstall backup
chown dmdba:dinstall data





cd /dm8/bin
./dminit help
./dminit PATH=/dm8/data DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5238 SYSDBA_PWD=Dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 LOG_PATH=/dm8/data/DMDB/DATA01.log LOG_SIZE=300 LOG_PATH=/dm8/data/DMDB/DATA02.log LOG_SIZE=300
LOG_PATH=/dm8/data/DMDB/DATA03.log LOG_SIZE=300

前台启动一次

注册数据库服务脚本
使用root用户
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -p dbserver -dm_ini /dm8/data/DMDB/dm.ini

/etc/rc.d/init.d/DmServicedbserver
vi /dm8/data/DMDB/dm.ini
 
COMPATIBLE_MODE=3(兼容模式根据考试题更改) ---静态
	PWD_POLICY=7(口令根据考试题更改)===7       ---动态
    PWD_MIN_LEN=6                               ---动态
	ARCH_INI=1  (更改归档参数)
BAK_PATH = /dm8/backup  查看一下后面的备份路径在dm.ini里面指定备份还原路径

sp_set_para_value(1,'PWD_POLICY',0);
1-动态   2-静态


配置归档文件
cd /dm8/data/DMDB
vi dmarch.ini

[ARCHIVE_LOCAL1]
ARCH_TYPE           = LOCAL
ARCH_DEST           = /dm8/arch
ARCH_FILE_SIZE      = 128
ARCH_SPACE_LIMIT    = 2048
创建/dm8/backup 目录

更改之后记得重启数据库服务
./DmServicePROD restart

注:如果设置大小写敏感:CASE_SENSITIVE=1

3. 规划DMTBS表空间,用来存储企业员工信息和部门信息

a) 数据文件存储在/dm8/data/DMDB中
b) 包含2个数据文件,分别为DMTBS01.DBF和DMTBS02.DBF
c) 每个文件初始大小为64M,每次自动扩展2M,单个数据文件最大10G

具体步骤如下:

create tablespace "DMTBS" datafile '/dm8/data/DAMENG/DMTBS01.DBF' size 64 autoextend on next 2 maxsize 10240, '/dm8/data/DAMENG/DMTBS02.DBF' size 64 autoextend on next 2 maxsize 10240 CACHE = NORMAL;

4.创建用户

a)创建用户DMTEST, 密码为Dameng123,默认表空间为DMTBS
b)创建角色TESTROLE,角色TESTROLE具有创建表,创建视图,创建索引的权限。
c)将角色RESOURCE,TESTROLE赋给DMTEST用户,并赋予DMTEST用户查询dba_tablespaces的权限。

具体步骤如下:

create user "DMTEST" identified by "Dameng123" default tablespace "DMTBS"
default index tablespace "DMTBS";
创建角色:
create role "TESTROLE";
grant CREATE TABLE,CREATE VIEW,CREATE INDEX to "TESTROLE";
授予角色给用户
grant "RESOURCE","TESTROLE" to "DMTEST";
grant SELECT on "SYS"."DBA_TABLESPACES" to "DMTEST";

5.创建表

在DMTEST用户下创建EMP和DEPT表,EMP表用户存放所有员工的信息,DEPT用户存放所有部门的信息,EMP表外键引用DEPT表的主键,EMP_ID为EMP主键,DEPT_ID为DEPT表的主键,存在DMTBS表空间中。

切换到test用户
cd /dm8/bin
./disql DMTEST/Dameng123:5237
创建表:(命令行创建)要先创建DEPARTMENTS表
create table DEPT (DEPT_ID INTEGER primary key ,
DEPT_NAME VARCHAR(30),
LOCATION_ID INTEGER,
LOCATION_ADDR VARCHAR(30))
tablespace DMTBS;

create table "EMP"
( 
"EMP_ID" INTEGER NOT NULL,
"EMP_NAME" VARCHAR(20),
"EMAIL" VARCHAR(50),
"PHONE_NUM" VARCHAR(20),
"HIRE_DATE" DATE,
"JOB_ID" VARCHAR(10),
"MANAGER_ID" INTEGER,
"SALARY" INTEGER,
"DEPT_ID" INTEGER FOREIGN KEY REFERENCES DEPT(DEPT_ID),
PRIMARY KEY("EMP_ID")) tablespace DMTBS;

alter table 表名 rename column 旧列名 to 新列名;
alter table EMP rename COLUMN DEPT_IP TO DEPT_ID;

6.执行数据导入,将数据掺入EMP和DEPT表,脚本存放在/opt/script1.sql

具体步骤如下:

./disql DMTEST/Dameng123:5238
start /opt/script1.sql

7.为了保证数据库的安全性,企业要求管理员做好充分的备份工作。

a) 要求每次备份的文件统一存放/dm8/backup中。
b) 对当前数据库做一次完整的备份,备份名为DMDB_bak,保证数据能还原到失败前任意一个时刻;
c) 利用代理,设置JOB1,每周日晚22:00对数据库做完全备份,设置JOB2,周一、二、三、四、五、周六晚22:00对数据库做增量备份。

cd /dm8/bin
./dmrman
backup database to DMDB_bak backupset '/dm8/backup/';
RMAN>backup database'/dm8/data/DMDB/dm.ini' backupset '/dm8/bak';
JOB1
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');
call SP_CREATE_JOB('JOB1',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB1');

call SP_ADD_JOB_STEP('JOB1', 'B1', 5, '01000/dm8/backup/', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB1', 'd3', 1, 2, 1, 1, 0, '22:00:00', NULL, '2020-11-27 17:04:35', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB1');



JOB2
call SP_CREATE_JOB('JOB2',1,0,'',0,0,'',0,'');

call SP_JOB_CONFIG_START('JOB2');

call SP_ADD_JOB_STEP('JOB2', 'B2', 5, '11000/dm8/backup|/dm8/bakcup/', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('JOB2', 'd2', 1, 2, 1, 126, 0, '22:00:00', NULL, '2020-11-27 17:09:46', NULL, '');

call SP_JOB_CONFIG_COMMIT('JOB2');

8.执行/opt/script2.sh,保证数据不丢失

执行/opt/script2.sh
./disql 
start /opt/script2.sh
还原数据库:
	./dmrman
check backupset '/dm8/backup/';
RESTORE DATABASE '/dm8/data/DMDB/dm.ini' FROM BACKUPSET '/dm8/backup/ ';

RECOVER DATABASE '/dm8/data/DMDB/dm.ini' WITH ARCHIVEDIR '/dm8/arch';

RECOVER DATABASE '/dm8/data/DMDB/dm.ini' UPDATE DB_MAGIC;

9 对数据库执行逻辑全库导出,

备份文件存放在/dm8/bakcup中,备份文件命名为:dmdb_full.dmp,日志文件命名为:dmdb_full.log

cd /dm8/bin
./dexp sysdba/Dameng123:5237 file=dmdb_full.dmp log=dmdb_full.log directory=/dm8/backup full=y

10 创建视图

create VIEW  TEST.V_EMP AS SELECT * FROM TEST.EMPLOYEES WHERE HIRE_DATE > '1999-12-31' AND HIRE_DATE < '2004-01-01';

(可以用SYSDBA用户创建)
create view V_EMP as select * from EMPLOYEES where HIRE_DATE between to_date('1999-12-31 23:59:59','yyyy-mm-dd hh24:mi:ss') and to_date('2003-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss');
select * from "TEST"."V_EMP";

11 创建索引

create index "IND_EMP_NAME" on "DMTEST"."EMP"("EMP_NAME");

12 安装配置系统调用的ODBC驱动(安装包在/opt下

安装配置系统调用的ODBC驱动(安装包在/opt下)

[root@loaclhost ~]# tar -xvf unixODBC-2.3.0.tar.gz 
[root@loaclhost ~]# cd unixODBC-2.3.0/
[root@loaclhost 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

在这里插入图片描述

[root@loaclhost unixODBC-2.3.0]# vi /usr/local/etc/odbc.ini 
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5237
[root@loaclhost unixODBC-2.3.0]# vi /usr/local/etc/odbcinst.ini 
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so
[root@loaclhost unixODBC-2.3.0]# su - dmdba
[dmdba@loaclhost ~]$ isql dm8
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> quit

ODBC接口
tar -zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0
--2.配置ODBC(root)
./configure --enable-gui=no  
--3.编译ODBC
make
make install
--4.查看ODBC版本
odbc_config --version
--5.查看ODBC配置文件路径
odbc_config --odbcini
odbcinst -j

--6.配置ODBC.INI/usr/local/etc/odbc.ini
)
cd /usr/local/etc
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5238
--7.配置odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@DM01 etc]# chmod 775 odbc.ini
[root@DM01 etc]# chmod 775 odbcinst.ini
--8.测试ODBC
su - dmdba
isql dm8

13 在CSDN,ITPUB及个人公众号发布一篇关于达梦数据库使用的博文

大家可以自行发挥哈~~~

ps:
新手可以在考试的时候多使用图形化工具,考试只看结果不看实现方式,对新手来说图形化工具还是很友好的,避免了写大量sql 的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值