共計(jì) 11975 個(gè)字符,預(yù)計(jì)需要花費(fèi) 30 分鐘才能閱讀完成。
這篇文章主要為大家展示了“Linux 下 Oracle 11.2.0.1 RAC 如何安裝”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux 下 Oracle 11.2.0.1 RAC 如何安裝”這篇文章吧。
操作系統(tǒng)是 Oracle Enterprise Linux 5,兩個(gè)節(jié)點(diǎn) rac1 和 rac2,網(wǎng)卡 eth0 作為 public,eth2 作為 private,假設(shè)之前已添加一塊 20G 容量的共享磁盤。
關(guān)于 Oracle Enterprise Linux 下載,可以在 https://edelivery.oracle.com/osdc/faces/Home.jspx 登陸后下載。
主機(jī)配置
所有命令在 root 用戶下執(zhí)行。
配置共享存儲(chǔ)。共享存儲(chǔ)可視為 /dev/sdb 設(shè)備。將使用 fdisk 命令創(chuàng)建兩個(gè) 10G 大小的兩個(gè)分區(qū)。兩個(gè)新的分區(qū)將用于 ASM。
--list devices ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb
--add two partitions
fdisk /dev/sdb
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Partition number (1-4): 1 First cylinder (1-2610, default 1):
Using default value 1 Last cylinder or +size or +sizeM
or +sizeK (1-2610, default 2610): +10240M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
Partition number (1-4): 2 First cylinder (1247-2610, default 1247):
Using default value 1247 Last cylinder or +size or +sizeM or +sizeK (1247-2610, default 2610):
Using default value 2610 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.
--list new partitions
fdisk -l /dev/sdb
Disk /dev/sdb: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/sdb1 1 1246 10008463+ 83 Linux /dev/sdb2 1247 2610 10956330 83 Linux
添加組
--required groups /usr/sbin/groupadd -g 501 oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 503 oper
添加 Oracle 用戶
/usr/sbin/useradd -u 502 -g oinstall -G dba oracle
修改 Oracle 用戶密碼
passwd oracle
在 /etc/sysctl.conf 下添加內(nèi)核參數(shù)
#kernel parameters for 11g installation
kernel.shmmni = 4096 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.sem = 250 32000 100 128 fs.aio-max-nr = 1048576 fs.file-max = 6815744 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 = 1048586
應(yīng)用內(nèi)核參數(shù)
/sbin/sysctl -p
為用戶 Oracle 在 /etc/security/limits.conf 文件中添加以下行以設(shè)置 shell 限制
--shell limits for users oracle 11gR2
oracle soft nproc 131072 oracle hard nproc 131072 oracle soft nofile 131072 oracle hard nofile 131072 oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000 oracle hard memlock 50000000
“/ etc / hosts”文件必須包含服務(wù)器的完全限定名稱。
IP-address fully-qualified-machine-name machine-name
“/ etc / hosts”下輸入以下數(shù)據(jù)
127.0.0.1 localhost.localdomain localhost
#public 192.168.0.50 rac1.dbaora.com rac1 192.168.0.51 rac2.dbaora.com rac2
#private 192.168.1.60 rac1-priv.dbaora.com rac1-priv 192.168.1.61 rac2-priv.dbaora.com rac2-priv
#virtual 192.168.0.70 rac1-vip.dbaora.com rac1-vip 192.168.0.71 rac2-vip.dbaora.com rac2-vip
#scan 192.168.0.20 rac-scan.dbaora.com rac-scan
驗(yàn)證 rac1.dbaora.com 上的 th0 和 eth2 的網(wǎng)絡(luò)響應(yīng)
[root@rac1 ~]# ping rac1 -c 1 PING rac1.dbaora.com (192.168.0.50) 56(84) bytes of data. 64 bytes from rac1.dbaora.com (192.168.0.50):
icmp_seq=1 ttl=64 time=0.032 ms --- rac1.dbaora.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.032/0.032/0.032/0.000 ms
[root@rac1 ~]# ping rac1-priv -c 1 PING rac1-priv.dbaora.com (192.168.1.60) 56(84) bytes of data. 64 bytes from rac1-priv.dbaora.com (192.168.1.60):
icmp_seq=1 ttl=64 time=0.036 ms --- rac1-priv.dbaora.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.036/0.036/0.036/0.000 ms
檢查哪些軟件包已安裝,哪些軟件包缺失
rpm -q --qf %{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \ gcc \ gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \ make \
sysstat \
unixODBC \
unixODBC-devel
安裝缺失的包。這只是一個(gè)例子:
#directory with mounted Oracle Enterprise Linux 5 install disk
cd path with Oracle Enterprise Linux 5 /Server/Packages
#install missed packages (example for package unixODBC*)
rpm -Uvh unixODBC*
禁用 Secure Linux
要禁用 Secure Linux 編輯“/etc/selinux/config”文件,確保 SELINUX 設(shè)置如下,它需要重啟才能有效。
SELINUX=disabled
禁用 Firewall
可以在圖形模式下或手動(dòng)禁用防火墻。
執(zhí)行下面的命令手動(dòng)禁用
service iptables stop
chkconfig iptables off
更改 NTP
需要禁用 NTP(Network Time Protocol)或修改其設(shè)置,以便 Oracle Cluster Time Synchronization Service(ctssd)可以同步 RAC 節(jié)點(diǎn)的時(shí)間。
選項(xiàng) 1 – 禁用 NTP
service ntpd stop
Shutting down ntpd: [ OK ]
chkconfig ntpd off mv /etc/ntp.conf /etc/ntp.conf.orig rm /var/run/ntpd.pid
選項(xiàng) 2 – 更改 NTP
如果要保留 NTP,請(qǐng)?jiān)凇?etc/sysconfig/ntpd”文件中添加“-x”選項(xiàng)。
OPTIONS= -x -u ntp:ntp -p /var/run/ntpd.pid
并重新啟動(dòng) NTP
# service ntpd restart
在操作系統(tǒng)安裝過程中,可以禁用 SElinux、Firewall,不啟動(dòng) NTP,這樣在主機(jī)配置中可省略。
目錄
創(chuàng)建 ORACLE_BASE
mkdir -p /ora01/app/oracle
為 grid 和 database 軟件創(chuàng)建 ORACLE_HOME
mkdir -p /ora01/app/oracle
/product/11.2.0/db_1 mkdir -p /ora01/app/grid/product/11.2.0/grid chown oracle:oinstall -R /ora01 chmod 775 /ora01/app/oracle
Oracle 用戶新的配置文件
修改 Oracle 配置文件 /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/bin
export PATH
alias genv= . /home/oracle/.bash_profile_grid;envo alias denv= . /home/oracle/.bash_profile_database;envo . /home/oracle/.bash_profile_database
envo
這里添加了兩個(gè)別名:genv 和 denv,這樣可以方便地切換 grid 和 database 軟件環(huán)境。
為 Oracle 用戶添加新的配置文件 /home/oracle/.bash_profile_grid。此配置文件將用于 grid 軟件。
# Oracle Settings
export TMP=/tmp
export ORACLE_HOSTNAME=rac1.dbaora.com
export ORACLE_UNQNAME=+ASM
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
export ORACLE_SID=+ASM1
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
alias cdob= cd $ORACLE_BASE alias cdoh= cd $ORACLE_HOME alias tns= cd $ORACLE_HOME/network/admin alias envo= env | grep ORACLE
為 Oracle 用戶添加新的參數(shù)文件 /home/oracle/.bash_profile_database. 此配置文件將用于 database 軟件。
# Oracle Settings
export TMP=/tmp
export ORACLE_HOSTNAME=rac1.dbaora.com
export ORACLE_UNQNAME=ORA11G
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ORA11G1
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
alias cdob= cd $ORACLE_BASE alias cdoh= cd $ORACLE_HOME alias tns= cd $ORACLE_HOME/network/admin alias envo= env | grep ORACLE umask 022
在 rac2 中,將兩個(gè)參數(shù)文件的 ORACLE_HOSTNAME 和 ORACLE_SID 更改為本服務(wù)器的參數(shù)值。
記住修改所有配置文件的所有者
chown oracle:oinstall /home/oracle/.bash* chmod 750 oracle:oinstall /home/oracle/.bash*
作為 oracle 用戶解壓 database 和 grid 軟件。創(chuàng)建 2 個(gè)目錄:
database – database software
grid – grid software
切換到 grid 軟件環(huán)境,以 root 用戶身份安裝軟件包 cvuqdisk-1.0.9-1.rpm
cd install grid software /rpm
[root@rac1 rpm]# rpm -Uvh cvuqdisk-1.0.9-1.rpm
Preparing... ############################## [100%]
Using default group oinstall to install package 1:cvuqdisk ############################## [100%]
配置 ASM 設(shè)備
要配置 ASMlib,首先需要從 OTN 下載 ASMLib rpms。如果使用的是 UEK 內(nèi)核,則所有必需的 rpms 都已安裝。
oracleasm-support-2.1.8-1.el5.i386.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-[your-kernel-version].rpm
關(guān)于 oracleasm-supper 和 orcleasmlib 軟件包版本,可以根據(jù)操作系統(tǒng)版本從 http://www.oracle.com/technetwork/server-storage/linux/asmlib/index-101839.html 下載軟件包。
而 oracleasm 軟件包要根據(jù)操作系統(tǒng)內(nèi)核參數(shù)來決定:
name -a
這里是 Oracle 通過配置 YUM 來安裝 oracleasm 軟件包的鏈接:
http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html
使用以下命令安裝軟件包
rpm -Uvh oracleasm*.rpm
安裝完成后可以通過 rpm -qa | grep oracleasm 命令驗(yàn)證。
配置 SMlib
[root@rac1 ~]# /usr/sbin/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 ([] ). Hitting ENTER without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
加載 asm 內(nèi)核模塊
[root@rac1 ~]# /usr/sbin/oracleasm init
Loading module oracleasm : oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
添加 ASM 磁盤
[root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
Writing disk header: done Instantiating disk: done [root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK2 /dev/sdb2
Writing disk header: done Instantiating disk: done
掃描 ASM 磁盤
[root@rac1 ~]# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done Cleaning any stale ASM disks...
Scanning system for ASM disks...
列出 ASM 磁盤
[root@rac1 ~]# /usr/sbin/oracleasm listdisks
DISK1
DISK2
這里是使用 oracleasm 配置 ASM 磁盤,也可以同過 udev 來配置,在使用 oracleasm 時(shí)遇到一些 bug,推薦使用 udev。
現(xiàn)在在每個(gè)節(jié)點(diǎn)上運(yùn)行下面命令驗(yàn)證網(wǎng)絡(luò):rac1.dbaora.com 和 rac2.dbaora.com
hostname ping rac1 -c 1 ping rac2 -c 1 ping rac1-priv -c 1 ping rac2-priv -c 1
安裝 grid 軟件
以用戶 oracle 啟動(dòng) grid 軟件安裝,在此之前以 root 身份運(yùn)行命令 xhost +。
xhost + access control disabled, clients can connect from any host
設(shè)置 grid 環(huán)境并運(yùn)行 grid 安裝軟件
su - oracle
[oracle@rac1 ~]$ genv
ORACLE_UNQNAME=+ASM
ORACLE_SID=+ASM1
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=rac1.dbaora.com
ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid --run installation
cd install grid software ./runInstall
關(guān)于安裝過程,可以根據(jù)實(shí)際需要選擇,這里省略。
這里如果是使用 linux 6 以上版本,在最后執(zhí)行 root.sh 腳本時(shí),會(huì)用一個(gè) BUG,具體解決方法如下
1. 刪除配置:
/ora01/app/grid/product/11.2.0/gridl/roothas.pl -deconfig -force-verbose
路徑是 grid 環(huán)境的 ORACLE_HOME。
出現(xiàn) Adding daemon to inittab 這條信息的時(shí)候執(zhí)行 dd 命令
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
如果是安裝 11.2.0.1 的話,還是建議 使用 linux 5 的版本。
ASM configuration assistant
到目前為止,只創(chuàng)建了一個(gè) ASM 組 DATA。下面展示如何快速添加額外的組到 ASM 實(shí)例。
在以 Oracle 用戶啟動(dòng) ASMCA 之前,切換到 root 用戶執(zhí)行 xhost + 命令。
ASMCA – ASM configuration assistant 是 grid 軟件的一部分,因此必須設(shè)置正確的環(huán)境
su - oracle
[oracle@rac1 ~]$ genv
ORACLE_UNQNAME=+ASM
ORACLE_SID=+ASM1
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=rac1.dbaora.com
ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
[oracle@rac1 ~]$ asmca
根據(jù)需要一步步執(zhí)行就可以了,安裝步驟省略。
在你可以在 sqlplus 中驗(yàn)證你有 2 個(gè) ASM 組。
[oracle@rac1 ~]$ sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Sun Jun 16 22:39:11 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter user-name: / as sysasm
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit
Production With the Automatic Storage Management option
SQL select name from v$asm_diskgroup;
NAME ------------------------------ DATA
BACKUP
安裝 Database 軟件
作為 Oracle 用戶開始 database 軟件安裝。設(shè)置 database 軟件愛你環(huán)境
su - oracle
[oracle@rac1 ~]$ denv
ORACLE_UNQNAME=ORA11G
ORACLE_SID=ORA11G1
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=rac1.dbaora.com
ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1 --run installation
cd install database software ./runInstall
安裝步驟省略。
在安裝過程中,遇到一個(gè)有關(guān)監(jiān)聽器的問題,提示
default listener is not configured in grid infrastructure home
解決方法鏈接 http://www.linuxidc.com/Linux/2017-08/146057.htm
驗(yàn)證 RAC 安裝
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ genv
ORACLE_UNQNAME=+ASM
ORACLE_SID=+ASM1
ORACLE_BASE=/ora01/app/oracle
ORACLE_HOSTNAME=rac1.dbaora.com
ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
[oracle@rac1 ~]$ srvctl config database -d ORA11G
Database unique name: ORA11G
Database name: ORA11G
Oracle home: /ora01/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/ORA11G/spfileORA11G.ora
Domain: dbaora.com
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: ORA11G
Database instances: ORA11G1,ORA11G2
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is administrator managed
[oracle@rac1 ~]$ srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): rac2,rac1
[oracle@rac1 ~]$ srvctl status asm
ASM is running on rac2,rac1
[oracle@rac1 ~]$ srvctl status database -d ORA11G
Instance ORA11G1 is running on node rac1
Instance ORA11G2 is running on node rac2
以上是“Linux 下 Oracle 11.2.0.1 RAC 如何安裝”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!