OS环境:
[root@rac12c1 ~]# uname -a Linux rac12c1 3.8.13-55.1.6.el7uek.x86_64 #2 SMP Wed Feb 11 14:18:22 PST 2015 x86_64 x86_64 x86_64 GNU/Linux
IP规划:
[root@rac12c1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # Public IP for Oracle 12C RAC 172.16.30.221 rac12c1.localdomain rac12c1 172.16.30.222 rac12c2.localdomain rac12c2 # Private IP for Oracle 12C RAC 192.168.30.221 rac12c1pri.localdomain rac12c1pri 192.168.30.222 rac12c1pri.localdomain rac12c2pri # Virtual IP for Oracle 12C RAC 172.16.30.223 rac12c1vip.localdomain rac12c1vip 172.16.30.224 rac12c2vip.localdomain rac12c2vip #SCAN 172.16.30.225 rac12c-scan.localdomain rac12c-scan
禁用Selinux:
[root@rac12c1 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@rac12c1 ~]# setenforce 0
修改/dev/shm大小为8G
tmpfs /dev/shm tmpfs rw,exec,size=2048M 0 0 [root@rac12c1 ~]# mount -o remount /dev/shm/
禁用防火墙:
[root@rac12c1 ~]# systemctl start firewalld.service [root@rac12c1 ~]# systemctl stop firewalld.service [root@rac12c1 ~]# ]# systemctl disable firewalld.service rm '/etc/systemd/system/basic.target.wants/firewalld.service' rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
重启各个节点操作系统,检查各个节点网络连通性:
[root@rac12c1 ~]# ping rac12c2pri [root@rac12c1 ~]# ping rac12c2
,,,
配置YUM:
[root@rac12c1 ~]# cat /etc/yum.repos.d/base.repo [ol7_latest] name=Oracle Linux $releasever Latest ($basearch) baseurl=file:///mnt gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle gpgcheck=0 enabled=1
安装oracle相关的依赖包:
[root@rac12c1 ~]# yum install oracle-rdbms-server-12cR1-preinstall –y
创建用户组和用户,上步操作依据创建了oinstall 54321 dba 54322用户组)和用户oracle(54321),所以执行如下操作创建相关的用户组和用户
添加组
[root@rac12c1 ~]# groupadd -g 54323 oper [root@rac12c1 ~]# groupadd -g 54325 asmdba [root@rac12c1 ~]# groupadd -g 54328 asmadmin [root@rac12c1 ~]# groupadd -g 54329 asmoper
添加grid用户
[[root@rac12c1 ~]# useradd -u 54322 -g oinstall -G dba,asmdba,asmadmin,asmoper grid
为oracle和grid用户设置密码
[root@rac12c1~]# passwd oracle [root@rac12c1~]# passwd grid
确保oracle是oper,asmdba组成员
[root@rac12c1 ~]# usermod -g oinstall -G dba,oper,asmdba oracle
修改用户资源限制:grid soft nofile 1024
grid hard nofile 65536 grid soft nproc 16384 grid hard nproc 16384 grid soft stack 10240 grid hard stack 32768 grid hard memlock 134217728 grid soft memlock 134217728 # # # Oracle user oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 13217728 oracle soft memlock 134217728 # End of file
修改内核参数,
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
[root@rac12c1 ~]# /sbin/sysctl -p
安装 oracleasm-support and oracleasmlib,配置共享磁盘。
[root@rac12c1 ~]# rpm -qa | grep oracleasm kmod-oracleasm-2.0.8-8.el7.x86_64 oracleasm-support-2.1.8-3.el7.x86_64 oracleasmlib-2.0.8-2.el7.x86_64
http://www.oracle.com/technetwork/server-storage/linux/asmlib/ol7-2352094.html 下载ASMLIB包。
[root@rac12c1 ~]# /etc/init.d/oracleasm configure -i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hittingwithout typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface [grid]: grid Default group to own the driver interface [asmadmin]: asmadmin Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ]
[root@rac12c1 ~]# /usr/sbin/oracleasm configure ORACLEASM_UID=grid ORACLEASM_GID=asmadmin ORACLEASM_SCANBOOT=true ORACLEASM_SCANORDER="" ORACLEASM_SCANEXCLUDE="" ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
[root@rac12c1 ~]# tail -2 /etc/pam.d/login session required /lib64/security/pam_limits.so session required pam_limits.so
配置DNS:
[root@rac12c1 ~]# vim /etc/resolv.conf # Generated by NetworkManager search localdomain
禁用NTP服务:
[root@rac12c1 ~]#/sbin/service ntpd stop [root@rac12c1 ~]#chkconfig ntpd off [root@rac12c1 ~]#mv /etc/ntp.conf /etc/ntp.conf.org [root@rac12c1 ~]#rm /var/run/ntpd.pid
建立安装目录:
[root@rac12c1 ~]#mkdir -p /u01/app/12.1.0/grid [root@rac12c1 ~]#mkdir -p /u01/app/grid [root@rac12c1 ~]#mkdir -p /u01/app/oracle [root@rac12c1 ~]#mkdir -p /u01/app/oracle/product/12.1.0/db_1 [root@rac12c1 ~]#chown -R grid:oinstall /u01 [root@rac12c1 ~]#chown -R oracle:oinstall /u01/app/oracle [root@rac12c1 ~]## chmod -R 775 /u01/
分区,配置共享磁盘:
[oracle@rac12c1 ~]$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 Aug 21 18:33 /dev/sda brw-rw---- 1 root disk 8, 1 Aug 21 18:33 /dev/sda1 brw-rw---- 1 root disk 8, 2 Aug 21 18:33 /dev/sda2 brw-rw---- 1 root disk 8, 3 Aug 21 18:33 /dev/sda3 brw-rw---- 1 root disk 8, 16 Aug 22 20:27 /dev/sdb brw-rw---- 1 root disk 8, 17 Aug 22 20:27 /dev/sdb1 brw-rw---- 1 root disk 8, 32 Aug 21 22:47 /dev/sdc brw-rw---- 1 root disk 8, 33 Aug 21 22:47 /dev/sdc1 brw-rw---- 1 root disk 8, 48 Aug 21 22:47 /dev/sdd brw-rw---- 1 root disk 8, 49 Aug 21 22:47 /dev/sdd1 brw-rw---- 1 root disk 8, 64 Aug 21 22:47 /dev/sde brw-rw---- 1 root disk 8, 65 Aug 21 22:47 /dev/sde1 [oracle@rac12c1 ~]$ /etc/init.d/oracleasm createdisk CRS /dev/sdc1 [oracle@rac12c1 ~]$ /etc/init.d/oracleasm createdisk DATA1 /dev/sd1 [oracle@rac12c1 ~]$ /etc/init.d/oracleasm createdisk DATA2 /dev/sde1 [root@rac12c1 ~]# /etc/init.d/oracleasm scandisks Scanning the system for Oracle ASMLib disks: [ OK ] [root@rac12c1 ~]# /etc/init.d/oracleasm listdisks CRS DATA1 DATA2
另外一个节点,扫描共享磁盘。
配置用户环境变量:
[root@rac12c1 ~]# cat /home/grid/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/12.1.0/grid export ORACLE_SID=+ASM1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export DISPLAY=:0.0 umask=022 alias asmcmd='rlwrap asmcmd' [root@rac12c1 ~]# cat /home/oracle/.bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH PATH=$PATH:$HOME/bin export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1 export ORACLE_SID=crmdb1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export DISPLAY=:0.0 umask=022 export PATH alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
安装cvuqdisk软件包
[root@rac12c1 ~]# rpm -ivh cvuqdisk-1.0.9-1.rpm
开始安装GRID=》安装数据软件=>安装数据库。
[grid@rac12c1 rpm]$ crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.CRS.dg ONLINE ONLINE rac12c1 STABLE ONLINE ONLINE rac12c2 STABLE ora.DATA.dg ONLINE ONLINE rac12c1 STABLE ONLINE ONLINE rac12c2 STABLE ora.LISTENER.lsnr ONLINE ONLINE rac12c1 STABLE ONLINE ONLINE rac12c2 STABLE ora.asm ONLINE ONLINE rac12c1 Started,STABLE ONLINE ONLINE rac12c2 Started,STABLE ora.net1.network ONLINE ONLINE rac12c1 STABLE ONLINE ONLINE rac12c2 STABLE ora.ons ONLINE ONLINE rac12c1 STABLE ONLINE ONLINE rac12c2 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac12c1 STABLE ora.MGMTLSNR 1 ONLINE ONLINE rac12c1 169.254.109.218 192. 168.30.221,STABLE ora.crmdb.db 1 ONLINE ONLINE rac12c2 Open,STABLE 2 ONLINE ONLINE rac12c1 Open,STABLE ora.cvu 1 ONLINE ONLINE rac12c1 STABLE ora.mgmtdb 1 ONLINE ONLINE rac12c1 Open,STABLE ora.oc4j 1 ONLINE ONLINE rac12c1 STABLE ora.rac12c1.vip 1 ONLINE ONLINE rac12c1 STABLE ora.rac12c2.vip 1 ONLINE ONLINE rac12c2 STABLE ora.scan1.vip 1 ONLINE ONLINE rac12c1 STABLE -------------------------------------------------------------------------------- [oracle@rac12c1 ~]$ srvctl status database -d crmdb Instance crmdb1 is running on node rac12c1 Instance crmdb2 is running on node rac12c2
SQL> select a.name,a.open_mode,b.instance_name from gv$database a,gv$instance b where a.inst_id=b.inst_id; NAME OPEN_MODE INSTANCE_NAME --------- -------------------- ---------------- CRMDB READ WRITE crmdb1 CRMDB READ WRITE crmdb2 SQL> select * from v$version where rownum=1; BANNER CON_ID ---------------------------------------------------------------------------------------------------- ---------- Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
===end====