Oracle 12c RAC

前提环境(ip,内核参数,环境变量,存储等等。。。)已准备好。

(一)   安装grid

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

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

解压压缩包

$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

第二台服务器安装cvuqdisk

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

Oracle 12c RAC

# 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

下一步

Oracle 12c RAC

输入scan-name,下一步

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

Oracle 12c RAC

单击add,根据实际填写

public hostname输入qgzf2

virtual hostname输入qgzf2-vip

Oracle 12c RAC

单击2

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

Oracle 12c RAC

单击3

测试通过,单击4下一步

Oracle 12c RAC

单击下一步

Oracle 12c RAC

单击下一步

Oracle 12c RAC

选择YES,单击下一步

Oracle 12c RAC

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

Oracle 12c RAC

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

Oracle 12c RAC

选择如图所示,密码输入

Oracle 12c RAC

单击下一步

Oracle 12c RAC

单击下一步

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

如果上述列表有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

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

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

确定后点击跳过 下一步

Oracle 12c RAC

Oracle 12c RAC

4.   创建磁盘组

Grid用户登录

#asmca

Oracle 12c RAC

Oracle 12c RAC

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

Oracle 12c RAC

Oracle 12c RAC

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

Oracle 12c RAC

查看状态(grid用户)

#crsctl stat res -t

Oracle 12c RAC

(二)   安装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

oracle用户输入:

vncserver :3

登录vncserver

2.   安装oracle基础软件

oracle用户:

$cd /u01/app/oracle/database/

$./runInstaller

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

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

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

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

Oracle 12c RAC

3.   创建数据库实例

# dbca

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

归档,闪回后续开启

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

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

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

Oracle 12c RAC

Oracle 12c RAC

Oracle 12c RAC

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

完成之后再查询是否为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

上一篇:web端文字转语音的几种方案


下一篇:OSGI企业应用开发(三)Eclipse中搭建Equinox运行环境