DM安装补充知识
1、学习准备
配置⽂件
- 数据库状态
- 守护进程
- 监视器
视频学习
Linux命令积累
- 测试
端⼝连通性nc -zv ip 端⼝号
连接服务器:ssh root@192.168.162.131 -p 22
- 数据库常⽤命令
Sql连接数据库:disql SYSDBA/’“Hn@dameng123”’
1
前台启动:dmserver /dmdata/dmdb/dm.ini
后台启动:DmServicerw start
2
前台启动:dmwatcher /dmdata/dmdb/dmwatcher.ini
启动守护:DmWatcherServicerw start
3
启动监视器:DmMonitorServiceconfirm start
./dmmonitor /dmdata/dmdb/dmmonitor.ini
防⽕墙状态:systemctl status firewalld
关闭防⽕墙:systemctl stop firewalld
常⻅报错
- 权限问题
- ⽹络连接问题
其他问题
- 怎么修改ip地址
- 数据库内修改参数SP_SET_PARA_VALUE()
2、准备⼯作
- 检查配置
a. 硬件环境对接
i. 部署架构:单机/集群
ii. 操作系统:cat /etc/os-release
iii. Cpu:
- cat /proc/cpuinfo
- lscpu
- top
iv. 是否安装nmon、perf、tar
v. ups与read卡电池(待定)
vi. ⽹络环境
- telnet
vii. 端⼝确认
- telnet
viii. ⼼跳ip的部署怎么设置
ix. 内存:free -m----------
x. ⽹卡传输速度:ethtool ⽹卡:enp2s0f0----------
b. 软件环境对接
i. 操作系统版本
ii. 数据库版本标识
c. 实例参数确认
d. 环境检查
i. 操作系统时间
- date -s “yyyy-mm-dd HH:MM:SS”
ii. 安全软件防护
iii. 关闭selinux
- 永久关闭SELinux需修改配置⽂件:
a. vi /etc/selinux/config
b. 修改SELINUX=disabled
c. [root@localhost -]#vi /etc/selinux/config
d. SELINUX=disabled#修改为disabled
iv. 防⽕墙检查
- 关闭防⽕墙:systemctl stop firewalld
- ⾃动开启:systemctl disable firewalld
- 端⼝开放情况
a. Redhat 7/8 系统查看
firewall-cmd --zone=public --list-ports
b. # Redhat 6 系统查看
iptables -L
v. 磁盘挂载及规划--------
- 磁盘情况
a. 速度-----
b. 使⽤情况:df -Th
- 磁盘挂载:
a. 是否⾃动挂载
i. cat /etc/fstab
b. 查看实际挂载盘
i. lsblk
ii. 注意:磁盘是否使⽤uuid挂载
c. uuid挂载操作
i. 查看可挂载的磁盘都有哪些:fdisk -l
ii. 查看对应的uuid:blkid /dev/sdb1
iii. 创建挂载点⽬录
iv. vi /etc/fstab
v. 格式:UUID=<实际UUID> <挂载点> <⽂件系统类型> <挂载选项> <dump>
<fsck>
- UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /dmdata xfs defaults 0 0
d. 磁盘分区
i. 查看所有磁盘情况:fdisk -l
ii. 选择要分区的磁盘:fdisk /dev/sdb
iii. g n p
iv. Enter +20g
v. n
vi. w保存退出
vi. 检查磁盘算法
vii. 关闭swap
- 临时关闭:swapoff -a
- 永久关闭:sed -ri ‘s,.swap./#&/’ /etc/fstab
- 重启操作系统:reboot
- 再次确认:free -m
viii. 检查numa是否关闭
- 编辑vi /etc/default/grub
- 加上numa=off
- 重新⽣成:grub2-mkconfig -o /etc/grub2.cfg
- 重启操作系统:reboot
- 最后确认:dmesg | grep -i numa
ix. 禁⽤透明⼤⻚
- 查看:cat /sys/kernel/mm/transparent_hugepage/enabled
- vi /etc/default/grub
- 加上:transparent_hugepage=never
- grub2-mkconfig -o /etc/grub2.cfg
- reboot
- cat /sys/kernel/mm/transparent_hugepage/enabled
e. 参数调整
i. sysctl.conf
ii. limit.conf
iii. sysem.conf
iv. nproc.conf
v. Profile
f. 创建数据库
- 操作系统配置⽂件修改
a. 内核参数
b. ⽤⼾资源限制
- ⽂件夹准备
a. root新建⽤⼾组
b. root新建⽤⼾
c. dmdba新建⽬录
i. 数据库软件安装⽬录:/home/dmdba/dmdbms
ii. 实例安装⽬录:/dmdata/
iii. 归档⽇志存放⽬录:/dmdata/arch
iv. 备份⽂件存放⽬录:/dmdata/dmbak/
- 数据库软件安装
3、数据库安装
- dm init⼯具初始化
- 注册实例服务
- 登录数据库
- 归档配置
定制备份策略
创建作业:作业名call SP_CREATE_JOB(‘bakfull’,1,0,’’,0,0,’’,0,’’);
开始作业call SP_JOB_CONFIG_START(‘bakfull’);
增加作业步骤:作业名,增加的步骤名 SP_ADD_JOB_STEP(‘bakfull’, ‘bak1’, 6,
‘01020000/dmbak’, 0, 0, 0, 0, NULL, 0);
增加调度:作业名,调度名,是否启⽤,type频率类型:,⽉频率,频率,调度起始时间,结束时间,
作业开始⽇期,结束⽇期,注释SP_ADD_JOB_SCHEDULE(‘bakfull’, ‘std1’, 1, 2, 1, 64, 0,
‘23:00:00’, NULL, ‘2021-11-01 21:17:22’, NULL, ‘’);
⼀次性调度:SP_ADD_JOB_SCHEDULE(‘bakfull’, ‘SCHED_ONCE_NOW’, 1, 0, 0, 0, 0,
NULL, NULL, sysdate+1/1440, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘bakfull’);
备份定期删除
SP_CREATE_JOB(‘delbak’,1,0,’’,0,0,’’,0,’’);
call SP_JOB_CONFIG_START(‘delbak’);
call SP_ADD_JOB_STEP(‘delbak’,‘bak1’,0,
‘SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’’,’’/dmdata/dmbak’’);
sp_db_bakset_remove_batch(’‘DISK’’,now()-14);’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘delbak’, ‘del01’, 1, 1, 1, 0, 0, ‘23:30:00’, NULL,
‘2020-11-02 14:48:41’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘delbak’);
修改dm.ini⽇志
INSTANCE_NAME = rw1
是否启动mal:MAL_INI = 1
是否启动归档:ARCH_INI = 1
是否允许⼿⼯修改服务器的模式:ALTER_MODE_STATUS = 0
是否允许 OFFLINE 表空间,0:不允许;1:允许;2:备库不允许:ENABLE_OFFLINE_TS = 2
归档配置⽂件dmarch.ini
备库收到 Redo ⽇志后,是否需要重演完成后再响应主库。0 表⽰收到⻢上响应(⾼性能模式),1
表⽰重演
完成后响应(事务⼀致模式)。
ARCH_WAIT_APPLY=1
组名:[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME
ARCH_DEST = rw2
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME
ARCH_DEST = rw3
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 102400
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 15
[MAL_INST1]
MAL_INST_NAME = rw1
MAL_HOST = 10.0.0.100 #内⽹
MAL_PORT = 7336
MAL_INST_HOST = 192.168.10.100 #外⽹
MAL_INST_PORT = 5236 #连接端⼝
MAL_DW_PORT = 7436 #守护进程端⼝
MAL_INST_DW_PORT = 7536
[MAL_INST2]
MAL_INST_NAME = rw2 #与 dm.ini 中的INSTANCE_NAME⼀致
MAL_HOST = 10.0.0.101 # MAL系统监听 TCP 内部⽹络 IP
MAL_PORT = 7336 #MAL系统监听 TCP 连接的端⼝
MAL_INST_HOST = 192.168.10.101 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM ⼀致
MAL_DW_PORT = 7436 #实例对应的守护进程监听 TCP 端⼝
MAL_INST_DW_PORT = 7536
[MAL_INST3]
MAL_INST_NAME = rw2 #与 dm.ini 中的 INSTANCE_NAME ⼀致
MAL_HOST = 10.0.0.102 #MAL 系统监听 TCP 内部⽹络 IP
MAL_PORT = 7336 #MAL 系统监听 TCP 连接的端⼝
MAL_INST_HOST = 192.168.10.102 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM ⼀致
MAL_DW_PORT = 7436 #实例对应的守护进程监听 TCP 端⼝
MAL_INST_DW_PORT = 7536
守护进程⽂件dmwatcher.ini
[GRP_DW]
实例所在守护进程组的守护类型:DW_TYPE = GLOBAL
实例所在守护进程组的守护模式:DW_MODE = MANUAL
远程守护进程故障认定时间:DW_ERROR_TIME = 30
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 20
INST_OGUID = 453331
INST_INI = /dmdata/dmdb/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
其他问题
- ⽹络端⼝
- 守护进程⾃动开启问题
a. 哪种⽅式启动
3. 数据库状态问题
a. 什么样的情况会变成哪种状态