前提环境已准备好,共享存储已挂载。

(一)   安装grid

1.   Grid用户登录上传并解压

上传linuxx64_12201_grid_home.zip至/u01/app/product/12.2/crs

解压压缩包

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

$unzip linuxx64_12201_grid_home.zip

以root用户登录

安装cvuqdisk

# cd /u01/app/product/12.2/crs/cv/rpm/

# rpm -ivh cvuqdisk-1.0.10-1.rpm (所有节点都要安装)

Oracle 12c RAC 随笔 第1张

 

第二台服务器安装cvuqdisk

将第一台服务器解压出来的cvuqdisk-1.0.10-1.rpm传至第二台服务器的grid根目录下

Oracle 12c RAC 随笔 第2张 

# rpm -ivh cvuqdisk-1.0.10-1.rpm

2.   配置互信

qgzf1:

以root登录

#cd  /u01/app/product/12.2/crs/deinstall

# sh sshUserSetup.sh -user grid -hosts "qgzf1 qgzf2" -advanced -exverify -confirm -noPromptPassphrase

根据提示输入4次密码  grid

切换grid用户执行以下命令(两台服务器都需要执行)

# ssh-agent bash --login -i

# ssh-add ~/.ssh/id_rsa

 

ntzf1

以root登录

#cd  /u01/app/product/12.2/crs/deinstall

# sh sshUserSetup.sh -user grid -hosts "ntzf1 ntzf2" -advanced -exverify -confirm -noPromptPassphrase

根据提示输入4次密码  grid

切换grid用户执行以下命令(两台服务器都需要执行)

# ssh-agent bash --login -i

# ssh-add ~/.ssh/id_rsa

 

3.   开始安装grid

打开终端

#export LANG=en不输入此命令,则为中文界面

#cd $ORACLE_HOME

# ./gridSetup.sh

如图所示,下一步

 Oracle 12c RAC 随笔 第3张

 

下一步

 Oracle 12c RAC 随笔 第4张

 

输入scan-name,下一步

根据实际进行修改:scan name和SCAN port

Oracle 12c RAC 随笔 第5张

 

单击add,根据实际填写

public hostname输入qgzf2

virtual hostname输入qgzf2-vip

Oracle 12c RAC 随笔 第6张

 单击2

ssh 连接 输入 grid口令,点击测试

Oracle 12c RAC 随笔 第7张

 

 单击3

测试通过,单击4下一步

 Oracle 12c RAC 随笔 第8张

单击下一步

 Oracle 12c RAC 随笔 第9张

 

单击下一步

 Oracle 12c RAC 随笔 第10张

 

选择YES,单击下一步

 Oracle 12c RAC 随笔 第11张

 

 如图diskgroup name输入ocr,选择外部,单击change discovery path选择多路径磁盘组路径 /dev/mapper/* 找到磁盘   下一步 (根据实际路径选择)

Oracle 12c RAC 随笔 第12张

 

 如图diskgroup name输入MGMT,选择normal,单击change discovery path选择多路径磁盘组路径 /dev/mapper/* 找到磁盘   下一步

 Oracle 12c RAC 随笔 第13张

 

选择如图所示,密码输入

 Oracle 12c RAC 随笔 第14张

 

单击下一步

Oracle 12c RAC 随笔 第15张

单击下一步

  Oracle 12c RAC 随笔 第16张

Oracle 12c RAC 随笔 第17张

 

 Oracle 12c RAC 随笔 第18张

Oracle 12c RAC 随笔 第19张

 

 Oracle 12c RAC 随笔 第20张

Oracle 12c RAC 随笔 第21张

 

  如果上述列表有swap空间大小错误则执行以下命令(大小需按实际情况确定)

如:创建8个G的内存空间

Root用户执行

#dd if=/dev/zero of=/root/swapfile bs=1G count=8    //(8G)

#mkswap /root/swapfile

#swapon /root/swapfile

 如果有失败可以选fixable为yes的可以单击Fix & Check Again

根据提示执行sh脚本即可

 Oracle 12c RAC 随笔 第22张

Oracle 12c RAC 随笔 第23张

Oracle 12c RAC 随笔 第24张

Oracle 12c RAC 随笔 第25张

Oracle 12c RAC 随笔 第26张

 

 

如果ping scan IP能ping通可以忽略

确定后点击跳过 下一步

 Oracle 12c RAC 随笔 第27张

 

 Oracle 12c RAC 随笔 第28张

 

4.   创建磁盘组

Grid用户登录

#asmca

 Oracle 12c RAC 随笔 第29张

Oracle 12c RAC 随笔 第30张

 

 右键选中未启动的实例启动

 Oracle 12c RAC 随笔 第31张

Oracle 12c RAC 随笔 第32张

 

点击创建 输入磁盘名data,全选磁盘,确定

Oracle 12c RAC 随笔 第33张

 

 查看状态(grid用户)

#crsctl stat res -t

 Oracle 12c RAC 随笔 第34张

 

 

 

(二)   安装oracle

 

以oracle用户登录 上传安装包linuxx64_12201_database到/u01/app/oracle目录下解压

$unzip linuxx64_12201_database.zip

1.   oracle配置互信

 以root登录

#cd  /u01/app/oracle/database/sshsetup

# sh sshUserSetup.sh -user oracle -hosts "ntzf1 ntzf2" -advanced -exverify -confirm -noPromptPassphrase

根据提示输入4次密码  oracle

切换oracle用户执行以下命令(两台服务器都需要执行)

$ ssh-agent bash --login -i

$ssh-add ~/.ssh/id_rsa

 Oracle 12c RAC 随笔 第35张

oracle用户输入:

vncserver :3

登录vncserver

2.   安装oracle基础软件

oracle用户:

$cd /u01/app/oracle/database/

$./runInstaller

 Oracle 12c RAC 随笔 第36张

 

 Oracle 12c RAC 随笔 第37张

 

 Oracle 12c RAC 随笔 第38张

Oracle 12c RAC 随笔 第39张

Oracle 12c RAC 随笔 第40张

Oracle 12c RAC 随笔 第41张

Oracle 12c RAC 随笔 第42张

 

 

如图提示下列失败点可忽略

 Oracle 12c RAC 随笔 第43张

Oracle 12c RAC 随笔 第44张

Oracle 12c RAC 随笔 第45张

Oracle 12c RAC 随笔 第46张

 

#sh /u01/app/oracle/product/12.2/db/root.sh

 Oracle 12c RAC 随笔 第47张

 

 

3.   创建数据库实例

# dbca

Oracle 12c RAC 随笔 第48张

Oracle 12c RAC 随笔 第49张

Oracle 12c RAC 随笔 第50张

Oracle 12c RAC 随笔 第51张

Oracle 12c RAC 随笔 第52张

Oracle 12c RAC 随笔 第53张

 

归档,闪回后续开启

Oracle 12c RAC 随笔 第54张

 

 Oracle 12c RAC 随笔 第55张

Oracle 12c RAC 随笔 第56张

 

Oracle 12c RAC 随笔 第57张

Oracle 12c RAC 随笔 第58张

 

 Oracle 12c RAC 随笔 第59张

Oracle 12c RAC 随笔 第60张

 

 Oracle 12c RAC 随笔 第61张

 

 如上图asm完整性检查失败则跳转到  创建磁盘组

查看是否有实例未启动,手动启动后重新检查

 Oracle 12c RAC 随笔 第62张

Oracle 12c RAC 随笔 第63张

 

 Oracle 12c RAC 随笔 第64张

 

4.   创建表空间,及目录

Grid用户

#asmcmd 

#ls                  (查看磁盘组)

#cd +DATA            (进入,data)

#ls                 (查看文件夹)

#mkdir  tablespace   (创建表空间目录)

#ls                 (确认)

#quit               (退出)

 

 

(三)   打补丁

1.   补丁安装(漏扫打补丁)

l  每一个节点都要执行

l  更新OPatch

l  # cd  /u01/app/product/12.2/crs/

l  # mv OPatch OPatch_old     //备份OPatch

l  上传p6880880_122010_Linux-x86-64.zip包至/u01/app/product/12.2/crs/目录解压

l  # unzip p6880880_122010_Linux-x86-64.zip

l  # chown grid:oinstall OPatch -R      //修改为grid权限

l   

l  # cd /u01/app/oracle/product/12.2/db/

l  # mv OPatch OPatch_old

l  # cp /u01/app/product/12.2/crs/OPatch /u01/app/oracle/product/12.2/db/ -frp

l  # chown oracle:oinstall OPatch -R

l  Root用户登录

 

以下步骤rac1和rac2都要操作

将补丁包p27010711_122010_Linux-x86-64.zip上传至/tmp目录下解压

 

#unzip p27010711_122010_Linux-x86-64.zip

第一步打GI(27100009补丁包)补丁(grid)和 (oracle)

#chown grid:oinstall 27010711 -R   (修改grid权限)

#srvctl status listener   (oralce用户关闭监听)单节点执行

#srvctl stop listener

#srvctl stop database -d orcl(oracle用户)关闭数据库

#srvctl status database -d orcl -f -v 

查看数据库实例,如有开启则sqlplus进去关闭

#关闭crs (root)(双节点执行)

#cd  /u01/app/product/12.2/crs/bin

#./crsctl stop crs

#/u01/app/product/12.2/crs/crs/install/rootcrs.sh  -prepatch -nonrolling

#su – grid      切换grid用户

#/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/26839277      (输入y)

#依次打/tmp/27010711/27100009/目录下的补丁

#/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27105253

#/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27128906

#/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27144050

#/u01/app/product/12.2/crs/OPatch/opatch apply -oh /u01/app/product/12.2/crs/ -local /tmp/27010711/27100009/27335416

#su – oracle  切换oracle用户

#/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27100009/27335416/

#/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27100009/27105253/

第二步打OJVM补丁包(27001739补丁包)(oracle)

#/u01/app/oracle/product/12.2/db/OPatch/opatch apply -oh /u01/app/oracle/product/12.2/db/ -local /tmp/27010711/27001739/

#如上双节点都执行完之后双节点执行如下

#/u01/app/product/12.2/crs/crs/install/rootcrs.sh -postpatch -nonrolling(root用户,如果报错则重复执行一次)

以下只在一个节点操作

# ./crsctl start cluster -all  启动集群服务

 

#sqlplus /as sysdba

#startup

#alter system set cluster_database=false scope=spfile

#quit

#$ORACLE_HOME/bin/srvctl stop database -d orcl

 

 

#sqlplus /as sysdba

#startup  upgrade

#quit

#cd  /u01/app/oracle/product/12.2/db/OPatch

#./datapatch -verbose

 

#sqlplus / as sysdba

#shutdown

#startup

#quit

#sqlplus / as sysdba

#alter system set cluster_database=true scope=spfile

# shutdown

#quit

#$ORACLE_HOME/bin/srvctl start database -d orcl

 

 

查询是否有实效对象

#sqlplus / as sysdba

#select count(*) from dba_objects where status <> 'VALID';

 

 

如果不为0则执行

 Oracle 12c RAC 随笔 第65张

 

完成之后再查询是否为0

  

(五)   常用命令

Grid  or  oracle用户

#srvctl stop database -d orcl   停止数据库实例

#srvctl status database -d orcl -f -v  查看数据库实例

#srvctl start database -d orcl  启动数据库实例

#srvctl status asm -a 查看asm状态

#crsctl stat res -t   grid,查看集群状态AA

 

Root用户

#cd /u01/app/product/12.2/crs/bin

#./crsctl stop cluster -all  停止集群服务

#./crsctl start cluster -all 启动集群服务

 

查看已打补丁

/u01/app/oracle/product/12.2/db/OPatch/opatch lsinv

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄