注册
达梦DCA实操笔记
培训园地/ 文章详情 /

达梦DCA实操笔记

尚亦然 2022/12/02 791 0 0

一、达梦数据库安装

查看磁盘空间 df -h
设置tmp空间 mount -o remount,size=2G /tmp

1、规划安装用户和用户组
不推荐使用root安装,规划使用单独用户dmdba安装
查看是否存在用户

[root@localhost ~]# groupadd dinstall
[root@localhost ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@localhost ~]# passwd dmdba
更改用户 dmdba 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

1、规划安装目录
创建安装目录/dm8,并修改安装目录的所属组给dmdba用户和该用户所属组
[root@localhost ~]# mkdir /dm8
[root@localhost ~]# ls -ld /dm8
drwxr-xr-x 2 root root 6 11月 23 19:04 /dm8
[root@localhost ~]# chown dmdba:dinstall /dm8
[root@localhost ~]# ls -ld /dm8
drwxr-xr-x 2 dmdba dinstall 6 11月 23 19:04 /dm8

附:解压zip
[root@localhost ~]# cd …
[root@localhost /]# cd home
[root@localhost home]# ll
总用量 918624
-rw-r–r-- 1 root root 940665474 11月 23 15:58 dm8_20220525_x86_rh6_64.zip
drwx------ 3 dmdba dinstall 78 11月 23 19:00 dmdba
drwx------ 15 ylw ylw 4096 11月 23 15:07 ylw
[root@localhost home]# unzip dm8_20220525_x86_rh6_64.zip
Archive: dm8_20220525_x86_rh6_64.zip
creating: dm8_20220525_x86_rh6_64_ent/
inflating: dm8_20220525_x86_rh6_64_ent/dm8_20220525_x86_rh6_64.iso

2、挂载iso镜像文件
[root@KylinDCA03 opt]# mkdir /mnt/dm
[root@KylinDCA03 opt]# mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso
/mnt/dm
mount: /mnt/dm: WARNING: source write-protected, mounted read-only.
[root@KylinDCA03 opt]# su - dmdba
[dmdba@KylinDCA03 ~]$ cd /mnt/dm
[dmdba@KylinDCA03 dm]$ ll su
总用量 739440
-r-xr-xr-x 1 root root 2784248 8 月 23 14:36 ‘DM8 Install.pdf’
-r-xr-xr-x 1 root root 754402133 8 月 23 14:40 DMInstall.bin
./DMInstall.bin

3、图形化界面设置
(1)第一次启动虚拟机,执行下 xhost +
[root@KylinDCA03 桌面]# xhost +
access control disabled, clients can connect from any host

2)查看 root 用户的 DISPLAY 变量值
[root@KylinDCA03 桌面]# echo $DISPLAY
:0.0

3)切换 dmdba 用户
[root@KylinDCA03 桌面]# su - dmdba
上一次登录: 一 12 月 20 18:54:09 CST 2021 pts/1 上

4)设置 dmdba 用户的 DISPLAY 变量值为步骤(
1)中的值(仅对当前会话生效)
[dmdba@KylinDCA03 ~]$ export DISPLAY=:0.0
[dmdba@KylinDCA03 ~]$ cd /mnt/dm
[dmdba@KylinDCA03 dm]$ ll
总用量 739440
-r-xr-xr-x 1 root root 2784248 8 月 23 14:36 ‘DM8 Install.pdf’
-r-xr-xr-x 1 root root 754402133 8 月 23 14:40 DMInstall.bin

4、达梦数据库安装
Su - dmdba
./DMInstall.bin

二、新建数据库实例
[dmdba@KylinDCA03 ~]$ cd /dm8/tool
[dmdba@KylinDCA03 tool]$ ./dbca.sh

连接数据库服务:
[dmdba@KylinDCA03 ~]$ cd /dm8/bin
[dmdba@KylinDCA03 bin]$ ./disql sysdba/Dameng123:5236

数据缓冲区
数据缓冲区包含四个类型:NORMAL、KEEP、FAST、RECYCLE
数据缓冲区采用 LRU(LATEST Recently Used 最近最少使用算法)淘汰。
Buffer 一般占用服务器内存的 40%-60%,OLAP 系统可以设置的更多。
数据的落盘(数据缓冲区的数据写入数据文件)由检查点完成。
检查点包含部分检查点和完全检查点。
SQL> select name, type, value,sys_value, file_value,description from
v$parameter t where t.name in (‘BUFFER’,‘KEEP’,‘RECYCLE’,‘FAST_POOL_PAGES’);
行号 NAME TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION



1 BUFFER IN FILE 1000 1000 1000 Initial
System Buffer Size In Megabytes
2 FAST_POOL_PAGES IN FILE 3000 3000 3000 Fast Pool
Pages
3 KEEP IN FILE 8 8 8 Initial
System KEEP Buffer Size In Megabytes
4 RECYCLE IN FILE 300 300 300 Initial
System KEEP Buffer Size In Megabytes
修改数据缓冲区大小为 500M:
alter system set ‘BUFFER’=500 spfile;

三、参数管理
SQL> select name,type,value,sys_value,file_value from v$parameter t where name like ‘COMPATIBLE_MODE’;

行号 NAME TYPE VALUE SYS_VALUE FILE_VALUE


1 COMPATIBLE_MODE IN FILE 0 0 0

已用时间: 4.732(毫秒). 执行号:56301.

IN FILE静态参数使用: alter system set’COMPATIBLE_MODE’=2 spfile;
SYS:动态参数(系统级参数):alter system set ‘UNDO_RETENTION’=240 both;
READ ONLY使用dm.ini  vim /dm8/data/服务名称 dm.Ini

四、表空间
create tablespace dmtbs DATAFILE ‘/dm8/data/TBS/DMTBS01.DBF’ size 32
create tablespace dmtbsidx DATAFILE ‘/dm8/data/TBS/DMTBSIDX01.DBF’ size 200
AUTOEXTEND OFF,
‘/dm8/data/TBS/DMTBSIDX02.DBF’ size 200 AUTOEXTEND OFF;
修改数据文件扩展尺寸
alter TABLESPACE dmtbs DATAFILE ‘/dm8/data/TBS/DMTBS01.DBF’ AUTOEXTEND off;
添加数据文件
alter tablespace dmtbs add DATAFILE ‘/dm8/data/TBS/DMTBS02.DBF’ SIZE 32 AUTOEXTEND off;
打开数据文件自动扩展属性
alter tablespace dmtbs DATAFILE ‘/dm8/data/TBS/DMTBS01.DBF’ AUTOEXTEND on NEXT 4
MAXSIZE 10240;
修改数据文件大小
alter tablespace dmtbs resize DATAFILE ‘/dm8/data/TBS/DMTBS02.DBF’ to 100;

五、用户角色权限
六、建表
create table dmtest.t_testpid
( pid int PRIMARY key, pname varchar(20) not null) TABLESPACE DMTBS;
create table dmtest.t_emp as select * from dmhr.EMPLOYEE;
create table dmtest.t_emp as select * from dmhr.EMPLOYEE where 1=0;
create table dmtest.t_emp like dmhr.EMPLOYEE;

用户权限不足问题:
grant select on dmhr.employee to dmtest

七、约束
切换模式:set schema DMTEST;
创建表设置唯一键约束:create table dmtest.t_testchild
(childid int,
childname varchar(30) UNIQUE,
pid int,
salary int )
tablespace DMTBS;
设置外键约束,其中pid也需要是唯一键或者主键:alter table dmtest.t_testchild ADD CONSTRAINT fk_testchild_pid FOREIGN KEY (pid)
REFERENCES dmtest.t_testpid(pid);
设置检验约束:alter table dmtest.t_testchild ADD CONSTRAINT ck_testchild_salary CHECK (salary>=2800);
如果提示表空间脱机状态:alter tablespace DMTBS online;

八、数据导入
切换模式:set schema DMTEST;

导数据之前需要清除表数据
truncate table DMEST.T_EMP;
导入数据的方法:
DM 中使用 start 或者在 disql 下执行 sql 脚本,DM 管理工具支持使用
SQL> start /dm8/backup/t_emp.sql
为提高导入效率,可以关闭回显设置:
SQL> set echo off
SQL> set feedback off
SQL> set timing off
SQL> start /dm8/backup/t_emp.sq

九、索引
DM管理工具-》模式-》表-》索引

十、视图
create or replace view dmtest.v_emp as
select a.DEPARTMENT_ID, a.EMPLOYEE_ID, a.EMPLOYEE_NAME, a.EMAIL,
a.SALARY
from dmtest.t_emp a
where a.DEPARTMENT_ID =1005;

create or replace view dmtest.v_empsalary as
select b.DEPARTMENT_NAME, avg(salary) avg_salary
69from dmhr.employee a, dmhr.department b
where a.department_id = b.department_id
group by b.DEPARTMENT_NAME
having avg(salary) > 5000;

十、开启归档
开启归档
alter database mount;
alter database ARCHIVELOG;
alter database ADD ARCHIVELOG
‘type=local,dest=/dm8/arch,file_size=64,space_limit=10240’;
alter database open;
查询归档日志文件信息:
select * from SYS.“V$ARCH_FILE”
select arch_mode from v$database;

十一、数据库备份
联机备份
1、数据库启动状态下的备份,需要开启归档。
backup database;

backup database full to DMFULLBAK01 backupset ‘/dm8/backup/full/DMFULLBAK01’;

backup database INCREMENT to INCK01 backupset ‘/dm8/backup/incr/INCK01’;

backup database INCREMENT with BACKUPDIR ‘/dm8/backup/full/’
to INCK02 backupset ‘/dm8/backup/incr/INCK02’;

backup database INCREMENT CUMULATIVE with BACKUPDIR ‘/dm8/backup/full/’
to INCK03 backupset ‘/dm8/backup/incr/INCK03’;
脱机备份
1、关闭数据库服务
DM服务查看器 使用root在tool目录下执行命令:./dmservice.sh 打开DM服务查看器
l’l2、 进入RMAN:
which dmrman
进入对应地址后输入./dmrman
backup database ‘/dm8/data/DAMENG/dm.ini’ to DMFULLBAK04
backupset ‘/dm8/backup/full/DMFULLBAK04’;

图形化操作
./console。、
十二、还原与恢复
1、库级的还原与恢复(脱机状态下操作)
Cd /dm8/bin
c’d

Su - dmdba账户

进入RMAN:
which dmrman
进入对应地址后输入./dmrman
a、还原 restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset ‘/dm8/backup/FULL_BACK’;
b、基于归档恢复到最新 recover database ‘/dm8/data/DAMENG/dm.ini’ with archivedir ‘/dm8/arch’;
c、更新数据库魔数 recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
./DmServiceDMSERVER start

十三、。、逻辑导入导出
全库导出:
[dmdba@KylinDCA04 backup]$ dexp userid=sysdba/SYSDBA
file=/dm8/backup/full.dmp log=/dm8/backup/full.log full=y
按模式导出:
[dmdba@KylinDCA04 backup]$ dexp userid=DMTEST/Dameng123
file=/dm8/backup/DMTEST.dmp log=/dm8/backup/DMTEST.log schemas=DMTEST

十四、作业管理
创建代理

select * from SYSJOB.SYSJOBS;
dbms_job.run(1669366566);
select * from SYSJOB.SYSJOBHISTORIES2;
创建作业

十五、ODBC配置
ODBC 安装和配置:
(1) 解压
[root@KylinDCA04 opt]# tar -zxvf unixODBC-2.3.0.tar.gz
(2) 安装 ODBC(三部曲:配置、编译、安装)
[root@KylinDCA04 unixODBC-2.3.0]# ./configure(默认安装在/usr/local 下)
[root@KylinDCA04 unixODBC-2.3.0]# make
[root@KylinDCA04 unixODBC-2.3.0]# make install

3) 配置数据源
[root@KylinDCA04 unixODBC-2.3.0]# odbcinst -j
unixODBC 2.3.0
DRIVERS…: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES…: /usr/local/etc/ODBCDataSources
USER DATA SOURCES…: /root/.odbc.ini
SQLULEN Size…: 8
SQLLEN Size…: 8
SQLSETPOSIROW Size.: 8
[root@KylinDCA04 unixODBC-2.3.0]# cd /usr/local/etc/
[root@KylinDCA04 etc]# vim odbcinst.ini
[root@KylinDCA04 etc]# vim odbc.ini
[root@KylinDCA04 etc]# cat odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@KylinDCA04 etc]# cat odbc.ini
84[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服