Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Installation Oracle11gR2 RAC One Node-Environment deployment

2025-03-31 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

Chapter 1, deployment of basic environment

1.1. Environment

Operating system: SuSE Linux Enterprise Server 11SP2

Database: Oracle 11gR2 (112040)

Node 1

Hostname: node1

Ip address:

192.168.1.30 node1

192.168.1.50 node1-vip

10.10.10.30 node1-priv

ORACLE_SID:ORACLE_1

Node 2

Hostname: node2

Ip address:

192.168.1.31 node2

192.168.1.51 node2-vip

10.10.10.31 node2-priv

ORACLE_SID:ORACLE_2

SCANIP: 192.168.1.41 my-cluster my-cluster-scan

Shared storage:

Device name

Size

Action

/ dev/sdb

2g

OCR_VOTE

/ dev/sdc

10g

Database archive log

/ dev/sdd

20g

Database file

1.2. Create an account

Create the following accounts on both servers.

Groupadd-g 1000 oinstall

Groupadd-g 1200 asmadmin

Groupadd-g 1201 asmdba

Groupadd-g 1202 asmoper

Useradd-m-u 1100-goinstall-G asmadmin,asmdba,asmoper-d / home/grid-s / bin/bash grid

Groupadd-g 1300 dba

Groupadd-g 1301oper

Useradd-m-u 1101-goinstall-G dba,oper,asmdba-d / home/oracle-s / bin/bash oracle

Mkdir-p / u01/app/grid

Mkdir-p / u01/app/11.2.0/grid

Chown-R grid:oinstall/u01

Mkdir-p / u01/app/oracle

Chown-R oracle:oinstall/u01/app/oracle

Chmod-R 775 / U01

Passwd oracle

1.3.Configuring hosts files

Configure two server hosts files.

# vi / etc/hosts

192.168.1.30 node1

192.168.1.50 node1-vip

10.10.10.30 node1-priv

192.168.1.31 node2

192.168.1.51 node2-vip

10.10.10.31 node2-priv

192.168.1.41 my-cluster my-cluster-scan

1.4.Install required rpm packages

Both nodes view the required rpm packages and install the required rpm packages.

# rpm-q binutils gcc gcc-32bit gcc-c++ glibc glibc-32bitglibc-devel glibc-devel-32bit ksh libaio libaio-32bit libaio-devellibaio-devel-32bit libstdc++33 libstdc++33-32bitlibstdc++43 libstdc++43- 32bitlibstdc++43-devel libstdc++43-devel-32bit libgcc43 libstdc++-devel make sysstatunixODBC unixODBC-devel unixODBC-32bit unixODBC-devel-32bit libcap1

Binutils-2.23.1-0.17.18

Gcc-4.3-62.198

Gcc-32bit-4.3-62.198

Gcc-c++-4.3-62.198

Glibc-2.11.3-17.54.1

Glibc-32bit-2.11.3-17.54.1

Glibc-devel-2.11.3-17.54.1

Glibc-devel-32bit-2.11.3-17.54.1

Ksh-93u-0.18.1

Libaio-0.3.109-0.1.46

Libaio-32bit-0.3.109-0.1.46

Libaio-devel-0.3.109-0.1.46

Libaio-devel-32bit-0.3.109-0.1.46

Libstdc++33-3.3.3-11.9

Libstdc++33-32bit-3.3.3-11.9

Libstdc++43-4.6.9-0.11.38

Libstdc++43-32bit-4.6.9-0.11.38

Libstdc++43-devel-4.3.4_20091019-0.37.30

Libstdc++43-devel-32bit-4.3.4_20091019-0.37.30

Libgcc43-4.6.9-0.11.38

Libstdc++-devel-4.3-62.198

Make-3.81-128.20

Sysstat-8.1.5-7.45.24

UnixODBC-2.2.12-198.17

UnixODBC-devel-2.2.12-198.17

UnixODBC-32bit-2.2.12-198.17

UnixODBC-devel-32bit-2.2.12-198.17

Libcap1-1.10-6.10

1.5. Modify kernel parameters

Set kernel parameters for two servers

# vi / etc/sysctl.conf

Net.ipv4.icmp_echo_ignore_broadcasts = 1

Net.ipv4.conf.all.rp_filter = 1

Fs.inotify.max_user_watches = 65536

Net.ipv4.conf.default.promote_secondaries = 1

Net.ipv4.conf.all.promote_secondaries = 1

Fs.aio-max-nr = 1048576

Fs.file-max = 6815744

Kernel.shmall = 2097152

Kernel.shmmax = 536870912

Kernel.shmmni = 4096

Kernel.sem = 250 32000 100 128

Net.ipv4.ip_local_port_range = 9000 65500

Net.core.rmem_default = 262144

Net.core.rmem_max = 4194304

Net.core.wmem_default = 262144

Net.core.wmem_max = 1048576

Vm.hugetlb_shm_group= 1000 # here is oinstall group number

1.6. set the restrictions of Shell on Oracle and grid users

Vi / etc/security/limits.conf

Oracle soft nproc 2047

Oracle hard nproc 16384

Oracle soft nofile 1024

Oracle hard nofile 65536

Grid soft nproc 2047

Grid hard nproc 16384

Grid soft nofile 1024

Grid hard nofile 65536

Edit / etc/pam.d/login and add the following:

Vi / etc/pam.d/login

Session required pam_limits.so

1.7. disable the NTP service

Disable NTP services on both servers

Service ntp stop

Chkconfig ntp off

Mv / etc/ntp.conf / etc/ntp.conf.bak

1.8user environment variables of grid

Node 1

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME

ORACLE_PATH=/u01/app/oracle/common/oracle/sql; exportORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG

PATH=$ {PATH}: $HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch

PATH=$ {PATH}: / usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=$ {PATH}: / u01/app/common/oracle/bin

Export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: $ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: / lib:/usr/lib:/usr/local/lib

Export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/rdbms/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/network/jlib

Export CLASSPATH

Export TEMP=/tmp

Export TMPDIR=/tmp

If [$USER = "oracle"] | | [$USER = "grid"]; then

If [$SHELL = "/ bin/ksh"]; then

Ulimit-p16384

Ulimit-n 65536

Else

Ulimit-u 16384-n65536

Fi

Umask 022

Fi

Node 2

ORACLE_SID=+ASM2; export ORACLE_SID

ORACLE_BASE=/u01/app/grid; export ORACLE_BASE

ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME

ORACLE_PATH=/u01/app/oracle/common/oracle/sql; exportORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG

PATH=$ {PATH}: $HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch

PATH=$ {PATH}: / usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=$ {PATH}: / u01/app/common/oracle/bin

Export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: $ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: / lib:/usr/lib:/usr/local/lib

Export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/rdbms/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/network/jlib

Export CLASSPATH

Export TEMP=/tmp

Export TMPDIR=/tmp

If [$USER = "oracle"] | | [$USER = "grid"]; then

If [$SHELL = "/ bin/ksh"]; then

Ulimit-p 16384

Ulimit-n65536

Else

Ulimit-u 16384-n65536

Fi

Umask 022

Fi

1.9. Oracle user environment variables

Node 1

ORACLE_SID=ORACLE_1; export ORACLE_SID

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; exportORACLE_HOME

ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG

PATH=$ {PATH}: $HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch

PATH=$ {PATH}: / usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=$ {PATH}: / u01/app/common/oracle/bin

Export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: $ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: / lib:/usr/lib:/usr/local/lib

Export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/rdbms/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/network/jlib

Export CLASSPATH

Export TEMP=/tmp

Export TMPDIR=/tmp

If [$USER = "oracle"] | | [$USER = "grid"]; then

If [$SHELL = "/ bin/ksh"]; then

Ulimit-p16384

Ulimit-n65536

Else

Ulimit-u 16384-n65536

Fi

Umask 022

Fi

Node 2

ORACLE_SID=ORACLE_2; export ORACLE_SID

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; exportORACLE_HOME

ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG

PATH=$ {PATH}: $HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch

PATH=$ {PATH}: / usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=$ {PATH}: / u01/app/common/oracle/bin

Export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: $ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=$ {LD_LIBRARY_PATH}: / lib:/usr/lib:/usr/local/lib

Export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/rdbms/jlib

CLASSPATH=$ {CLASSPATH}: $ORACLE_HOME/network/jlib

Export CLASSPATH

Export TEMP=/tmp

Export TMPDIR=/tmp

If [$USER = "oracle"] | | [$USER = "grid"]; then

If [$SHELL = "/ bin/ksh"]; then

Ulimit-p16384

Ulimit-n65536

Else

Ulimit-u 16384-n65536

Fi

Umask 022

Fi

1.10. Configure asm disk

Node1:/etc/udev/rules.d# fdisk-l

Disk/dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000b4c72

DeviceBoot Start End Blocks Id System

/ dev/sda1 * 2048 401407 199680 83 Linux

/ dev/sda2 401408 8787967 4193280 82 Linux swap / Solaris

/ dev/sda3 8787968 83859455 37535744 83 Linux

Disk/dev/sdb: 2097 MB, 2097152000 bytes

65 heads, 62 sectors/track, 1016 cylinders, total 4096000 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk/dev/sdb doesn't contain a valid partition table

Disk/dev/sdc: 10.5 GB, 10485760000 bytes

64 heads, 32 sectors/track, 10000 cylinders, total 20480000 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk/dev/sdc doesn't contain a valid partition table

Disk/dev/sdd: 21.0 GB, 20971520000 bytes

64 heads, 32 sectors/track, 20000 cylinders, total 40960000 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk/dev/sdd doesn't contain a valid partition table

Node1:/etc/udev/rules.d #

Add the edit / etc/scsi_id.config file and synchronize it to node 2.

Options=--whitelisted-replace-whitespace

Add Editor / etc/udev/rules.d/99-oracle-asmdevices.rules

Node1:~ # for i in b c d

> do

> echo "KERNEL==\" sd*\ ", SUBSYSTEM==\" block\ ", PROGRAM==\" / lib/udev/scsi_id-- whitelisted-- replace-whitespace--device=/dev/\

$name\ ", RESULT==\" `/ lib/udev/scsi_id-- whitelisted-- replace-whitespace--device=/dev/sd$ i`, NAME=\ "asm-disk$i\", OWNER=\ "grid

\ ", GROUP=\" asmadmin\ ", MODE=\" 0660\ "

> done

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id-whitelisted-replace-whitespace--device=/dev/$name"

RESULT== "2e8ced45878991f7f", NAME= "asm-diskb", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id-whitelisted-replace-whitespace--device=/dev/$name"

RESULT== "2ff5dd7058b0ffb40", NAME= "asm-diskc", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id-whitelisted-replace-whitespace-device=/dev/$name"

RESULT== "26c6d14a2e3aa5dd4", NAME= "asm-diskd", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

Modify the device alias to the desired device name and synchronize to node 2.

Node1:~ # cd / etc/udev/rules.d/

Node1:/etc/udev/rules.d # vi 99-oracle-asmdevices.rules

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id--whitelisted-replace-whitespace-device=/dev/$name"

RESULT== "2e8ced45878991f7f", NAME= "asmocr", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id-whitelisted-replace-whitespace--device=/dev/$name"

RESULT== "2ff5dd7058b0ffb40", NAME= "asmfra", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

KERNEL== "sd*", SUBSYSTEM== "block", PROGRAM== "/ lib/udev/scsi_id-whitelisted-replace-whitespace--device=/dev/$name"

RESULT== "26c6d14a2e3aa5dd4", NAME= "asmdata", OWNER= "grid", GROUP= "asmadmin", MODE= "0660"

"99-oracle-asmdevices.rules" 3L, 625Cwritten

Node1:/etc/udev/rules.d #

Unlike the RedHat series, SUSE requires a udevadm test test to see the newly generated device name, and Node 2 needs to be tested.

Node1:/etc/udev/rules.d# udevadm test / sys/block/sdb

Node1:/etc/udev/rules.d # udevadm test / sys/block/sdc

Node1:/etc/udev/rules.d # udevadm test / sys/block/sdd

Restart udev (make sure udev is running) and restart Node 2 page.

Node1:/etc/udev/rules.d # / etc/init.d/boot.udev restart

Restarting udevd: done

Node1:/etc/udev/rules.d #

View the generated device name

Node1:/dev # ll asm*

Brw-rw---- 1 grid asmadmin 8, 48 May 22 23:11 asmdata

Brw-rw---- 1 grid asmadmin 8, 32 May 22 23:11 asmfra

Brw-rw---- 1 grid asmadmin 8, 16 May 22 23:11 asmocr

Node1:/dev #

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report