In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
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.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.