1.1部署规划
单机部署规划
IP规划:
主机名 | 服务ip | 数据库名 | 实例名 |
dmdb | 192.169.154.128 | dmdb | dmdb |
端口规划:
实例名 | 实例端口 |
dmdb | 5236 |
本地存储LVM磁盘规划:(按实际需求调整磁盘空间)
磁盘 | LVM磁盘名/用途 |
/dev/sdc(100G) | /dev/dmappvg/dmapplv (数据库安装磁盘) |
/dev/sde(500G) | /dev/dmdatavg/dmdatalv (数据磁盘) |
/dev/sdf(500G) | /dev/dmbakvg/dmbaklv (备份磁盘) |
目录规划:(在对应服务器上创建目录owner为dmdba组为dinstall)
数据库软件安装目录 | /home/dmdba/dmdbms |
实例安装目录 | /dm8/ |
归档日志存放目录 | /dm8/arch |
备份文件存放目录 | /dm8/dmbak/ |
1.2 数据库软件安装
单机上安装数据库软件:
1.2.1 操作系统配置
修改内核参数
|
添加以下内容
|
使参数生效,执行
|
新建数据库管理用户和组
执行以下命令,新建用户组 dinstall。
|
执行以下命令,新建用户 dmdba。
|
执行以下命令,修改 dmdba 用户密码。
|
Hn@dameng123
修改用户资源限制
执行以下命令,修改 dmdba 用户资源限制。
|
文件末尾添加如下内容:
|
此外需要检查/etc/security/limits.d/目录下是否有其他限制资源的配置文件,如果有也需要修改。
执行以下命令,修改 dmdba 用户环境变量。
|
文件末尾添加如下内容:
|
1.2.2数据库软件安装
1.使用root用户挂载数据库软件的iso文件
|
2.使用dmdba用户安装软件
|
执行以下命令,切换到 /dmiso 目录下
cd /dmiso |
执行 DMInstall.bin 文件开始安装,选择【-i】参数以命令行方式安装。
|
选择安装程序的语言 c/C 为中文,e/E 为英文。
提示是否安装 key 文件,输入 N 跳过。
选择时区,21 即东 8 区。
选择安装类型,默认典型安装(包含所有内容)。
选择软件安装目录,默认/home/dmdba/dmdbms
确认安装
安装完成提示使用root执行脚本:
/home/dmdba/dmdbms/script/root/root_installer.sh
1.3使用 dminit 工具初始化实例
执行以下命令
|
注意:
初始化参数中除了 path 参数必须指定,其它参数都有默认值,如果需求与默认值不同,初始化的时候请指定需要的值。因为部分参数初始化后是无法修改的例如:page_size(页大小),charset(字符集),case_sensitive(大小写敏感)等。更多参数./dminit help 查看,是否无法修改的参数可以查询 v$dm_ini 视图,para_type=’READ ONLY’ 表示无法修改。
1.4 注册服务并启动实例
以系统服务方式启动实例,DM 提供脚本将数据库实例注册为操作系统服务。
root 用户下切换到 /home/dmdba/dmdbms/script/root/:
|
执行以下命令,执行脚本注册服务:
|
执行以下命令,以服务方式启动实例:
|
1.5 登录数据库
dmdba用户下执行以下命令:
|
说明:密码使用单引号+双引号包围起来
1.6 归档配置
生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法:
- 设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB)。
- 定期删除归档日志(设置定时作业)。
例如开启归档并限制归档空间为 100 G(按实际存储空间给合适的值),如下所示
|
1.7 定制备份策略
根据应用需求,定制备份策略如下所示
备份类型 | 备份周期 | 备份时间 |
全量备份 | 每周 | 每周六 23 点 |
增量备份 | 每天 | 除周六外每天 23 点 |
删除备份 | 每天 | 每天 23 点 30 |
登录数据库执行以下命令,创建作业系统表
SP_INIT_JOB_SYS(1); |
全量备份(每周六 23 点全备):其中有1分钟后的一次性全备调度,执行完成后检查备份是否成功。
|
增量备份(每周除周六外每天 23 点增量备份):
|
备份定期删除(每天 23:30 删除 14 天前备份):
|
另外添加自动收集统计信息的任务(每天1点收集全库统计信息)
|
说明:每周6凌晨1点开始收集。
注意:上线前,必须提前48小时,完成数据迁移和统计信息收集。
1.8 配置sql日志
修改sqllog.ini
到实例路径下
cd /dmdata/dmdb/
vi sqllog.ini(记录1.5s以上sql)
|