1、配置主机 网络
192.168.45.56 sy-oa-01 sy-oa-01-publ
10.0.10.1 sy-oa-01-priv1
172.16.10.1 sy-oa-01-priv2
192.168.45.76 sy-oa-01-vip
192.168.45.57 sy-oa-02 sy-oa-02-publ
10.0.10.2 sy-oa-02-priv1
172.16.10.2 sy-oa-02-priv2
192.168.45.77 sy-oa-02-vip
192.168.45.78 rac-scan
关闭卸载Rehat7 virbro虚拟桥接网卡
展示brtctl命令
brctl show
ifconfig virbr0 down
brctl delbr virbr0
2、关闭firewall和disabled Selinux
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
--关闭防火墙
vi / etc/ sysconfig/ selinux
修改enforcing 为disabled
3、修改/ etc/ security /limits.conf 文件,增加内容如下:
vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft memlock 3145728
oracle hard memlock 3145728
4、修改/etc/pam.d/login 文件
vi /etc/pam.d/login
session required pam_limits.so
5、修改 sysctl.conf 配置文件
vi / etc/ sysctl.conf
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 = 1048586
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
让配置生效:
sysctl -p
6、关闭ntp服务
service ntpd status
chkconfig ntpd off
mv / etc/ntp.conf /etc/ntp.conf.original
修改network文件
echo “NOZEROCONF=yes” >> /etc/sysconfig/network
关闭ntptime.zone
systemct stop chronyd.service
mv /etc/chronyd.conf /etc/chronyd.conf.orgina
7、创建用户和组
groupadd -g 5000 asmadmin
groupadd -g 5001 asmdba
groupadd -g 5002 asmoper
groupadd -g 6000 oinstall
groupadd -g 6001 dba
groupadd -g 6002 oper
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -g oinstall -G dba,asmdba,asmadmin oracle
passwd oracle
passwd grid
8、创建安装目录
mkdir /u01
mkdir /g01
chown -R oracle:oinstall /u01
chown -R grid:oinstall /g01
9、vi /etc/profile
—添加如下
if [ USER = "oracle" ] || [ USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
10、配置rehat yum 并安装相关包
mkdir /mnt.cdrom
mount -o loop /dev/cdrom /mnt/cdrom
local.repo
[base]
name=RedHat
baseurl=file: ///mnt/cdrom
enabled=1
gpgckeck=0
gpgkey=file: ///mnt/cdrom/RPM-GPG-KEY-redhat-release
yum install compat-libstdc++-33 compat-libcap1 elfutils-libelf-devel gcc-c++ ksh libaio-devel libstdc++-devel unixODBC unixODBC-devel -y
11、配置grid用户环境变量:
rac1:
vi ~/.bash_profile
--添加如下
ORACLE_SID=+ASM1
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
ORACLE_BASE=/g01/grid
ORACLE_HOME=/g01/app/grid/11.2.0
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=PATH:ORACLE_HOME/bin:ORACLE_HOME/oracm/bin:ORACLE_HOME/OPatch:$ORACLE_HOME/jdbc
LD_LIBRARY_PATH=ORACLE_HOME/lib:ORACLE_HOME/ctx/lib:$ORACLE_HOME/oracm/lib:/usr/lib
CLASSPATH=ORACLE_HOME/JRE:ORACLE_HOME/jlib:ORACLE_HOME/rdbms/jlib:ORACLE_HOME/network/jlib:$ORACLE_HOME/jdbc/lib
SQLPATH=ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql:ORACLE_HOME/rdbms/admin
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH SQLPATH
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss";export NLS_DATE_FORMAT
echo " "
echo " "
echo -e "/e[31;1m********************/e[0m"
echo -e "/e[31;1mYou login as grid,Please ask somebody to double check!***/e[0m"
echo -e "/e[31;1m********************/e[0m"
echo " "
echo " "
export PS1='/e[31;1m{LOGNAME}@{HOSTNAME}:${PWD}>/e[0m'
alias sql='sqlplus "/"'
alias rsql='rlwrap sqlplus'
alias sqln="sqlplus /nolog"
alias dba='sqlplus "/as sysasm"'
alias ohome="cd $ORACLE_HOME"
alias rm='rm -i --'
alias cp='cp -i'
alias mv='mv -i --'
alias clog='cd $ORACLE_HOME/log/hostname'
alias bdump='cd ORACLE_BASE/diag/asm/+asm/ORACLE_SID/trace'
alias udump="cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/"
alias cdump="cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/"
alias otail="tail -f ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/alert_ORACLE_SID.log"
alias vlog='tail -200 ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/alert_ORACLE_SID.log'
alias myasm='cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace'
rac2:
vi ~/.bash_profile
--添加如下
ORACLE_SID=+ASM2
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
ORACLE_BASE=/g01/grid
ORACLE_HOME=/g01/app/grid/11.2.0
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=PATH:ORACLE_HOME/bin:ORACLE_HOME/oracm/bin:ORACLE_HOME/OPatch:$ORACLE_HOME/jdbc
LD_LIBRARY_PATH=ORACLE_HOME/lib:ORACLE_HOME/ctx/lib:$ORACLE_HOME/oracm/lib:/usr/lib
CLASSPATH=ORACLE_HOME/JRE:ORACLE_HOME/jlib:ORACLE_HOME/rdbms/jlib:ORACLE_HOME/network/jlib:$ORACLE_HOME/jdbc/lib
SQLPATH=ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql:ORACLE_HOME/rdbms/admin
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH SQLPATH
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss";export NLS_DATE_FORMAT
echo " "
echo " "
echo -e "/e[31;1m********************/e[0m"
echo -e "/e[31;1mYou login as grid,Please ask somebody to double check!***/e[0m"
echo -e "/e[31;1m********************/e[0m"
echo " "
echo " "
export PS1='/e[31;1m{LOGNAME}@{HOSTNAME}:${PWD}>/e[0m'
alias sql='sqlplus "/"'
alias rsql='rlwrap sqlplus'
alias sqln="sqlplus /nolog"
alias dba='sqlplus "/as sysasm"'
alias ohome="cd $ORACLE_HOME"
alias rm='rm -i --'
alias cp='cp -i'
alias mv='mv -i --'
alias clog='cd $ORACLE_HOME/log/hostname'
alias bdump='cd ORACLE_BASE/diag/asm/+asm/ORACLE_SID/trace'
alias udump="cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/"
alias cdump="cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/"
alias otail="tail -f ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/alert_ORACLE_SID.log"
alias vlog='tail -200 ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace/alert_ORACLE_SID.log'
alias myasm='cd $ORACLE_BASE/admin/diag/asm/+asm/+ASM/trace'
stty erase ^H
12、配置oracle用户环境变量:
rac1:
--添加如下
ORACLE_SID=orcl1
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
ORACLE_HOME=/u01/oracle/11.2.0
ORACLE_BASE=/u01/oracle
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=PATH:ORACLE_HOME/bin:ORACLE_HOME/oracm/bin:ORACLE_HOME/OPatch:$ORACLE_HOME/jdbc
LD_LIBRARY_PATH=ORACLE_HOME/lib:ORACLE_HOME/ctx/lib:$ORACLE_HOME/oracm/lib:/usr/lib
CLASSPATH=ORACLE_HOME/JRE:ORACLE_HOME/jlib:ORACLE_HOME/rdbms/jlib:ORACLE_HOME/network/jlib:$ORACLE_HOME/jdbc/lib
SQLPATH=ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql:ORACLE_HOME/rdbms/admin
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH TNS_ADMIN SQLPATH
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH SQLPATH
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss";export NLS_DATE_FORMAT
echo " "
echo " "
echo -e "/e[31;1m********************/e[0m"
echo -e "/e[31;1mYou login as oracle,Please ask somebody to double check!***/e[0m"
echo -e "/e[31;1m********************/e[0m"
echo " "
echo " "
export PS1='/e[31;1m{LOGNAME}@{HOSTNAME}:${PWD}>/e[0m'
alias sql='sqlplus "/"'
alias rsql='rlwrap sqlplus'
alias sqln="sqlplus /nolog"
alias dba='sqlplus "/as sysdba"'
alias ohome="cd $ORACLE_HOME"
alias rm='rm -i --'
alias cp='cp -i'
alias mv='mv -i --'
-------------------------------------------------------------------------------------
UMASK
-------------------------------------------------------------------------------------
Set the default file mode creation mask
(umask) to 022 to ensure that the user performing
the Oracle software installation creates files
with 644 permissions
------------------------------------------------------------------------------------
umask 022
stty erase ^H
rac2:
--添加如下
ORACLE_SID=orcl2
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG
ORACLE_HOME=/u01/oracle/11.2.0
ORACLE_BASE=/u01/oracle
TNS_ADMIN=$ORACLE_HOME/network/admin
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=PATH:ORACLE_HOME/bin:ORACLE_HOME/oracm/bin:ORACLE_HOME/OPatch:$ORACLE_HOME/jdbc
LD_LIBRARY_PATH=ORACLE_HOME/lib:ORACLE_HOME/ctx/lib:$ORACLE_HOME/oracm/lib:/usr/lib
CLASSPATH=ORACLE_HOME/JRE:ORACLE_HOME/jlib:ORACLE_HOME/rdbms/jlib:ORACLE_HOME/network/jlib:$ORACLE_HOME/jdbc/lib
SQLPATH=ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql:ORACLE_HOME/rdbms/admin
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH TNS_ADMIN SQLPATH
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH SQLPATH
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss";export NLS_DATE_FORMAT
echo " "
echo " "
echo -e "/e[31;1m********************/e[0m"
echo -e "/e[31;1mYou login as oracle,Please ask somebody to double check!***/e[0m"
echo -e "/e[31;1m********************/e[0m"
echo " "
echo " "
export PS1='/e[31;1m{LOGNAME}@{HOSTNAME}:${PWD}>/e[0m'
alias sql='sqlplus "/"'
alias rsql='rlwrap sqlplus'
alias sqln="sqlplus /nolog"
alias dba='sqlplus "/as sysdba"'
alias ohome="cd $ORACLE_HOME"
alias rm='rm -i --'
alias cp='cp -i'
alias mv='mv -i --'
-------------------------------------------------------------------------------------
UMASK
-------------------------------------------------------------------------------------
Set the default file mode creation mask
(umask) to 022 to ensure that the user performing
the Oracle software installation creates files
with 644 permissions
------------------------------------------------------------------------------------
umask 022
stty erase ^H
12、配置共享存储(root用户)
配置multipath/见其他网卡绑定/Multipath文档
配置udev规则,mapper/下面设备名
ENV{DM_NAME}=="hba1",OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="hba2",OWNER:="grid", GROUP:="asmadmin", MODE:="660"
ENV{DM_NAME}=="hba3",OWNER:="grid", GROUP:="asmadmin", MODE:="660"
13、rac1、rac2互信(grid用户两节点互信以及oracle用户两节点互信分别登陆)
两个节点得互信,可以在图形安装过程中解决。不用手动配置
配置两个节点间grid和oracle帐号的SSH互信认证
以便安装过程中将grid和oracle目录复制到其他节点中。
1).在主节点RAC1上以grid,oracle用户身份生成用户的公匙和私匙
$ mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
2).在副节点RAC2上执行相同的操作,确保通信无阻
$mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
3).在一节点RAC1上oracle(grid)用户执行以下操作
$cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
---在二节点RAC2上oracle(grid)用户执行以下操作
$cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4)--rac1、rac2节点上验证用户等效性
$ssh rac1 date
$ssh rac2 date
$ssh rac1-priv date
$ssh rac2-priv date
11、上传安装软件grid,并切换用户grid解压
$ cd 软件解压路径中的sshUserSetup
$./sshUserSetup.sh -user grid -hosts "rac1 rac2" -noPromptPassphrase -confirm -advanced
期间要输入grid用户口令
$./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose ---校验环境
---上传响应文件grid_install.rsp 详情见grid_install文档
--安装
$./runInstaller -silent -responseFile /home/grid/response/grid_install.rsp -showProgress -ignorePrereq
执行脚本:现在rac1执行再到rac2上执行
---创建数据DATA磁盘组
grid用户下asmca创建磁盘
两个节点都需要运行
grid用户下:sqlplus / as sysasm
alter system set "_high_priority_processes"='LMS*' scope=spfile;
12、上传安装软件oracle,并切换用户oracle解压
$ cd 软件解压路径中的sshUserSetup
$./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -confirm -advanced
$ vi grid用户下oraInventory/ContentsXML/inventory.xml
找到 这行<HOME NAME="Ora11g_gridinfrahome1" LOC="/opt/grid/products/11.2.0" TYPE="O" IDX="1" CRS="true"> ---添加 CRS="true"即可
------上传响应文件db_install.rsp 详情见db_install文档
--安装
$./runInstaller -silent -responseFile /u01/database/response/db_install.rsp -showProgress -ignorePrereq
执行脚本:现在rac1执行再到rac2上执行:
——-RAC环境搭建完成
版权声明:本文为博主原创文章,未经博主允许不得转载。



