一.准备工作
1.1 系统硬件和软件环境
物理内存:
swap:物理内存在4-16GB范围则配置与物理内存相等,物理内存大于16GB则配置为16GB(注意:如果在linux中启动了HugePages,在计算swap前应先扣除分配出去的这部分)
/tmp:至少1GB的剩余空间
软件空间:100GB (注:oracle软件至少需要7.2GB,grid软件(standalone server)至少6.5GB,grid home至少12GB,也就是单纯安装一个简单的rac环境,软件目录就至少要有19.2GB;考虑到后期日志的增长,打补丁等需求,oracle官方建议可以分配100GB给到oracle主目录)
内核:如下图
关闭防火墙和 selinux:
关闭防火墙并禁止其自动启动:
systemctl stop firewalld
systemctl disable firewalld
关闭 selinux :
以下是最小需求要安装的依赖包列表:
ODBC 驱动支持: unixODBC-2.3.4 or later
另外需要检查是否有安装 gcc 等开发工具包
1.2 配置 hosts 文件 , 以下为实例:
vi /etc/hosts
10.100.1.11 rac19c1
192.168.169.11 rac19c1-priv
10.100.1.12 rac19c2
192.168.169.12 rac19c2-priv
10.100.1.13 rac19c1-vip
10.100.1.14 rac19c2-vip
10.100.1.15 rac19c-scan
1.3 配置 /etc/pam.d/login 在文件的最后添加如下配置: session required pam_limits.so 1.4配置/etc/security/limits.conf #增加如下配置 # modify for oracle oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 65536 oracle hard nofile 65536 # modify for grid grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 65536 grid hard nofile 65536 1.5 创建用户和组并授权 #创建用户组: groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper groupadd -g 504 asmadmin groupadd -g 505 asmdba groupadd -g 506 asmoper #创建用户: useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper grid useradd -u 502 -g oinstall -G dba,oper,asmdba oracle #修改用户密码 passwd oracle passwd grid 1.6 配置oracle和grid用户环境变量 节点一grid用户环境变量($HOME/.bash_profile) export ORACLE_SID=+ASM1 export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/19.0.0/grid/product/db_1 export PATH=$PATH:$ORACLE_HOME/bin 节点一oracle用户环境变量($HOME/.bash_profile) export ORACLE_SID=rac1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/dba umask 022 export TNS_ADMIN=/u01/app/19.0.0/grid/product/db_1/network/admin 节点二grid用户环境变量($HOME/.bash_profile) export ORACLE_SID=+ASM2 export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/19.0.0/grid/product/db_1 export PATH=$PATH:$ORACLE_HOME/bin 节点二oracle用户环境变量($HOME/.bash_profile) export ORACLE_SID=rac2 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$HOME/dba umask 022 export TNS_ADMIN=/u01/app/19.0.0/grid/product/db_1/network/admin 1.7 创建必要的目录 mkdir -p /u01/app/grid mkdir -p / u01 /app/19.0.0/grid/ product/db_1 mkdir -p / u01 /app/oracle mkdir -p / u01 /app/oracle/product/19.0.0/db_1 mkdir -p / u01 /app/oraInventory chown -R grid:oinstall / u01 /app chown -R oracle:oinstall / u01 /app/oracle chmod -R 775 / u01 /app 1.8 配置多路径和udev 获取磁盘wwid : /usr/lib/udev/scsi_id -g -u /dev/ sdb 配置多路径软件: cat /etc/multipath.conf defaults { user_friendly_names yes } blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" } multipaths { multipath { wwid 1ATA_VBOX_HARDDISK_VB4f5a09ce-d52a8572 } multipath { wwid 1ATA_VBOX_HARDDISK_VB4813b9a5-ae2685ac } } 重启多路径并查看运行状态
systemctl restart multipath d
multipath -ll
mpathc (VBOX_HARDDISK_VB4813b9a5-ae2685ac) dm-3 ATA ,VBOX HARDDISK
size=40G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:1:0 sdc 8:32 active ready running
mpathb (VBOX_HARDDISK_VB4f5a09ce-d52a8572) dm-2 ATA ,VBOX HARDDISK
size=30G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:0:0 sdb 8:16 active ready running
配置udev
cat /etc/udev/rules.d/12-dm-permissions.rules
ENV{DM_NAME}=="mpathb", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="mpathc", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="mapper/$env{DM_NAME}"
重启udev
udev adm control --reload-rules
udev adm trigger --type=devices --action=change
验证共享盘权限
ll /dev/dm*
brw-rw---- 1 root disk 253, 0 5月 21 15:29 /dev/dm-0
brw-rw---- 1 root disk 253, 1 5月 21 15:29 /dev/dm-1
brw-rw---- 1 grid asmadmin 253, 2 5月 21 15:38 /dev/dm-2
brw-rw---- 1 grid asmadmin 253, 3 5月 21 15:38 /dev/dm-3
ll /dev/mapper/
总用量 0
lrwxrwxrwx 1 root root 7 5月 21 15:29 centos-root -> ../dm-0
lrwxrwxrwx 1 root root 7 5月 21 15:29 centos-swap -> ../dm-1
crw------- 1 root root 10, 236 5月 21 15:28 control
lrwxrwxrwx 1 root root 7 5月 21 15:36 mpathb -> ../dm-2
lrwxrwxrwx 1 root root 7 5月 21 15:38 mpathc -> ../dm-3
1.9 配置/etc/sysctl.conf (红色部分的参数一般要根据实际调整大小)
kernel.shmmax = 6442450944
kernel.shmall = 1572864
kernel.pid_max = 139264
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
写入完成后,只想sysctl -p使配置即时生效
1.10 调整磁盘I/O Scheduler
为了获得Oracle ASM的最佳性能,Oracle建议把asm共享盘的I/O Scheduler调整为deadline
查看当前配置:
cat /sys/block/ sdb /queue/scheduler
cat /sys/block/ sdc /queue/scheduler
临时调整:
echo deadline > /sys/block/ sdb /queue/scheduler
echo deadline > /sys/block/ sdc /queue/scheduler
全部盘统一永久调整:
grubby --update-kernel=ALL --args="elevator=deadline"
1.11 配置互信
可以通过图形界面直接配置
也可以执行下面的脚本进行配置
./ sshUserSetup.sh -user <user name> -hosts "<space separated hostlist>" -advanced –noPromptPassphrase
脚本路径是:解压后的oui/prov/resources/scripts下面
1.12 关闭Transparent HugePages
查看当前配置
cat /sys/kernel/mm/transparent_hugepage/enabled
修改文件:/etc/default/grub
在GRUB_CMDLINE_LINUX参数里面添加:transparent_hugepage=never,比如:
RUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never " GRUB_DISABLE_RECOVERY="true"
之后保存退出, 运行grub2–mkconfig 命令重新生成该grub.cfg文件。 grub2-mkconfig -o /boot/grub2/grub.cfg 重启操作系统,验证配置是否生效。 二、图形界面安装 1.解压,开始安装grid软件
unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME
./ grid Setup.sh
2. 解压,安装数据库软件
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
cd
$ORACLE_HOME
./run
Install
er
3.执行DBCA创建数据库实例
