注册
达梦8 DCA 认证学习总结
培训园地/ 文章详情 /

达梦8 DCA 认证学习总结

dxc 2022/12/01 1738 3 1

一、安装前准备
创建用户组:groupadd dinstall
创建dmdba用户 useradd -g dinstall -d -m /home/dmdba -s /bin/bash dmdba
passwd dmdba

设置文件打开限制
vim /etc/security/limits.conf
dmdba soft nofile 102400
dmdba hard nofile 204800

root soft nofile 102400
root hard nofile 204800

达梦安装目录规划:mkdir /dm8 chown -R dmdba:dinstall /dm8

切换到dmdba用户下:
挂载安装盘镜像文件:mount -o loop XXX.iso /mnt

二、安装方式
图形化安装的前置操作:
1:root用户下授权所有用户可以使用图形化
命令:xhost +
回显:access control disabled, clients can connect from any host
2:查看 root 用户的DISPLAY 变量值
命令:echo $DISPLAY
回显::0.0
实际上机操作DISPLAY值可能不同,这里要根据实际情况配置dmdba用户下的DISPLAY
3.dmdba 用户下
export DISPLAY=:0.0 (具体值根据实际情况配置)

在ISO挂载目录下执行./DMInstall.bin

命令行安装方式
在ISO挂载目录下执行./DMInstall.bin -i 按照向导执行即可

如果安装时报错 tmp 不足,可以设置 DM_INSTALL_TMPDIR 变量,指定到别的路径下(存储空间大于 2G)
设置参考如下:
root用户下执行
cd /opt
mkdir tmp
chown dmdba:dinstall /opt/tmp
export DM_INSTALL_TMPDIR=/opt/tmp

三、创建数据库及数据库实例
图形化创建
dmdba用户下cd /dm8/tool
./dbca.sh
按考试要求配置数据库名、实例名、端口号等
特别注意簇大小、页大小、字符集、大小写敏感、VARCHAR 类型以字符为单位等,因为数据库部署后无法修改。
命令行创建方式
dmdba用户下 cd/dm8/bin
示例: ./dminit path=/dm8/data db_name=DMTEST instance_NAME=DMTESTSVR sysdba_pwd=Dameng123 port_num=5238 PAGE_SIZE=16
注册实例服务:切换到root账户 进入目录/dm8/script
注册服务脚本为 dm_service_installer.sh
示例:./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DMTEST/dm.ini -p DMTESTSVR
说明:-t dmsever指定创建的服务类型 -dm_ini指定数据库配置文件路径 -p服务后缀名 建议采用实例名

四、数据库连接

防火墙: firewall-cmd --add-port=5236/tcp --permanent --zone=public
firewall-cmd --reload
firewall-cmd --list-ports
cd /dm8/bin
./disql sysdba/Dameng123:5236

五、归档模式配置
查看数据库是否为归档模式
select arch_mode from v$database;
修改数据库为归档模式
alter database mount;
alter database archivelog;
alter database ADD ARCHIVELOG ‘type=local,dest=/dm8/archlog,file_size=64,space_limit=10240’;
alter database open;
查看归档日志信息
select * fron v$arch_file;

归档参数
select * from v$paramter where name =‘ARCH_INI’;

手工切换归档日志
alter system SWITCH LOGFILE;
alter database ARCHIVELOG CURRENT;
alter SYSTEM ARCHIVE LOG CURRENT;

当发生归档日志不连续时,执行:
checkpoint(100);

五、数据库表空间创建及管理
语法:create tablespace 表空间名称 datafile ‘数据文件位置’ size 大小 autoextend on next 大小 maxsize 大小
达梦中表空间数据文件大小不能低于页大小的 4096 倍,不大高于页大小的 2 的 31 次方-1.如果页大小 8K,数据文件最小值 32M,最大值 16T-1
示例:
create tablespace dxc datafile ‘/dm8/data/dmdb/dxc01.dbf’ size 64 autoextend on next 4 maxsize 512;

create tablespace TBS datafile ‘/dm8/data/DAMENG/TBS01.dbf’ size 64 autoextend on next 1 maxsize 1024,‘/dm8/data/DAMENG/TBS02.dbf’ size 64 autoextend on next 1 maxsize 1024;
表空间添加数据文件
alter tablespace dxc add DATAFILE ‘/dm8/data/dmdb/dxc02.dbf’ SIZE 32 autoextend on next 4 maxsize 512;

打开和关闭数据文件自动扩展
打开自动扩展: alter tablespace dxc DATAFILE ‘/dm8/data/dmdb/dxc02.dbf’ AUTOEXTEND on NEXT 4 MAXSIZE 10240;
关闭自动扩展:alter tablespace dxc DATAFILE ‘/dm8/data/dmdb/dxc02.dbf’ autoextend off;

修改数据文件大小:alter tablespace dxc resize datafile ‘/dm8/data/dmdb/dxc02.dbf’ to 100;

迁移表空间
(1)表空间offline : alter tablespace dxc offline;
(2)迁移数据文件至其他目录:alter TABLESPACE DXC rename DATAFILE ‘/dm8/data/dmdb/dxc03.dbf’ TO ‘/dm8/data/TBS/dxc03.dbf’;
(3)表空间online :alter tablespace dxc offline;

六、临时表空间管理
查看临时表空间参数
select *from SYS.“V$PARAMETER” where name like ‘%TEMP%’;
TEMP_SIZE 表示临时表空间的初始大小。
TEMP_SPACE_SIZE 表示临时表空间的空间限制
修改临时表空间大小
alter system set ‘TEMP_SIZE’=100 spfile;
参数type说明:
READ ONLY:手工参数,无法通过 sql 语句或者函数修改,但可以通过修改 dm.ini 配置文件中内容来修改参数,因而需要重启数据库才能生效。
IN FILE: 静态参数,可以通过 sql 或者函数修改参数,但只能修改配置文件中的值,因而需要重启数据库才能生效。
SYS:动态参数(系统级参数),可以通过 sql 或者函数修改参数,即可以修改内存中的值(不用重启数据库就生效),也可以修改参数文件中的值。
SESSION: 动态参数(会话级参数), 可以通过 sql 或者函数修改参数,可以只针对当前会话生效。

alter system set ‘参数名’=参数值 both|spfile|memory
both=spfile+memory
示例:alter system set ‘COMPATIBLE_MODE’=2 spfile;

查看参数信息
select name,type,description from v$parameter;

七、联机日志管理
查看联机日志
select * from v$rlogfile;
修改在线日志大小:alter database resize LOGFILE ‘DMDB01.log’ to 300;
添加日志文件 alter database add logfile ‘DMDB03.log’ size 256;
迁移联机日志:
(1)alter database mount;
(2)alter database rename logfile ‘DMDB01.log’ to ‘/dm8/data/logfile/DMDB01.log’;
(3) alter database open;

八、用户管理

系统口令策略
select * from v$parameter where name in (‘PWD_POLICY’,‘PWD_MIN_LEN’);
创建用户不指定口令策略时, 使用系统的口令策略, 由参数 PWD_POLICY 指定。
用户口令最长为 48 字节,创建用户语句中的 PASSWORD POLICY 子句用来指定该用
户的口令策略,系统支持的口令策略有:
⚫ 0 无限制。但总长度不得超过 48 个字节
⚫ 1 禁止与用户名相同
⚫ 2 口令长度需大于等于 INI 参数 PWD_MIN_LEN 设置的值
⚫ 4 至少包含一个大写字母(A-Z)
⚫ 8 至少包含一个数字(0-9)
⚫ 16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号)

创建用户
create user dxc identified by Dameng123 ;
修改用户默认表空间
alter user dxc default tablespace DXC default index tablespace DXCIDX;

锁定/解锁用户
alter user DMTEST ACCOUNT LOCK;
alter user DMTEST ACCOUNT UNLOCK;

创建资源策略
create PROFILE pro1 LIMIT FAILED_LOGIN_ATTEMPS 5, PASSWORD_LOCK_TIME 3, PASSWORD_LIFE_TIME 180;
应用资源限制策略到具体用户
alter user dmtest PROFILE pro1;
查看用户资源限制策略
select a.USERNAME,b.* from dba_users a ,SYSUSERS b where a.USER_ID=B.ID;

用户赋权
grant dba to dxc;
grant select any table to dxc;
赋予用户查询某张表权限
grant select on 表空间名.表名 to 用户

取消用户权限
revoke select any table from dxc;

select * from DBA_ROLE_PRIVS 用户角色
select * from DBA_TAB_PRIVS 系统表权限
select * from DBA_SYS_PRIVS 系统访问权限

九、表管理
创建表
create table DXC.t1 (id int ,name varchar(40)) tablespace DXC;
插入数据
insert into DXC.t1 values(1,‘jerry’) ;
基于表创建新表
create TABLE DXC.t2 as select * from DMHR.employee;
从.sql文件导入数据(通过cat t_emp.sql查看文件内容)
SQL> set echo off
SQL> set feedback off
SQL> set timing off
SQL> start /dm8/backup/t_emp.sql

修改表外键约束
alter table “DXC”.“student” add constraint foreign key(“id”) references “DXC”.“EMPLOYEE”(“EMPLOYEE_ID”);

批量插入数据
begin
for i in 1…500 LOOP
insert into T1(id, name) values(i, dbms_random.string(‘A’,20));
end loop;
commit;
end;

十、备份与还原

1.数据库备份还原的条件
1)数据库备份的条件
( 1)联机备份时,数据库必须配置本地归档,并且归档必须处于开启状态。
( 2)脱机备份时,只有正常关闭的数据库才允许脱机备份。
2)数据库还原的条件
数据库还原的条件是,数据库必须处于脱机状态。

2.表空间备份还原的条件
( 1)表空间备份的条件。不允许备份 SYSTEM 表空间、 ROLL 表空间和 TEMP 表
空间。
( 2)表空间还原的条件。数据库必须处于联机状态。
表空间还原本身包含恢复操作,因此表空间还原后不需要再执行恢复操作。

3.表备份还原的条件
1)表备份的条件
( 1)数据库必须处于联机状态。
( 2)只能进行完全备份,不需要备份归档日志。
2)表还原的条件
( 1)数据库必须处于联机状态。
( 2)表还原本身包含恢复操作,因此表还原后不需要再执行恢复操作。

脱机备份: DMRMAN 和 Console DM 控制台工具可以脱机备份, 脱机备份是数据库关闭状态
下的备份。

(1)dmrman(systemctl stop 达梦服务 或者disql 执行shutdown immediate)
在达梦bin目录中执行./dmrman
进行数据全量备份
backup database ‘/dm8/data/DMDB/dm.ini’ full to DB_FULL_BACKUP01 backupset ‘/dm8/data/DMDB/DB_FULL_BACKUP01’;
backup database ‘/dm8/data/DMDB/dm.ini’ increment to DB_INCR_BACKUP01 backupset ‘/dm8/data/DMDB/DB_INCR_BACKUP01’;
脱机备份归档
backup archive log database ‘/dm8/data/DMDB/dm.ini’ to Archivelog01 backupset ‘/dm8/data/DMDB/backup/Archivelog01’;
恢复数据库
restore database ‘/dm8/data/DMDB/dm.ini’ from backupset ‘/dm8/data/DMDB/DB_FULL_BACKUP01’;

recover database ‘/dm8/data/DMDB/dm.ini’ from backupset ‘/dm8/data/DMDB/DB_FULL_BACKUP01’;

更新数据库魔数

recover database ‘/dm8/data/DMDB/dm.ini’ UPDATE DB_Magic

(2)console 在达梦安装目录tool中执行./console 调用图形界面

联机备份:
(1)数据库必须处于归档模式
(2)在disql或数据管理工具中进行数据联机备份
disql备份:backup database full to DB_FULL_BACKUP01 backupset ‘/dm8/data/DMDB/bak/DB_FULL_BACKUP01’;全量备份
backup database increment to DB_INCR_BACKUP01 backupset ‘/dm8/data/DMDB/bak/DB_INCR_BACKUP01’;增量备份

联机归档备份:
backup ARCHIVE LOG ALL to ARCHBAK backupset ‘/dm8/backup/backup/ARCHBAK’;

恢复归档日志到数据库默认归档路径:
restore archive log from backupset ‘/dm8/data/DMDB/backup/Archivelog01’ to database ‘/dm8/data/DMDB/dm.ini’ overwrite 3;

还原归档备份时间点数据到指定位置

RESTORE ARCHIVE LOG FROM BACKUPSET ‘/dm8/data/DMDB/bak/ARCH_LOG_20221201_021853_578421’ TO ARCHIVEDIR ‘/dm8/data/arch’ OVERWRITE 2;

还原归档:

recover database ‘/dm8/data/DMDB/dm.ini’ with archivedir ‘/dm8/archlog’;

完整恢复示例:
(1)恢复完全备份时间点
restore database ‘/dm8/data/DMDB/dm.ini’ from backupset ‘/dm8/data/DMDB/bak/DB_DMDB_FULL_20221201_021555_484837’;

(2)恢复删除数据前归档日志到新的位置
RESTORE ARCHIVE LOG FROM BACKUPSET ‘/dm8/data/DMDB/bak/ARCH_LOG_20221201_021853_578421’ TO ARCHIVEDIR ‘/dm8/data/arch’ OVERWRITE 2;

(3)还原归档日志
recover database ‘/dm8/data/DMDB/dm.ini’ with archivedir ‘/dm8/data/arch’;

(4)更新数据库魔数
recover database ‘/dm8/data/DMDB/dm.ini’ UPDATE DB_Magic

十一、逻辑导出
全库导出
dexp userid=sysdba/SYSDBA file=/dm8/data/DMDB/backup/full.dmp log=/dm8/data/DMDB/backup/full.log full=y
按schem导出
dexp userid=DMTEST/Dameng123 file=/dm8/backup/DMTEST.dmp log=/dm8/backup/DMTEST.log schemas=DMTEST;

十二、 ODBC配置
上传unixODBC-2.3.0.tar.gz文件 tar zvf 解压文件

cd unixODBC-2.3.0
./configure
make&make install
查看安装信息
odbcinst -j
配置数据源
cd /usr/local/etc/
vim odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

vim odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

配置环境变量:
su - dmdba
vi .bash_profile
export LD_LIBRARY_PATH=“/lib64::/dm8/bin”

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服