ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DM环境配置脚本和静默安装脚本使用(适用于x86cpu普通操作系统)

2020-12-12 21:33:14  阅读:179  来源: 互联网

标签:脚本 dmdba DM sysctl echo ########################################################


1.环境规划

1.1.有一块/dev/sdb盘作为数据库盘使用,并且按照5:2:3的比例分三个区,挂载点分别是/dmdata,/dmarch,/dmbak

硬件操作系统磁盘数据盘分区挂载点
虚拟机CentOS Linux release 7.9.2009 (Core)

系统盘:/sda

数据盘:/sdb

sdb1:50%

sdb2:20%

sdb3:30%

/dmdata

/dmarch

/dmbak

1.2.有dmdba开启sudo权限

2.环境配置脚本使用

2.1.上传脚本到服务器/root/soft目录

[root@yuanzjdm8 ~]# mkdir soft
[root@yuanzjdm8 ~]# vim auto_env.sh

#!/bin/bash
# Last updated: 2020-12-12
# ---------------------------------------------------------------------
# Copyright (C) 2020 yuanzijian                                       #
# Email : yzj@dameng.com                                              #
# Web : http://www.dameng.com/                                        #
# Desc : For dm install at RHEL 7.X                                   #
# ---------------------------------------------------------------------
echo "###################################"
####################################################################################
#System environment check
####################################################################################
#To determine the distribution and version of Linux installed.
echo "###################################"
echo "Operating system information:"
cat /proc/version
#To determine whether the required kernel is installed.
uname -r
#On Linux x86-64 at least 4 GB of RAM
grep MemTotal /proc/meminfo
#To determine the size of the configured swap space,enter the following command:
grep SwapTotal /proc/meminfo
echo "###################################"

####################################################################################
#Modify parameters
####################################################################################
echo "###################################"
echo deadline >/sys/block/sda/queue/scheduler
cat /sys/block/sda/queue/scheduler

mkdir /bak
####################################################################################
#Modify parameters
####################################################################################
#Configuring Kernel Parameters for Linux
echo "###################################"
cp /etc/sysctl.conf /bak/sysctl_bak.conf
echo "#Use for dmdba install added by yuanzijian" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "#kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "#kernel.shmmax = 536870912" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
echo "vm.swappiness = 0" >> /etc/sysctl.conf
echo "vm.dirty_background_ratio = 3" >> /etc/sysctl.conf
echo "vm.dirty_ratio = 80" >> /etc/sysctl.conf
echo "vm.dirty_expire_centisecs = 500" >> /etc/sysctl.conf
echo "vm.dirty_writeback_centisecs = 100" >> /etc/sysctl.conf
echo "###################################"
echo "Modified kernel parameter information:"
/sbin/sysctl -p

####################################################################################
#Configuring  Limits for the dmdba Software Installation Users
####################################################################################
echo "###################################"
yes|cp /etc/security/limits.conf /bak/limits_bak.conf
echo "#Use for dmdba install added by yuanzijian" >> /etc/security/limits.conf 
echo "dmdba soft nproc 65536"  >> /etc/security/limits.conf
echo "dmdba hard nproc 65536"  >> /etc/security/limits.conf
echo "dmdba soft nofile 65536"  >> /etc/security/limits.conf
echo "dmdba hard nofile 65536" >> /etc/security/limits.conf

####################################################################################
#Modify /etc/pam.d/login
####################################################################################
echo "###################################"
cp /etc/pam.d/login /bak/login_bak
echo "#Use for dmdba install added by yuanzijian" >> /etc/pam.d/login
echo "session  required  /lib64/security/pam_limits.so" >> /etc/pam.d/login
echo "session  required  pam_limits.so" >> /etc/pam.d/login

####################################################################################
#Create user and group
####################################################################################
echo "###################################"
echo "create os dmdba:"
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

####################################################################################
#create passwd
####################################################################################
echo "###################################"
echo "Password settings for dmdba:"
echo dmdba | passwd --stdin dmdba
####################################################################################

####################################################################################
#create partition
####################################################################################
echo "###################################"
echo "partition settings for disk:"
/usr/sbin/parted /dev/sdb<<EOF
mklabel gpt
mkpart dmdata 0% 50%
mkpart dmarch 50% 70%
mkpart dmbak  70% 100%
q
EOF
echo "###################################"

####################################################################################
#format disks
####################################################################################
echo "###################################"
echo "disk settings for format:"
/usr/sbin/mkfs.ext4  /dev/sdb1
sleep 30s
/usr/sbin/mkfs.ext4  /dev/sdb2
sleep 30s
/usr/sbin/mkfs.ext4  /dev/sdb3
sleep 30s

####################################################################################
#create mountpoint
####################################################################################
#Create installation directories for dmdba users
echo "###################################"
echo"Create installation directories for dmdba users"
mkdir /opt/dmdbms
mkdir /dmdata
mkdir /dmarch
mkdir /dmbak

####################################################################################
#mount disks
####################################################################################
echo "###################################"
echo"mount pritation to mountpiont"
mount /dev/sdb1  /dmdata
mount /dev/sdb2  /dmarch
mount /dev/sdb3  /dmbak
echo "/dev/sdb1  /dmdata  ext4  defaults  0  0" >>/etc/fstab
echo "/dev/sdb2  /dmarch  ext4  defaults  0  0" >>/etc/fstab
echo "/dev/sdb3  /dmbak   ext4  defaults  0  0" >>/etc/fstab

####################################################################################
#grant dmdab.dinstall to paratition
####################################################################################
echo "###################################"
echo"grant dmdab.dinstall to paratition"
chown -R dmdba:dinstall /opt/dmdbms
chown -R dmdba:dinstall /dmdata /dmarch /dmbak
chmod 6755 /opt/dmdbms /dmdata /dmarch /dmbak

####################################################################################
#Create environment variables for dmdba users
####################################################################################
echo "###################################"
echo "Create environment variables for dmdba users"
cp /home/dmdba/.bash_profile /bak/.bash_profile_bak
echo "#Use for dmdba install added by yuanzijian" >>/home/dmdba/.bash_profile
echo "export DM_HOME=\"/opt/dmdbms\"" >>/home/dmdba/.bash_profile
echo "export PATH=\"\$DM_HOME/bin:\$DM_HOME/tool:\$PATH:\$HOME/bin\"" >>/home/dmdba/.bash_profile
echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH:\$DM_HOME/bin\"" >>/home/dmdba/.bash_profile

#############################################################
#Disabled SELINUX
#sed -i '/匹配字符串/s/替换源字符串/替换目标字符串/g' filename
##############################################################
echo "###################################"
echo "Disable Selinux:"
cp /etc/selinux/config{,.bak} && sed -i '/SELINUX/s/enforcing/disabled/g;/SELINUX/s/permissive/disabled/g'   /etc/selinux/config
setenforce 0
getenforce
echo "###################################"

#############################################################
#Stop firewall
##############################################################
echo "###################################"
echo "Stop firewall:"
systemctl stop firewalld.service 
systemctl disable firewalld.service
echo "###################################"

2.2脚本授权

[root@yuanzjdm8 soft]# chmod 775 auto_env.sh

2.3执行脚本

[root@yuanzjdm8 soft]# ./auto_env.sh 

3.开启dmdba的sudo权限

3.1.编写 /etc/sudoers文件

[root@yuanzjdm8 soft]# chmod +w /etc/sudoers

3.2.增加如下内容

3.3重启服务器

[root@yuanzjdm8 soft]# init 6

4.编写xml文件执行安装数据库

4.1编写xml文件

<?xml version="1.0"?>
<DATABASE>
	<!--安装数据库的语言配置,安装中文版配置 ZH,英文版配置 EN,不区分大小写。不允许为空。 -->
	<LANGUAGE>zh</LANGUAGE>
	<!--安装程序的时区配置,默认值为+08:00,范围:-12:59 ~ +14:00 -->
	<TIME_ZONE>+08:00</TIME_ZONE>
	<!-- key 文件路径 -->
	<KEY></KEY>
	<!--安装程序组件类型,取值 0、1、2,0 表示安装全部,1 表示安装服务器,2 表示安装客户 端。默认为 0。 -->
	<INSTALL_TYPE>0</INSTALL_TYPE>
	<!--安装路径,不允许为空。 -->
	<INSTALL_PATH>/opt/dmdbms/</INSTALL_PATH>
	<!--是否初始化库,取值 Y/N、y/n,不允许为空。 -->
	<INIT_DB>y</INIT_DB>
	<!--数据库实例参数 -->
	<DB_PARAMS>
		<!--初始数据库存放的路径,不允许为空 -->
		<PATH>/dmdata</PATH>
		<!--初始化数据库名字,默认是 DAMENG,不超过 128 个字符 -->
		<DB_NAME>DAMENG</DB_NAME>
		<!--初始化数据库实例名字,默认是 DMSERVER,不超过 128 个字符 -->
		<INSTANCE_NAME>DMSERVER</INSTANCE_NAME>
		<!--初始化时设置 dm.ini 中的 PORT_NUM,默认 5236,取值范围:1024~65534 -->
		<PORT_NUM>5236</PORT_NUM>
		<!--初始数据库控制文件的路径,文件路径长度最大为 256 -->
		<CTL_PATH></CTL_PATH>
		<!--初始数据库日志文件的路径,文件路径长度最大为 256 -->
		<LOG_PATHS>
		    <LOG_PATH>
			</LOG_PATH>
		</LOG_PATHS>
		<!--数据文件使用的簇大小,只能是 16 页或 32 页之一,缺省使用 16 页 -->
		<EXTENT_SIZE>16</EXTENT_SIZE>
		<!--数据文件使用的页大小,缺省使用 8K,只能是 4K、8K、16K 或 32K 之一 -->
		<PAGE_SIZE>8</PAGE_SIZE>
		<!--日志文件使用的簇大小,默认是 256,取值范围 64 和 2048 之间的整数 -->
		<LOG_SIZE>1024</LOG_SIZE>
		<!--标识符大小写敏感,默认值为 Y。只能是’Y’, ’y’, ’N’, ’n’, ’1’, ’0’ 之一 -->
		<CASE_SENSITIVE>Y</CASE_SENSITIVE>
		<!--字符集选项,默认值为 0。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR -->
		<CHARSET>0</CHARSET>
		<!--设置为 1 时,所有 VARCHAR 类型对象的长度以字符为单位,否则以字节为单位。默认 值为 0。 -->
		<LENGTH_IN_CHAR>0</LENGTH_IN_CHAR>
		<!--字符类型在计算 HASH 值时所采用的 HASH 算法类别。0:原始 HASH 算法;1:改进的 HASH 算法。默认值为 1。 -->
		<USE_NEW_HASH>1</USE_NEW_HASH>
		<!--初始化时设置 SYSDBA 的密码,默认为 SYSDBA,长度在 9 到 48 个字符之间 -->
		<SYSDBA_PWD>sysdba123</SYSDBA_PWD>
		<!--初始化时设置 SYSAUDITOR 的密码,默认为 SYSAUDITOR,长度在 9 到 48 个字符之 间 -->
		<SYSAUDITOR_PWD></SYSAUDITOR_PWD>
		<!--初始化时设置 SYSSSO 的密码,默认为 SYSSSO,长度在 9 到 48 个字符之间,仅在安 全版本下可见和可设置 -->
		<SYSSSO_PWD></SYSSSO_PWD>
		<!--初始化时设置 SYSDBO 的密码,默认为 SYSDBO,长度在 9 到 48 个字符之间,仅在安 全版本下可见和可设置 -->
		<SYSDBO_PWD></SYSDBO_PWD>
		<!--初始化时区,默认是东八区。格式为:正负号小时:分钟,范围:-12:59 ~ +14:00 -->
		<TIME_ZONE>+08:00</TIME_ZONE>
		<!--是否启用页面内容校验,0:不启用;1:简单校验;2:严格校验(使用 CRC16 算法生 成校验码)。默认 0 -->
		<PAGE_CHECK>0</PAGE_CHECK>
		<!--设置默认加密算法,不超过 128 个字符 -->
		<EXTERNAL_CIPHER_NAME></EXTERNAL_CIPHER_NAME>
		<!--设置默认 HASH 算法,不超过 128 个字符 -->
		<EXTERNAL_HASH_NAME></EXTERNAL_HASH_NAME>
		<!--设置根密钥加密引擎,不超过 128 个字符 -->
		<EXTERNAL_CRYPTO_NAME></EXTERNAL_CRYPTO_NAME>
		<!--全库加密密钥使用的算法名。算法可以是 DM 内部支持的加密算法,或者是第三方的加 密算法。默认使用"AES256_ECB"算法加密,最长为 128 个字节 -->
		<ENCRYPT_NAME></ENCRYPT_NAME>
		<!--指定日志文件是否加密。默认值 N。取值 Y/N,y/n,1/0 -->
		<RLOG_ENC_FLAG>N</RLOG_ENC_FLAG>
		<!--用于加密服务器根密钥,最长为 48 个字节 -->
		<USBKEY_PIN></USBKEY_PIN>
		<!--设置空格填充模式,取值 0 或 1,默认为 0 -->
		<BLANK_PAD_MODE>0</BLANK_PAD_MODE><!--指定 system.dbf 文件的镜像路径,默认为空 -->
		<SYSTEM_MIRROR_PATH></SYSTEM_MIRROR_PATH>
		<!--指定 main.dbf 文件的镜像路径,默认为空 -->
		<MAIN_MIRROR_PATH></MAIN_MIRROR_PATH>
		<!--指定 roll.dbf 文件的镜像路径,默认为空 -->
		<ROLL_MIRROR_PATH></ROLL_MIRROR_PATH>
		<!--是否是四权分立,默认值为 0(不使用)。仅在安全版本下可见和可设置。只能是 0 或 1 -->
		<PRIV_FLAG>0</PRIV_FLAG>
		<!--指定初始化过程中生成的日志文件所在路径。合法的路径,文件路径长度最大为 257(含 结束符),不包括文件名-->
		<ELOG_PATH></ELOG_PATH>
	</DB_PARAMS>
	<!--是否创建数据库实例的服务,值 Y/N y/n,不允许为空,不初始化数据库将忽略此节点。 非 root 用户不能创建数据库服务。 -->
	<CREATE_DB_SERVICE>Y</CREATE_DB_SERVICE>
	<!--是否启动数据库,值 Y/N y/n,不允许为空,不创建数据库服务将忽略此节点。 -->
	<STARTUP_DB_SERVICE>Y</STARTUP_DB_SERVICE>
</DATABASE>

4.2执行安装数据库

[dmdba@yuanzjdm8 soft]$ sudo ./DMInstall.bin -q /tmp/soft/auto_install.xml

5.取消dmdba的sudo权限

标签:脚本,dmdba,DM,sysctl,echo,########################################################
来源: https://blog.csdn.net/u011016933/article/details/111084858

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有