Installing Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 in Silent Mode

概要

在RHEL7静默方式安装oracle database 12.2 RAC.

 

一、环境配置

1. 配置hosts文件

2. install packages requirements

 

3. 屏蔽RemoveIPC参数 [ rhel 7.2 BUG Doc ID 2081410.1 ]

1
2
3
4
5
6
7
8
9
10
11
12
if [[ -f "/etc/systemd/logind.conf" ]]; then
    cp /etc/systemd/logind.conf /etc/systemd/logind.conf_$(date +%Y%m%d)
    sed -i "/#RemoveIPC=no/c\#RemoveIPC=no\nRemoveIPC=no" /etc/systemd/logind.conf
else
    cat > /etc/systemd/logind.conf << EOF
RemoveIPC=no
EOF
fi
 
-- 重启服务器或重启systemd-logind
systemctl daemon-reload
systemctl restart systemd-logind

  

4. 关闭selinux

5. 关闭防火墙

6. 配置系统参数

7. 关闭avahi-daemon服务

8. 创建用户&用户组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 创建用户组
groupadd --gid 54321 oinstall
groupadd --gid 54322 dba
groupadd --gid 54323 asmdba
groupadd --gid 54324 asmoper
groupadd --gid 54325 asmadmin
groupadd --gid 54326 oper
groupadd --gid 54327 backupdba
groupadd --gid 54328 dgdba
groupadd --gid 54329 kmdba
groupadd --gid 54330 racdba
 
# 创建用户
useradd --uid 54321 --gid oinstall --groups dba,oper,asmdba,asmoper,backupdba,dgdba,kmdba,racdba --comment "Oracle Software Owner" oracle
useradd --uid 54322 --gid oinstall --groups dba,asmadmin,asmdba,asmoper --comment "Grid Infrastructure Owner" grid
 
# 设置用户密码
OS_PASS=123456
echo "${OS_PASS}"|passwd --stdin oracle
echo "${OS_PASS}"|passwd --stdin grid

9. 创建软基纳目录

10. 编辑用户环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
su - grid
vi ~/.bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/ups/oracle/grid
export ORACLE_HOME=/ups/oracle/12.2/grid
export PATH=${PATH}:${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch
umask 022
 
su - oracle
vi ~/.bash_profile
export ORACLE_SID=orcl1
export ORACLE_BASE=/ups/oracle/database
export ORACLE_HOME=${ORACLE_BASE}/product/12.2/db_1
export GRID_HOME=/ups/oracle/12.2/grid
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export PATH=${PATH}:${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${GRID_HOME}/bin:${HOME}/dba
export TNS_ADMIN=${GRID_HOME}/network/admin
umask 022

11. Setting Shell Limits for the Grid and Oracle User

12. huge pages script

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk '{print $2}'`
# Start from 1 pages to be on the safe side and guarantee 1 free HugePage
NUM_PG=1
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | awk '{print $5}' | grep "[0-9][0-9]*"`
do
MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
if [ $MIN_PG -gt 0 ]; then
NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
fi
done
# Finish with results
case $KERN in
'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
'2.6') MEM_LOCK=`echo "$NUM_PG*$HPG_SZ" | bc -q`;
echo "Recommended setting within the kernel boot command line: hugepages = $NUM_PG"
echo "Recommended setting within /etc/security/limits.d/99-grid-oraclelimits.conf: oracle soft memlock $MEM_LOCK"
echo "Recommended setting within /etc/security/limits.d/99-grid-oraclelimits.conf: oracle hard memlock $MEM_LOCK" ;;
'3.10') MEM_LOCK=`echo "$NUM_PG*$HPG_SZ" | bc -q`;
echo "Recommended setting within the kernel boot command line: hugepages = $NUM_PG"
echo "Recommended setting within /etc/security/limits.d/99-grid-oraclelimits.conf: oracle soft memlock $MEM_LOCK"
echo "Recommended setting within /etc/security/limits.d/99-grid-oraclelimits.conf: oracle hard memlock $MEM_LOCK" ;;
*) echo "Unrecognized kernel version $KERN. Exiting." ;;
esac

13. 配置profile

14. configurate the network of nozeroconf

15. 关闭 transparent_hugepage

16. 配置时间同步

17. 配置dns

18. 配置共享存储

19. 配置ssh互相

 

二、Oracle软件安装

1. 解压grid software

1 unzip -q /ups/soft/linuxx64_12201_grid_home.zip -d /ups/oracle/12.2/grid

2.  安装cvuqdisk--所有节点

1 cd /ups/oracle/12.2/grid/cv/rpm
2 rpm -ivh cvuqdisk-1.0.10-1.rpm
3 
4 scp /ups/oracle/12.2/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm orc2:/tmp/
5 ssh -o stricthostkeychecking=no orc2
6 rpm -ivh /tmp/cvuqdisk-1.0.10-1.rpm

3. 检查环境

1 cd /ups/oracle/12.2/grid/
2 ./runcluvfy.sh stage -pre crsinst -n orc1,orc2 -fixup -verbose > ~/grid_env_check.txt

 

4. 安装GI软件

1 cd /ups/oracle/12.2/grid/
2 ./gridSetup.sh -silent -responseFile ~/.giinstall.rsp -skipPrereqs 

~/.giinstall.rsp 内容如下:

 

5. 创建MGMT管理资料库
1 /oracle/app/12.2.0/grid/gridSetup.sh -executeConfigTools -responseFile /home/grid/.giinstall.rsp -silent

 

6. 创建DATA asm diskgroup

1 asmca -silent -sysAsmPassword password -createDiskGroup -diskString '/dev/raw/*' -diskGroupName DATA -diskList '/dev/raw/raw3' -redundancy EXTERNAL -au_size 4

 

7. 安装database 软件

1 unzip /ups/soft/linuxx64_12201_database.zip 
2 cd /ups/soft/database
3 ./runInstaller -silent -ignorePrereqFailure -responseFile ~/.db.rsp

~/.db.rsp 响应文件如下:

  

8. dbca 创建实例

1 dbca -silent -ignorePreReqs -ignorePrereqFailure -createDatabase -responseFile ~/.dbca.rsp

 

~/.dbca.rsp

 

  

三、配置PDB启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 命令配置启动pdb随cdb启动
alter pluggable database [pdbname] save state;
alter pluggable database ORCLPDB save state;
-- 结果检查
set lines 168 pages 999
col CON_NAME for a18
col INSTANCE_NAME for a18
col RESTRICTED for a12
select con_id,CON_NAME,INSTANCE_NAME,STATE,RESTRICTED from dba_pdb_saved_states;
 
    CON_ID CON_NAME           INSTANCE_NAME      STATE          RESTRICTED
---------- ------------------ ------------------ -------------- ------------
         3 ORCLPDB            orcl2              OPEN           NO
         3 ORCLPDB            orcl1              OPEN           NO
 
SQL>
 
# 禁用pdb随cdb启动
alter pluggable database ORCLPDB discard state  ;
 
SQL> alter pluggable database ORCLPDB discard state;
 
Pluggable database altered.
 
SQL> select con_id,CON_NAME,INSTANCE_NAME,STATE,RESTRICTED from dba_pdb_saved_states;
 
    CON_ID CON_NAME           INSTANCE_NAME      STATE          RESTRICTED
---------- ------------------ ------------------ -------------- ------------
         3 ORCLPDB            orcl2              OPEN           NO
 
SQL> alter pluggable database ORCLPDB save state;
 
Pluggable database altered.
 
SQL> select con_id,CON_NAME,INSTANCE_NAME,STATE,RESTRICTED from dba_pdb_saved_states;
 
    CON_ID CON_NAME           INSTANCE_NAME      STATE          RESTRICTED
---------- ------------------ ------------------ -------------- ------------
         3 ORCLPDB            orcl2              OPEN           NO
         3 ORCLPDB            orcl1              OPEN           NO
 
SQL>

  

posted @   KuBee  阅读(1053)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示

目录导航