抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

1. 在虚拟机中创建用户和组(两个节点上执行)
groupadd -g 1000 oinstall
groupadd -g 1100 asmadmin
groupadd -g 1200 dba
groupadd -g 1300 asmdba
groupadd -g 1301 asmoper

useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 1101 -g oinstall -G dba,asmdba oracle
chown 775 /home/grid
chown 775 /home/oracle

更改grid用户以及oracle用户的密码

2. 配置/etc/hosts以便能够(使其能够进行解析主机名)
Public ip:即数据库IP,用于管理访问
Virtual ip:vip用于实现故障转移,当一个节点发生故障时,其VIP会浮动到另一个正常的节点
SCAN ip:single client access name,单一客户访问名称,即客户端访问数据库时的公共域名,由于rac是多节点的,客户端要访问数据库,通过scan机制,只需要提供一个访问名称,oracle rac会自动为客户端分配一个节点(针对整个cluster)
Private ip:私有IP,oracle内部用于节点间通讯的IP不对外开放

3. 关闭linux中的高级安全模式

4. 配置limits.conf文件(两个节点上执行)
Vi /etc/security/limits.d/90-nproc.conf(注释掉红框中的内容)

5. 配置/etc/sysctl.conf(两个节点上执行)添加红框中的内容

使用命令sysctl -p使参数生效

6. 配置/etc/security/limits.conf文件(两个节点上执行)
文件末尾添加如下的内容:

7. 配置/etc/pam.d/login文件(两个节点上执行)
添加图中红框的内容

8. 配置/etc/profile文件(两个节点下执行)添加如下内容

并执行命令source /etc/profile使其生效
9. 更改tmpfs文件系统的空间并重新挂载。(两个节点下执行)

使用命令mount -o remount /dev/shm 重新挂载tmpfs
10. 创建oracle以及grid的家目录并赋权(两个节点上执行)
mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0.4/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0.4/grid
chmod -R 775 /u01/app/11.2.0.4

11. 配置root环境下的环境变量vi /root/.bash_profile
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

12. 配置环境变量:
Grid用户(添加如下的内容):
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/lib32

oracle用户(添加如下的内容):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=ora11g1
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_CRS_HOME/bin:/usr/sbin:$PATH
一节点:

二节点:

报警时:执行
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin
13. 关掉一些无关的服务
一节点:

二节点:

14. 创建共享磁盘可以使用command进行创建也可以使用vmware workstation进行创建
Cd E:\VMware Workstion执行以下四条语句
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 D:\RAC\Sharedisk1\ocr01.vmdk
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 D:\RAC\Sharedisk1\ocr02.vmdk
vmware-vdiskmanager.exe -c -s 2000Mb -a lsilogic -t 2 D:\RAC\Sharedisk1\ocr03.vmdk
vmware-vdiskmanager.exe -c -s 10000Mb -a lsilogic -t 2 D:\RAC\Sharedisk1\data.vmdk
15. 创建共享磁盘(在虚拟机的创建目录下找到.vmx文件在末尾添加一下内容—-两个节点上执行)
标注:此步骤需在虚拟机关机下进行操作
disk.locking = “false”
diskLib.dataCacheMaxSize = “0”
scsi1.present = “TRUE”
scsi1.virtualDev = “lsilogic”
scsi1:1.present = “TRUE”
scsi1:1.fileName = “D:\RAC\Sharedisk\data.vmdk”
scsi1:2.present = “TRUE”
scsi1:2.fileName = “D:\RAC\Sharedisk\ocr01.vmdk”
scsi1:3.present = “TRUE”
scsi1:3.fileName = “D:\RAC\Sharedisk\ocr02.vmdk”
scsi1:4.present = “TRUE”
scsi1:4.fileName = “D:\RAC\Sharedisk\ocr03.vmdk”
disk.EnableUUID = “TRUE”——执行命令是否返回虚拟硬件的UUID
16. 生成udev下的配置文件(两个节点上执行)
REDHAT5 for i in b c d;
do
echo “KERNEL==/“sd*/“, BUS==/“scsi/“, PROGRAM==/“/sbin/scsi_id -g -u -s %p/“, RESULT==/“scsi_id -g -u -s /block/sd$i/“, NAME=/“asm-disk$i/“, OWNER=/“grid/“, GROUP=/“asmadmin/“, MODE=/“0660/“” done
REDHAT6* for i in b c d e ;
do
echo “KERNEL=="sd", BUS=="scsi", PROGRAM=="/sbin/scsi_id –whitelisted –replace-whitespace –device=/dev/$name", RESULT=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660"“ >> /etc/udev/rules.d/99-oracle-asmdevices.rules
doneREDHAT7
for i in b c d e;
do
echo “KERNEL==/“sd*/“, BUS==/“scsi/“,PROGRAM==/“/lib/udev/scsi_id -g -u /dev//$name/“, RESULT==/“/lib/udev/scsi_id -g -u /dev/sd$i/“, NAME=/“asm-disk$i/“, OWNER=/“grid/“,GROUP=/“asmadmin/“, MODE=/“0660/“” done

将图片中的内容重定向到/etc/udev/rules.d/文件名中
执行命令:start_udev

执行成功后:进入/dev/目录下检查磁盘是否是grid用户及asmadmin组

17. 配置yum源:(必须以.repo结尾—两个节点下添加如下内容)

Vi /etc/yum.repo.d/base.repo

使用命令yum repolist更新yum源

安装依赖包:
yum install binutils* compat-libstdc++-* elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* libaio-* libaio-devel-* libgcc-* libstdc++-* make-* sysstat-* unixODBC-* compat-libcap1-1.10-1.x86_64
18. 配置ssh互信
Root用户执行
./sshUserSetup.sh -user grid -hosts “rac01 rac02” -advanced -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts “orarac1 orarac2” -advanced -noPromptPassphrase
Grid用户:

Oracle 用户:


19. Grid安装
通过xmannger启动图形化界面进行安装
export DISPLAY=对应主机地址:0.0(例如:192.168.137.0:0.0)

安装方式:

语言:

添加对应在/etc/hosts中输入的SCANIP NAME:

列出对应的安装节点以及测试互信

对应网卡的信息(对外访问的IP以及私有IP)

通过什么方式来管理对应的磁盘组(这里我选择的是ASM自动管理)

选择添加的磁盘

设置ASM密码


设置ASM管理用户及组

配置目录


环境预先检查

确认安装信息

安装进度条:

安装完成后根据提示执行对应的脚本(这里需要注意执行脚本时需要在第一个节点上执行成功后再执行第二个节点

一节点:
执行oranstRoot.sh脚本

执行root.sh脚本:

输出结尾:

二节点:
执行orainstRoot.sh脚本:

执行root.sh脚本:

创建ASM磁盘组:执行命令ASMCA启动图形化界面创建ASM磁盘组


数据库RAC安装步骤









Root.sh脚本执行:
一节点结果:

二节点执行结果:

创建ORACLE数据库:











ORACLE11g 升级

1. 在更新之前首先需要确认两个节点的grid用户以及oracle用户的OPatch工具的版本(在升级中需要11.2.0.3.6或更高版本的OPatch工具)
Grid用户:
一节点:

二节点:

Oracle用户:
一节点:

二节点:

下载新的OPatch工具包后将原先的OPatch包替换掉即可
2. 为OPatch工具创建OCM响应文件:
将响应文件输出到-output /tmp/ocm.rsp中
并将读写执行的权限赋予给ocm.rsp脚本

3. 将PSU补丁包放在两个节点都能够访问的位置。
标注:psu补丁包一定要具有oinstall(ora_install) 组的权限
如果有EM(Enterprise Manager)需要将EM先停掉
命令:emctl stop dbconsole
如果没有共享存储时需要在每个节点上使用命令:opatch auto进行自动升级。
首先需要升级GI(grid infrastructure)
步骤:在两个节点上执行
opatch auto /home/grid/PSU\ OPatch/28689170/28429134/ -ocmrf /tmp/ocm.rsp

标注:直接执行即可,OPatch工具会自动关闭crs群集,升级完成后并且会自动重启

4. Install the SQL portion of the patch by running the following command for a single instance environment.:
cd $ORACLE_HOME/sqlpatch/28440700
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postinstall.sql
SQL> shutdown
SQL> startup
5. For an Oracle RAC environment, reload the packages on one of the nodes using the following commands. Make sure no other instance of the database is up on the remote nodes.:
cd $ORACLE_HOME/sqlpatch/28440700
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP

BUG 11G老版本RAC在安装的时候会报下面的bug,以下为解决方法
Root脚本

上述问题为11g的bug
执行语句 :./roothas.pl -deconfig -force -verbose

重新执行root.sh(开启两个窗口)第二个窗口执行:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1(卡住不要点,直到root脚本执行完成)

评论