查看: 1861|回复: 0

[Mysql数据库] rhel7.4安装oracle 11G 11.2.0.4.0 RAC

发表于 2018-1-24 08:00:01
一、操作系统

red hat 7.4
oracle数据库版本
11.2.0.4
oracle grid版本
11.2.0.4
对应的文件
p13390677_112040_Linux-x86-64_1of7.zip - database software
p13390677_112040_Linux-x86-64_2of7.zip - database software
p13390677_112040_Linux-x86-64_3of7.zip - grid software

IP地址规划:
DNS server:192.168.1.168
db node1:192.168.1.212 public
192.168.1.213 VIP
10.0.1.2 private
db node2:192.168.1.214 public
192.168.1.215 VIP
10.0.1.3 private
scan: 192.168.1.216

二、基本配置

1、修改主机名称:
vi /etc/hostname配置文件

hostnamectl set-hostname <计算机名>
A: redhat-212
B: redhat-214

2、动态IP修改为静态IP
cd /etc/sysconfig/network-scripts/
BOOTPROTO="static" #dhcp改为static

3、修改两个rac节点网卡配置:
节点1:

  1. cat /etc/sysconfig/network-scripts/ifcfg-ens192
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=none
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=no
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens192
  14. UUID=2a2b7809-26ac-4fc6-95d0-124c7348171a
  15. DEVICE=ens192
  16. ONBOOT=yes
  17. IPADDR=192.168.1.212
  18. PREFIX=24
复制代码
  1. cat /etc/sysconfig/network-scripts/ifcfg-ens224
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=static
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens224
  14. UUID=6da67cdc-933c-4bfe-a3b1-2896175be86b
  15. DEVICE=ens224
  16. ONBOOT=yes
  17. IPADDR=10.0.1.2
  18. PREFIX=24
复制代码

节点2:

  1. cat /etc/sysconfig/network-scripts/ifcfg-ens192
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=static
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens192
  14. UUID=aeead365-1e33-41c3-b0e9-b147c4a2e688
  15. DEVICE=ens192
  16. ONBOOT=yes
  17. IPADDR=10.0.1.3
  18. PREFIX=24
复制代码
  1. cat /etc/sysconfig/network-scripts/ifcfg-ens224
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=none
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=no
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens224
  14. UUID=e4fe8fed-6e97-43b4-aec6-80ce42588ead
  15. DEVICE=ens224
  16. ONBOOT=yes
  17. IPADDR=192.168.1.214
  18. PREFIX=24
复制代码

#vim /etc/resolv.conf
nameserver 218.2.2.2

分别重启一下网卡:
systemctl restart network.service

禁用该可预测命名规则。对于这一点,你可以在启动时传递“net.ifnames=0 biosdevname=0 ”的内核参数。这是通过编辑/etc/default/grub并加入“net.ifnames=0 biosdevname=0 ”到GRUBCMDLINELINUX变量来实现的。

  1. cat /etc/default/grub
  2. GRUB_TIMEOUT=5
  3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  4. GRUB_DEFAULT=saved
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL_OUTPUT="console"
  7. GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap net.ifnames=0 biosdevname=0 rhgb quiet"
  8. GRUB_DISABLE_RECOVERY="true"
复制代码

3、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

4、关闭selinux
#vim /etc/selinux/config
修改文件
SELINUX=disabled
临时关闭
#setenforce 0

5、内部DNS解析两个rac节点:
NODE1:

  1. vim /etc/hosts 127.0.0.1这一行修改一下名字racdb1,末尾添加如下:
  2. 127.0.0.1 racdb1 localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.1.216 cluster clusterscan
  5. 192.168.1.212 redhat-212
  6. 192.168.1.214 redhat-214
  7. 192.168.1.213 redhat-212-vip
  8. 192.168.1.215 redhat-214-vip
  9. 10.0.1.2 raca-priv
  10. 10.0.1.3 racb-priv
复制代码

NODE2:

  1. vim /etc/hosts 127.0.0.1这一行修改一下名字racdb2,末尾添加如下
  2. 127.0.0.1 racdb2 localhost.localdomain localhost4 localhost4.localdomain4
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 192.168.1.216 cluster clusterscan
  5. 192.168.1.212 redhat-212
  6. 192.168.1.214 redhat-214
  7. 192.168.1.213 redhat-212-vip
  8. 192.168.1.215 redhat-214-vip
  9. 10.0.1.2 raca-priv
  10. 10.0.1.3 racb-priv
复制代码
三、openfiler来划分存储空间

这个软件挺好用的,在vmware环境下安装,其实就是个linux系统,我们创建vmdisk就行了。配置登陆一个网页https://ip:446
在网络存储服务器 (openfiler1) 上执行以下安装。
在两个 Oracle RAC 节点上进行网络配置之后,下一步是将 Openfiler 软件安装到网络存储服务器 (openfiler1)。稍后会将网络存储服务器配置为 iSCSI 存储设备,以满足 Oracle Clusterware 和 Oracle RAC 的所有共享存储需求。
安装 Openfiler步骤可参考oracle官网:
http://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-083834-zhs.html

1、使用 Openfiler 配置 iSCSI 卷
OpenFiler设置 iSCSI / 逻辑卷卷名卷描述
racdb-crs1 racdb-ASM CRS Volume 1
racdb-crs2 racdb-ASM CRS Volume 2
racdb-crs3 racdb-ASM CRS Volume 3
racdb-data1 racdb-ASM Data Volume 1
racdb-data2 racdb-ASM Data Volume 2
racdb-data3 racdb-ASM Data Volume 3
racdb-fra1 racdb-ASM FRA Volume 1
racdb-fra2 racdb-ASM FRA Volume 2
racdb-fra3 racdb-ASM FRA Volume 3

2、ISCSI路径名称命名
iqn.2006-01.com.openfiler:racdb.crs1
iqn.2006-01.com.openfiler:racdb.crs2
iqn.2006-01.com.openfiler:racdb.crs3
iqn.2006-01.com.openfiler:racdb.data1
iqn.2006-01.com.openfiler:racdb.data2
iqn.2006-01.com.openfiler:racdb.data3
iqn.2006-01.com.openfiler:racdb.fra1
iqn.2006-01.com.openfiler:racdb.fra2
iqn.2006-01.com.openfiler:racdb.fra3

3、两个节点安装iscsi客户端

  1. #yum install -y iscsi-initiator-utils
  2. #systemctl start iscsid.service
  3. #service iscsid start
复制代码

4、设置iscsi客户端开机启动

  1. systemctl enable iscsid.service
  2. systemctl enable iscsi.service
复制代码

5、查看服务状态

  1. #systemctl list-unit-files |grep iscsi*
  2. iscsi-shutdown.service static
  3. iscsi.service enabled
  4. iscsid.service enabled
  5. iscsiuio.service disabled
  6. iscsid.socket enabled
  7. iscsiuio.socket enabled
复制代码

6、发现ISCSI服务端磁盘路径

  1. #iscsiadm -m discovery -t sendtargets -p openfiler1-priv 为你的openfiler的IP地址,我这里地址是10.0.1.100
  2. #iscsiadm -m discovery -t sendtargets -p 10.0.1.100
  3. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra3
  4. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra2
  5. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.fra1
  6. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data3
  7. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data2
  8. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.data1
  9. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs3
  10. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs2
  11. 10.0.1.100:3260,1 iqn.2006-01.com.openfiler:racdb.crs1
复制代码

7、每个 Oracle RAC 节点都能够从网络存储服务器中发现可用目标。下一步是手动登录每个可用目标,这可以使用 iscsiadm 命令行接口完成。这需要在两个 Oracle RAC 节点上运行。注意,我必须指定网络存储服务器的 IP 地址而非其主机名 (openfiler1-priv) — 我认为必须这么做,因为上述发现使用 IP 地址显示目标。
登陆ISCSI远程磁盘

  1. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 10.0.1.100 -l
  2. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs2 -p 10.0.1.100 -l
  3. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs3 -p 10.0.1.100 -l
  4. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 10.0.1.100 -l
  5. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data2 -p 10.0.1.100 -l
  6. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data3 -p 10.0.1.100 -l
  7. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 10.0.1.100 -l
  8. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra2 -p 10.0.1.100 -l
  9. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra3 -p 10.0.1.100 -l
复制代码

8、设置开机启动自动连接磁盘

  1. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs1 -p 10.0.1.100 --op update -n node.startup -v automatic
  2. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs2 -p 10.0.1.100 --op update -n node.startup -v automatic
  3. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.crs3 -p 10.0.1.100 --op update -n node.startup -v automatic
  4. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data1 -p 10.0.1.100 --op update -n node.startup -v automatic
  5. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data2 -p 10.0.1.100 --op update -n node.startup -v automatic
  6. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.data3 -p 10.0.1.100 --op update -n node.startup -v automatic
  7. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra1 -p 10.0.1.100 --op update -n node.startup -v automatic
  8. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra2 -p 10.0.1.100 --op update -n node.startup -v automatic
  9. iscsiadm -m node -T iqn.2006-01.com.openfiler:racdb.fra3 -p 10.0.1.100 --op update -n node.startup -v automatic
复制代码

9、查看远程磁盘路径和关联的磁盘路径

  1. #(cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')
  2. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdc
  3. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs2-lun-0 -> ../../sdd
  4. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.crs3-lun-0 -> ../../sde
  5. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data1-lun-0 -> ../../sdf
  6. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data2-lun-0 -> ../../sdg
  7. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.data3-lun-0 -> ../../sdh
  8. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra1-lun-0 -> ../../sdi
  9. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra2-lun-0 -> ../../sdj
  10. ip-10.0.1.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.fra3-lun-0 -> ../../sdk
复制代码

10、安装udev设备管理器(rac_udev建立磁盘方式安装grid)
#yum install -y udev
查看磁盘串号

  1. -----------------------------------------------------------------------------------------------------------------
  2. for disk in `ls /dev/sd*`
  3. do
  4. echo $disk
  5. /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=$disk
  6. done \\回车
  7. -----------------------------------------------------------------------------------------------------------------
  8. /dev/sda
  9. /dev/sda1
  10. /dev/sda2
  11. /dev/sdb
  12. /dev/sdb1
  13. /dev/sdc
  14. 14f504e46494c45527763443337452d557347312d514f3049
  15. /dev/sdd
  16. 14f504e46494c4552715837527a472d78444f522d6e6b5774
  17. /dev/sde
  18. 14f504e46494c45523045727559352d706674422d43666c59
  19. /dev/sdf
  20. 14f504e46494c455262664b78684c2d51796e512d30464179
  21. /dev/sdg
  22. 14f504e46494c45526c36533367792d6a6265712d45705648
  23. /dev/sdh
  24. 14f504e46494c45524159783651312d4a4554742d4f74776f
复制代码

在两个 Oracle RAC 节点:
映射关联磁盘

  1. #vim /etc/udev/rules.d/99-oracle-asmdevices.rules
  2. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45527763443337452d557347312d514f3049", SYMLINK+="asm_ocr_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
  3. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c4552715837527a472d78444f522d6e6b5774", SYMLINK+="asm_ocr_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
  4. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45523045727559352d706674422d43666c59", SYMLINK+="asm_data_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
  5. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c455262664b78684c2d51796e512d30464179", SYMLINK+="asm_data_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
  6. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45526c36533367792d6a6265712d45705648", SYMLINK+="asm_fra_1_1", OWNER="grid", GROUP="asmadmin", MODE="0660"
  7. KERNEL=="sd?", ENV{ID_SERIAL}=="14f504e46494c45524159783651312d4a4554742d4f74776f", SYMLINK+="asm_fra_1_2", OWNER="grid", GROUP="asmadmin", MODE="0660"
复制代码

加载rules文件(rac_udev建立磁盘方式安装grid)
#udevadm control --reload-rules
#udevadm trigger

11、查看关联路径情况

  1. #ls -l /dev/asm*
  2. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_data_1_1 -> sdf
  3. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_data_1_2 -> sdg
  4. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_fra_1_1 -> sdh
  5. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_fra_1_2 -> sdi
  6. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_ocr_1_1 -> sdc
  7. lrwxrwxrwx. 1 root root 3 12月 26 17:30 /dev/asm_ocr_1_2 -> sdd
  8. lrwxrwxrwx. 1 root root 3 1月 8 14:00 /dev/asm_ocr_1_3 -> sde
复制代码
四、创建任务角色划分操作系统权限组、用户和目录

1、创建用户:

  1. groupadd -g 1000 oinstall
  2. groupadd -g 1200 asmadmin
  3. groupadd -g 1201 asmdba
  4. groupadd -g 1202 asmoper
  5. groupadd -g 1300 dba
  6. groupadd -g 1301 oper
复制代码

2、创建组:

  1. useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid
  2. useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle
复制代码

3、创建密码:
passwd grid
passwd oracle
4、设置互信关系,这里记住oracle和grid用户都要设置互信
#su - grid
$ mkdir ~/.ssh(有则不创建)
两个节点执行以下操作
ssh-keygen -t rsa
ssh-keygen -t dsa
这里一步一步直接回车的
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

以下操作在一个节点上执行即可(id_rsa是密钥,id_rsa.pub是公钥)
cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys --公钥存在authorized_keys文件中,写到本机
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh redhat-214 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --第二个节点的公钥写到本机
ssh redhat-214 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
scp ~/.ssh/authorized_keys secdb2:~/.ssh/authorized_keys
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
两个节点上分别验证
ssh redhat-212 date
ssh redhat-214 date
ssh raca-priv date
ssh racb-priv date

#su - oracle
两个节点执行以下操作:
ssh-keygen -t rsa
ssh-keygen -t dsa
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
以下操作在一个节点上执行即可
cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys --公钥存在authorized_keys文件中,写到本机
cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys
ssh redhat-214 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --第二个节点的公钥写到本机
ssh redhat-214 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
scp ~/.ssh/authorized_keys redhat-214:~/.ssh/authorized_keys --上传本机公钥到第二个节点管理
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
两个节点上分别验证
ssh redhat-212 date
ssh redhat-214 date
ssh raca-priv date
ssh racb-priv date

5、为grid用户设置环境变量
如下操作也需要在两个节点上同样进行,这里需要注意的是grid用户的SID和oracle用户的SID,是不一样的,这里大家明白原理的话就不会出错。
以 grid 用户帐户分别登录到两个 Oracle RAC 节点并创建以下登录脚本 (.bash_profile):
注: 在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:
racnode1:ORACLE_SID=+ASM1
racnode2:ORACLE_SID=+ASM2
Node1:

  1. [root@racnode1 ~]# su - grid
  2. vi .bash_profile
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_SID=+ASM1
  6. export ORACLE_BASE=/u01/grid
  7. export ORACLE_HOME=/u01/app/grid/11.2.0
  8. export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
  9. export TNS_ADMIN=$ORACLE_HOME/network/admin
  10. export PATH=/usr/sbin:$PATH
  11. export PATH=$ORACLE_HOME/bin:$PATH
  12. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  13. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  14. export LANG=en_US
  15. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  16. umask 022
复制代码

Node2:

  1. #su - grid
  2. vi .bash_profile
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_SID=+ASM2
  6. export ORACLE_BASE=/u01/grid
  7. export ORACLE_HOME=/u01/app/grid/11.2.0
  8. export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
  9. export TNS_ADMIN=$ORACLE_HOME/network/admin
  10. export PATH=/usr/sbin:$PATH
  11. export PATH=$ORACLE_HOME/bin:$PATH
  12. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  13. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  14. export LANG=en_US
  15. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  16. umask 022
复制代码

6、为 oracle 用户设置环境变量
以 oracle 用户帐户分别登录到两个 Oracle RAC 节点并创建以下登录脚本 (.bash_profile):
注: 在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用:
racnode1:ORACLE_SID=orcl1
racnode2:ORACLE_SID=orcl2

  1. #su - oracle
  2. vi .bash_profile
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_HOSTNAME=rac1
  6. export ORACLE_SID=orcl1
  7. export ORACLE_BASE=/u01/app/oracle
  8. export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
  9. export ORACLE_UNQNAME=orcl
  10. export TNS_ADMIN=$ORACLE_HOME/network/admin
  11. #export ORACLE_TERM=xterm
  12. export PATH=/usr/sbin:$PATH
  13. export PATH=$ORACLE_HOME/bin:$PATH
  14. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  15. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  16. export LANG=en_US
  17. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  18. export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
  19. umask 022
复制代码

Node2:

  1. #su - oracle
  2. vi .bash_profile
  3. export TMP=/tmp
  4. export TMPDIR=$TMP
  5. export ORACLE_HOSTNAME=rac2
  6. export ORACLE_SID=orcl2
  7. export ORACLE_BASE=/u01/app/oracle
  8. export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
  9. export ORACLE_UNQNAME=orcl
  10. export TNS_ADMIN=$ORACLE_HOME/network/admin
  11. #export ORACLE_TERM=xterm
  12. export PATH=/usr/sbin:$PATH
  13. export PATH=$ORACLE_HOME/bin:$PATH
  14. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  15. export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  16. export LANG=en_US
  17. export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
  18. export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
  19. umask 022
复制代码

7、创建 Oracle 基目录路径
最后一步是配置 Oracle 基路径,要遵循最佳灵活体系结构 (OFA) 的结构及正确的权限。需要以 root 用户身份在集群的两个 Oracle RAC 节点上完成此任务。
本指南假设在根文件系统中创建 /u01 目录。请注意,这样做是为了简便起见,不建议将其作为通用做法。通常会将 /u01 目录作为配置了硬件或软件镜像功能的单独文件系统供应。
#mkdir -p /u01/grid
#mkdir -p /u01/app/grid/11.2.0
#chown -R grid:oinstall /u01
#mkdir -p /u01/app/oracle
#chown oracle:oinstall /u01/app/oracle
#chmod -R 775 /u01
8、为 Oracle 软件安装用户设置资源限制:
8.1 在每个 Oracle RAC 节点上,在 /etc/security/limits.conf 文件中添加以下几行代码(下面的示例显示软件帐户所有者 oracle 和 grid):

  1. #vi /etc/security/limits.conf
  2. grid soft nproc 2047
  3. grid hard nproc 16384
  4. grid soft nofile 1024
  5. grid hard nofile 65536
  6. oracle soft nproc 2047
  7. oracle hard nproc 16384
  8. oracle soft nofile 1024
  9. oracle hard nofile 65536
复制代码

8.2 在每个 Oracle RAC 节点上,在 /etc/pam.d/login 文件中添加或编辑下面一行内容(如果不存在此行):

  1. #vi /etc/pam.d/login
  2. session required pam_limits.so
复制代码

8.3 修改内核参数

  1. #vim /etc/sysctl.conf
  2. fs.aio-max-nr = 1048576
  3. fs.file-max = 6815744
  4. kernel.shmall = 1073741824
  5. kernel.shmmax = 4398046511104
  6. kernel.shmmni = 4096
  7. kernel.sem = 250 32000 100 128
  8. net.ipv4.ip_local_port_range = 9000 65500
  9. net.core.rmem_default = 262144
  10. net.core.rmem_max = 4194304
  11. net.core.wmem_default = 262144
  12. net.core.wmem_max = 1048576
复制代码

使sysctl生效
#sysctl -p
8.3 安装相关的开发工具包

  1. #yum -y install glibc \
  2. glibc-devel \
  3. glibc-headers \
  4. libaio \
  5. libaio-devel \
  6. libgcc \
  7. libstdc++ \
  8. libstdc++-devel \
  9. make \
  10. sysstat \
  11. unixODBC \
  12. unixODBC-devel \
  13. pdksh \
  14. compat-libcap1 \
  15. compat-libstdc++-33 \
  16. elfutils-libelf-devel \
  17. gcc \
  18. gcc-c++ \
  19. smartmontools \
  20. pdksh \
  21. compat-libstdc \
  22. cvuqdisk
复制代码

9、RHEL 7 安装oracle rac 11.2.0.4执行root.sh报错ohasd failed to start
报错原因:
因为RHEL 7使用systemd而不是initd运行进程和重启进程,而root.sh通过传统的initd运行ohasd进程。

9.1、 解决方法:
在RHEL 7中ohasd需要被设置为一个服务,在运行脚本root.sh之前。
以root用户创建服务文件
#touch /usr/lib/systemd/system/ohas.service
#chmod 777 /usr/lib/systemd/system/ohas.service

9.2、 将以下内容添加到新创建的ohas.service文件中

  1. #vim /usr/lib/systemd/system/ohas.service
  2. [Unit]
  3. Description=Oracle High Availability Services
  4. After=syslog.target
  5. [Service]
  6. ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
  7. Restart=always
  8. [Install]
  9. WantedBy=multi-user.target
复制代码

9.3、以root用户运行下面的命令
#systemctl daemon-reload
#systemctl enable ohas.service
#systemctl start ohas.service

9.4、查看运行状态
#systemctl status ohas.service

五、安装GI集群软件

1、连接操作中的 Xmanager
#su - grid
$ cd /home/grid/
$ unzip p13390677_112040_Linux-x86-64_3of7.zip

#yum install xhost + -y
#su - grid
$ export DISPLAY=ip:0.0 //ip为你本机ip
$ xhost +
$ export LANG=en_US
$ ./runInstaller

若需要添加中文语言包
#mkdir -p /usr/share/fonts/zh_CN/TrueType
将zysong.ttf文件放至/usr/share/fonts/zh_CN/TrueType目录中

2、安装截图
出来下面安装界面,选择最下面的Skip software updates,然后选next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
选择第一个安装和配置集群环境,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
选择第二个高级安装,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
选上添加简体中文,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
此处集群名自己取,SCAN名需要和/etc/hosts中的scan ip别名一致,端口默认,不选GNS,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
添加busrac2节点
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
点next(上面设置互信关系一定执行过,不然这一步如果next会出错的)
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
或如果没有设置互信关系的话可以点SSH Connectivity,输入grid用户的密码(注两点节点grid用户与密码要一致),在点setup,最后next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里只需要确认一下网络接口,安装向导已经把我们填写,next(这里是自动识别到你服务器上IP是哪段的)
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
存储选择:选择ASM,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里让我们创建asm disk group,给一个名字“ORC",建立OCR盘,选择3块盘 next(这里要求至少3块盘的,这里图片只是参考的;有时候会找不到盘,可以试重新执行加载rules文件(rac_udev建立磁盘方式安装grid))
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
设置密码:next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里选择第二项不使用IPMI
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
给ASM指定不同的组,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里安装向导会帮你填写集群软件的安装路径,我们继续next,这里我们需要注意的是oracle_Home不能是oracle_base的子目录
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
以root身份执行脚本:root用户执行两个脚本,一个节点执行完后再执行第二个节点(root.sh执行可能会长一点)
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
我们会看到这个报错,其实这个问题我查看了mos知识库,说的比较含糊,可以忽略这个错误,不影响我们的安装和未来的使用
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
直接finish了,这里我们集群软件安装完成。
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

六、安装oracle 11.2.0.4软件

#su - oracle
$ export DISPLAY=ip:0.0 //ip为你本机ip
$ xhost +
$ export LANG=en_US
$ cd database
$ ./runInstaller
在解压database运行安装脚本,这里和安装grid一样,启动安装向导
我们不填写mos账号,又不联网没意义,点击next,这里我们还是在rac1节点上安装
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
我们这里只安装数据库软件,点击next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里选择集群安装方式,有以下3种选项之一:
Single instance database installation(单实例数据库安装) 这一选项允许仅在本地节点上安装单实例数据库软件。
Oracle Real Application Cluster database installation(Oracle RAC数据库安装) 这一选项允许在集群中的选定节点上选择和安装Oracle RAC二进制文件。
Oracle RAC One Node database installation 这个选项在选定节点上安装Oracle RAC One Node数据库二进制文件。
在这个界面上,选择Oracle Real Application Cluster database installation选项。
选择“select All”,点击next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
还是选择语言为”English/Simplified Chinese“,点击next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
选择”Enterprise Edition“ 点击”next“
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里是oracle_base和oracle_home,点击next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这个对应到组就可以了,继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这一步会check你的安装环境,我们只要配置参数正确就没问题,这里基本上都是succeeded,点击next(导致这个错误的原因是在/etc/hosts中配置了SCAN的地址,尝试ping这个地址信息,如果可以成功,则这个错误可以忽略。我尝试ping scan ip可以ping通,所以暂时也就忽略了这个错误。)
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
summary一下,我们就可以'install'了
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里安装会比较快
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
出现如下错误
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
查看日志报错如下:
#vi /u01/oraInventory/logs/installActions2018-01-10_02-56-55PM.log

  1. INFO: collect2: error: ld returned 1 exit status
  2. INFO: make[1]: *** [/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/emdctl] Error 1
  3. INFO: make[1]: Leaving directory `/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib'
  4. INFO: make: *** [emdctl] Error 2
  5. INFO: End output from spawned process.
  6. INFO: ----------------------------------
  7. INFO: Exception thrown from action: make
  8. Exception Name: MakefileException
  9. Exception String: Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/u01/oraInventory/logs/installActions2018-01-10_02-56-55PM.log' for details.
  10. Exception Severity: 1
复制代码

解决方法:
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

  1. $vi /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
  2. 搜索以下行:
  3. $(MK_EMAGENT_NMECTL)
  4. 改变为:
  5. $(MK_EMAGENT_NMECTL) -lnnz11
复制代码

然后点击:retry,可以。
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
完成后同样也要执行一个脚本,也是要在root用户下去执行,分别两个节点上
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
至此数据库软件已安装完成。
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

七、创建ASM磁盘组

1、在安装GI集群软件的时候我们就配置过asm磁盘,现在我们还有一个disk分区没有加入到asm磁盘组中,我们通过asmca来实现
$ su - grid
$ export DISPLAY=ip:0.0
运行命令asmca,我们看到下面配置向导。这里可以看到我们之前配置过的disk group,我们点击create后
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
来到这里,我们给disk group起个名字,选择redundancy Normal,勾选data_1_1和data_1_2,我们ok一下
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
会有一个10秒的等待创建磁盘组,完成后提示成功
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
选择redundancy Normal,勾选fra_1_1和fra_1_2,我们ok一下
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里我们就能看到有三个disk group了!!!退出即可。。
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

八、配置oracle database

我们直接su - oracle,运行dbca命令来配置数据库
$ export DISPLAY=IP:0.0
$ export LANG=en_US
$ dbca
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
来到如下界面后,我们选择第一项集群模式,然后next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这个就不用考虑了,直接选择create a database,继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这个也是选择general purpose,继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
配置类型选择admin-managed,Global database name和sid相同为test,最下面我们选择”select all“,然后next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里我们还是选择默认推荐的配置,EM和amt都选择配置,继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
把sys、system、dbsnmp都给一个相同的密码,这里你自己给吧!!然后next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里我们选择用存储类型为asm,使用omf管理数据文件(这里的名字是存放数据数据文件路径名字,自定义)。
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
我安装数据库勾选OEM的时候,这个地方就要输入ASMSNMP密码的,设置好后点ok
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里选择闪回恢复区,看个人情况
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
或是我们这里不选择闪回恢复区,我这里就不配置了,以后手动改spfile吧!!
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
不选择装sample schemas
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
或是装上sample schemas,以后就有数据可以测试玩一把了!! 继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这里我们字符集会有所设置,ZHS16GBK-GBK,国际字符集默认的就行。其它的选项卡没有特殊配置,在以后都可以去改spfile,我们继续next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
这个是数据库的存储配置页面,我们看一下控制文件等等都要开始安装了,next
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
继续finish
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
等待吧,这个也是比较久的,如果SSD和cpu比较给力,速度基本上10分钟吧!!
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
安装完后,点击exit
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
我们就退出安装配置向导了!!!

九、检查

1、检查crs资源状态

  1. [grid@redhat212 ~]$ crs_stat -t
  2. Name Type Target State Host
  3. ------------------------------------------------------------
  4. ora.DATADB.dg ora....up.type ONLINE ONLINE redhat212
  5. ora.FRA.dg ora....up.type ONLINE ONLINE redhat212
  6. ora....ER.lsnr ora....er.type ONLINE ONLINE redhat212
  7. ora....N1.lsnr ora....er.type ONLINE ONLINE redhat212
  8. ora.ORC.dg ora....up.type ONLINE ONLINE redhat212
  9. ora.asm ora.asm.type ONLINE ONLINE redhat212
  10. ora.cvu ora.cvu.type ONLINE ONLINE redhat212
  11. ora.gsd ora.gsd.type OFFLINE OFFLINE
  12. ora....network ora....rk.type ONLINE ONLINE redhat212
  13. ora.oc4j ora.oc4j.type ONLINE ONLINE redhat212
  14. ora.ons ora.ons.type ONLINE ONLINE redhat212
  15. ora.orcl.db ora....se.type ONLINE ONLINE redhat212
  16. ora....SM1.asm application ONLINE ONLINE redhat212
  17. ora....12.lsnr application ONLINE ONLINE redhat212
  18. ora....212.gsd application OFFLINE OFFLINE
  19. ora....212.ons application ONLINE ONLINE redhat212
  20. ora....212.vip ora....t1.type ONLINE ONLINE redhat212
  21. ora....SM2.asm application ONLINE ONLINE redhat214
  22. ora....14.lsnr application ONLINE ONLINE redhat214
  23. ora....214.gsd application OFFLINE OFFLINE
  24. ora....214.ons application ONLINE ONLINE redhat214
  25. ora....214.vip ora....t1.type ONLINE ONLINE redhat214
  26. ora.scan1.vip ora....ip.type ONLINE ONLINE redhat212
复制代码

我们看到ora.gsd、ora.214(RAC2).gsd是offline状态,其实两个进程对我们的数据库是没有任何影响的,我们把他们打开就行了
2、查看节点的状态

  1. [grid@redhat212 ~]$ srvctl status nodeapps -n redhat212
  2. VIP redhat212-vip is enabled
  3. VIP redhat212-vip is running on node: redhat212
  4. Network is enabled
  5. Network is running on node: redhat212
  6. GSD is disabled
  7. GSD is not running on node: redhat212
  8. ONS is enabled
  9. ONS daemon is running on node: redhat212
复制代码

3、开启节点

  1. [grid@redhat212 ~]$ srvctl enable nodeapps
  2. PRKO-2415 : VIP is already enabled on node(s): redhat212,redhat214
  3. PRKO-2416 : Network resource is already enabled.
  4. PRKO-2417 : ONS is already enabled on node(s): redhat212,redhat214
  5. 开节点后在查看节点应用程序状态
  6. [grid@redhat212 ~]$ srvctl status nodeapps
  7. VIP redhat212-vip is enabled
  8. VIP redhat212-vip is running on node: redhat212
  9. VIP redhat214-vip is enabled
  10. VIP redhat214-vip is running on node: redhat214
  11. Network is enabled
  12. Network is running on node: redhat212
  13. Network is running on node: redhat214
  14. GSD is enabled
  15. GSD is not running on node: redhat212
  16. GSD is not running on node: redhat214
  17. ONS is enabled
  18. ONS daemon is running on node: redhat212
  19. ONS daemon is running on node: redhat214
复制代码

4、启动节点

  1. $ srvctl start nodeapps
  2. PRKO-2421 : Network resource is already started on node(s): redhat212,redhat214
  3. PRKO-2420 : VIP is already started on node(s): redhat212
  4. PRKO-2420 : VIP is already started on node(s): redhat214
  5. PRKO-2422 : ONS is already started on node(s): redhat212,redhat214
复制代码

5、我们在来查看一下所有的组件是否online

  1. $ crs_stat -t
  2. Name Type Target State Host
  3. ------------------------------------------------------------
  4. ora.DATADB.dg ora....up.type ONLINE ONLINE redhat212
  5. ora.FRA.dg ora....up.type ONLINE ONLINE redhat212
  6. ora....ER.lsnr ora....er.type ONLINE ONLINE redhat212
  7. ora....N1.lsnr ora....er.type ONLINE ONLINE redhat212
  8. ora.ORC.dg ora....up.type ONLINE ONLINE redhat212
  9. ora.asm ora.asm.type ONLINE ONLINE redhat212
  10. ora.cvu ora.cvu.type ONLINE ONLINE redhat212
  11. ora.gsd ora.gsd.type ONLINE ONLINE redhat212
  12. ora....network ora....rk.type ONLINE ONLINE redhat212
  13. ora.oc4j ora.oc4j.type ONLINE ONLINE redhat212
  14. ora.ons ora.ons.type ONLINE ONLINE redhat212
  15. ora.orcl.db ora....se.type ONLINE ONLINE redhat212
  16. ora....SM1.asm application ONLINE ONLINE redhat212
  17. ora....12.lsnr application ONLINE ONLINE redhat212
  18. ora....212.gsd application ONLINE ONLINE redhat212
  19. ora....212.ons application ONLINE ONLINE redhat212
  20. ora....212.vip ora....t1.type ONLINE ONLINE redhat212
  21. ora....SM2.asm application ONLINE ONLINE redhat214
  22. ora....14.lsnr application ONLINE ONLINE redhat214
  23. ora....214.gsd application ONLINE ONLINE redhat214
  24. ora....214.ons application ONLINE ONLINE redhat214
  25. ora....214.vip ora....t1.type ONLINE ONLINE redhat214
  26. ora.scan1.vip ora....ip.type ONLINE ONLINE redhat212
复制代码

我们这里安装完毕!!!

十、关于RAC数据库与监听启动与停止命令

grid和oracle用户都可以执行,在其中一个节点执行即可:
1、RAC监听启停:
$ srvctl status listener #检查TNS listener的状态
$ srvctl config listener -a #检查TNS listener的配置
$ srvctl start listener #开启监听
$ srvctl stop listener #停掉监听
$ srvctl stop listener -n redhat212 #停掉指定节点监听
$ srvctl start listener -n redhat212 #启动指定节点监听

例子:
RAC启动数据库监听,进入grid用户来启停端口
#su - grid
$ srvctl start|stop|status listener

2、RAC启停数据库:
srvctl status database -d RAC # 检查数据库的状态
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
srvctl status instance -d RAC -i rac1 #检查指定实例的状态
srvctl start database -d orcl # 启动数据库
srvctl stop database -d orcl # 关闭数据库
srvctl start instance -d orcl -i orcl1 # 启动指定的实例
srvctl stop instance -d orcl -i orcl2 # 关闭指定实例

例子:在nodes1上关闭一个实例,分别查看两个节点状态
rhel7.4安装oracle 11G 11.2.0.4.0 RAC
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

或下面方式

  1. RAC启动数据库,进入oracle用户
  2. #su - oracle
  3. $ sqlplus sys/**** as sysdba
  4. SQL> select status from v$instance; //查看数据库状态
  5. SQL>startup; //启动数据库
  6. SQL>shutdown immediate; //停数据库
复制代码
十一、添加表空间步骤:
  1. ssh root 进入 192.168.1.212
  2. su - oracle
  3. source .bash_profile
  4. sqlplus /nolog
  5. connect /as sysdba
  6. 创建表空间:
  7. SQL>CREATE SMALLFILE TABLESPACE "TEST" DATAFILE '+DATADB/ORCL/DATAFILE/test001.dbf' SIZE 1024M AUTOEXTEND ON NEXT 500M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
  8. 添加TEST表空间中的存储test001.dbf文件在ASM的+DATADB/ORCL/DATAFILE/目录下,初始大小为1G,自动500MB扩展不做限制。
  9. 增加表空间:
  10. alter tablespace CP_TM add datafile '+DATADB/orcl/datafile/cp_tm_08.dbf' size 20480M; RAC方式给CP_TM表空间增加cp_tm_08.dbf数据文件大小为20G。
  11. alter tablespace CP_TM add datafile +DATADB/orcl/datafile/cp_tm_09.dbf' size 10240M autoextend on next 50m maxsize 20480;
  12. RAC增加表空间cp_tm_-09.dbf初始为10G,按50M增加最大到20G。
复制代码
十二、语法简汇

集群信息grid和oracle用户都可以执行
10.1、数据库与实例:

列出所有的配置数据库
$ srvctl config database

检查数据库相关的信息 (-d参数后面是您server_name)
$ srvctl config database -d orcl -a

$ srvctl config database -d orcl -t
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

srvctl status database -d RAC # 检查数据库的状态
srvctl status instance -d RAC -i rac1 #检查指定实例的状态
srvctl start database -d rac # 启动数据库
srvctl stop database -d rac # 关闭数据库
srvctl start instance -d rac -i rac1 # 启动指定的实例
srvctl stop instance -d rac -i rac2 # 关闭指定实例

ASM状态
$ srvctl status asm
ASM配置
$ srvctl status asm -a

10.2、网络相关的命令
TNS监听器状态以及配置
$ srvctl status listener #检查TNS listener的状态
$ srvctl config listener -a #检查TNS listener的配置
$ srvctl start listener #开启监听
$ srvctl stop listener #停掉监听
$ srvctl stop listener -n redhat212 #停掉指定节点监听
$ srvctl start listener -n redhat212 #启动指定节点监听

SRVCTL的参数-n 实例节点名,不是实例sid

查看某个节点ASM信息
srvctl config listener -n node2
rhel7.4安装oracle 11G 11.2.0.4.0 RAC

SCAN状态以及配置
$ srvctl status scan
$ srvctl config scan

VIP各个节点的状态以及配置
$ srvctl status vip -n rac1
$ srvctl status vip -n rac2

$ srvctl config vip -n rac1
$ srvctl config vip -n rac2

节点应用程序配置(VIP、GSD、ONS、监听器)
$ srvctl config nodeapps -a -g-s -l

10.3、查看集群状态(nodeapps节点应用程序,ASM实例,数据库等)
$ crs_stat -t
状态检查也可以使用如下命令:
crsctl stat resource –t 或者 crsctl stat resource

番外
  1. 这里还要强调一下11.2.0.1版本的一个bug,就是客户端无法通过scan连接到数据库解决方法如下:
  2. [oracle@redhat212 ~]$ sqlplus / as sysdba
  3. SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 19 11:29:58 2014
  4. Copyright (c) 1982, 2009, Oracle. All rights reserved.
  5. Connected to:
  6. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  7. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
  8. Data Mining and Real Application Testing options
  9. SQL> show parameter local_listener
  10. NAME TYPE VALUE
  11. ------------------------------------ ----------- ------------------------------
  12. local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
  13. DRESS=(PROTOCOL=TCP)(HOST=redhat212
  14. -vip)(PORT=1521))))
  15. SQL> show parameter remot_listener;
  16. NAME TYPE VALUE
  17. ------------------------------------ ----------- ------------------------------
  18. remote_dependencies_mode string TIMESTAMP
  19. remote_listener string clusterscan:1521
  20. remote_login_passwordfile string EXCLUSIVE
  21. remote_os_authent boolean FALSE
  22. remote_os_roles boolean FALSE
  23. result_cache_remote_expiration integer 0
  24. SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))))' sid='orcl1';
  25. System altered.
  26. SQL> alter system set remote_listener='clusterscan:1521';
  27. System altered.
  28. SQL> alter system register;
  29. System altered.
  30. 最后配置客户端tnsname.ora文件指向scan listener
  31. #tnsnames.ora.rac1 Network Configuration File: /u01/app/11.2.0/grid/network/admin/tnsnames.ora.rac1
  32. #Generated by Oracle configuration tools.
  33. ORCL =
  34. (DESCRIPTION =
  35. (ADDRESS_LIST =
  36. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.216)(PORT = 1521))
  37. )
  38. (CONNECT_DATA =
  39. (SERVICE_NAME = orcl)
  40. )
  41. )
复制代码


回复

使用道具 举报