暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

达梦数据库日常运维手册

原创 曹展羽 2021-09-24
2957

达梦连接篇

连接主备服务名配置:

cat /etc/dm_svc.conf

# 全局配置区
GRP1=(192.168.43.131:32141,192.168.43.132:32142)
TIME_ZONE=(+480) #表示+8:00 时区
LOGIN_ENCRYPT=(0)
DIRECT=(Y)
# 服务配置区
[GRP1]
TIME_ZONE=(+540) #表示+9:00 时区
LOGIN_MODE=(0)
#指定优先登录的服务器模式。0:优先连接 Primary 模式的库,Normal 模式次之,
#最后选择 Stantby 模式;1:只连接主库;2:只连接备库;3:优先连接 Standby 模式
#的库,Primary 模式次之,最后选择Normal模式;4:优先连接Normal模式的库,Primary
#模式次之,最后选择 Standby 模式。默认值为 0
SWITCH_TIMES=(3)
#指定连接失败切换的次数
SWITCH_INTERVAL=(100)
#连接失败切换的间隔,单位毫秒
RW_SEPARATE=(1) #是否启用读写分离 0 不启用1 启用
RW_PERCENT=(25) #读写分离分发比例,读事务向主库分发的比例

连接dsc服务名配置:

cat /etc/dm_svc.conf

TIME_ZONE=(480)
LANGUAGE=(cn)

dm_dsc=(10.10.10.10:6236,1:6236)

[dm_dsc]
CLUSTER=(DSC)
##EP_SELECTION=(1)
DO_SWITCH=(2)
SWITCH_TIMES=(2000)
SWITCH_INTERVAL=(300)

连接失败问题:

1:查找服务是否正常;

ps -ef|grep dmserver

2:端口是否正确;

cat /opt/dmdbms/data/DAMENG/dm.ini | grep PORT
./disql SYSDBA/SYSDBA@IP:PORT

3:端口通不通;

telnet *.*.*.* 5236

日常使用篇

查达梦进程

ps -ef|grep dmserver

工具目录

ps -ef|grep dmserver

里面有个bin路径,工具在和bin同级的tool目录里面

查参数

Select * from v$parameter where name like ‘%PWD%’;

查归档状态

Select * from v$arch_file;

查建库参数

#查页大小
SELECT cast(PAGE()/1024 as varchar);
#查簇大小
SELECT cast(SF_GET_EXTENT_SIZE() as varchar)
#查字符集
select substr(svr_version,instr(svr_version,'V')),svr_version  FROM v$instance
SELECT CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' then 'UTF-8' when '2' then 'EUC-KR' end
#查大小写敏感
SELECT cast(SF_GET_CASE_SENSITIVE_FLAG() as varchar)
#长度是否以字符为单位
select SF_GET_LENGTH_IN_CHAR();

杀会话

begin
        for rec in
        (
          select sess_id from v$sessions where sess_id <> sessid()
        )
        loop
                sp_close_session(rec.sess_id);
                commit;
        end loop;
end;

查表上面的锁

SELECT * FROM V$LOCK WHERE table_id=(
SELECT OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_NAME='BDA_FP_T_A_ZDZJLMMX'
);

查表大小

1、创建一个表来存各表的大小

create table table_count (owner varchar(100),table_name varchar(100),used_space_MB varchar(100));

2、执行语句块,查出各表的大小,存进table_count这个表里。

declare
begin
for rec in
(
select owner, table_name from all_tables order by 1, 2
)
loop
insert into table_count
select
rec.owner ,
rec.table_name,
table_used_pages(rec.owner, rec.table_name)*(page()/1024)/1024
from
dual;
end loop;
end;

3、查询表table_count的信息,根据需求排序,就能看到各表的大小

select * from table_count order by used_space_mb desc;

查单表大小:

select table_used_pages('SYS', 'POLICIES')*(page()/1024)/1024 from dual;

sql执行篇

回滚段过旧

方法:优化sql,增加roll表空间

数据迁移篇

迁移方法

用达梦自带的dts工具
打开dts工具。
新建一个工程
image.png
新建迁移任务
image.png
image.png
image.png
选择oracle->dm
image.pngimage.png
填写oracle数据库信息
image.pngimage.png
指定驱动版本并自定义URL(这里利用去官网下载的oracle11.2.0.4的驱动)
下载地址
image.pngimage.png
填写目标库信息
image.pngimage.png
指定要复制的模式(这里仅将HR和SCOTT模式的数据迁移过去)
image.pngimage.png
选择要迁移的对象
image.png
image.png
完成。
image.pngimage.png
迁移完成。

常见迁移报错解决

1.由于外键约束导致数据未导入(重新导入或者分批导入,先导表结构,再导数据,最后导约束)
2.超度超出上限,扩大表字段长度,然后再重新导入数据

备份恢复篇

备份失败解决

1:确保使用的是dmdba用户
2:确定dmap服务正常

ps -ef|grep dmap

数据库升级

替换bin目录

1、正常关闭数据库服务

[dmdba@localhost /]$ cd /dmdbms/bin
[dmdba@localhost bin]$ ./dmserver stop DmServiceDMSERVER

2、检查目前数据库的版本

[dmdba@db1 bin]$  ./disql -id
1-1-156-21.01.13-133136-ENT

3、备份当前bin目录

[dmdba@localhost dmdbms]$ mv bin bin_BAK

4、另找一台新服务器安装新版的DM软件,
将新的bin文件夹上传至原来bin目录下。
5、修改文件夹所有者

[dmdba@localhost dmdbms]$ chown –R dinstall: dmdba bin/

6、启动数据库:
注意:如果在新机器上只复制了bin目录,是无法注册后台服务的,需要将原本已注册
的服务文件(例如DmServiceDMSERVER01)进行编辑,确保里面的PATH路径与实际环境一致,才能后台启动这个脚本:

[dmdba@localhost bin]$ ./dmserver start DmServiceDMSERVER

使用卡顿问题定位

sql执行慢

优化sql

内存不足

查找当前的内存使用情况:

select (select sum(n_pages * page_size)/1024/1024 from 
v$bufferpool)||'MB' as BUFFER_SIZE ,( select 
sum(total_size)/1024/1024 from v$mem_pool)||'MB' as mem_pool,(select 
sum(n_pages * page_size)/1024/1024 from v$bufferpool) 
+ (select sum(total_size)/1024/1024 from v$mem_pool)||'MB' as 
TOTAL_SIZE from dual;

一般都是由于mem_pool过大引起的。
常见的原因:
1:memory_target设置为0,导致会话使用的内存未释放,考虑设置memory_target参数。
2:会话执行的sql消耗大量的内存,此时根据下面sql找到最占用内存的sql,然后进行优化

SELECT "SESSID", MAX_MEM_USED||'KB',SQL_TXT FROM V$SQL_STAT order by MAX_MEM_USED DESC; 
最后修改时间:2021-09-26 16:14:21
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论