下载软件:
CentOS-5.8-x86_64-bin-DVD-1of2.iso
CentOS-5.8-x86_64-bin-DVD-2of2.iso
linux.x64_11gR2_grid.zip
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
http://www.oracle.com/technetwork/server-storage/linux/asmlib/index-101839.html
http://oss.oracle.com/projects/oracleasm-support/dist/files/RPMS/rhel5/amd64/2.1.7/oracleasm-support-2.1.7-1.el5.x86_64.rpm
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el5.x86_64.rpm
https://oss.oracle.com/projects/oracleasm/dist/files/RPMS/rhel5/amd64/2.0.5/2.6.18-308.el5/oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm
https://oss.oracle.com/projects/ocfs2/dist/files/RedHat/RHEL5/x86_64/1.4.7-1/2.6.18-308.el5/ocfs2-2.6.18-308.el5-1.4.7-1.el5.x86_64.rpm
https://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL5/x86_64/1.4.4-1/ocfs2console-1.4.4-1.el5.x86_64.rpm
https://oss.oracle.com/projects/ocfs2-tools/dist/files/RedHat/RHEL5/x86_64/1.4.4-1/ocfs2-tools-1.4.4-1.el5.x86_64.rpm
存储及网络规划:
安装虚拟机:
1、详情见D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf
第34页— 第35页-;
2、安装centos realease 5.8,见http://www.osyunwei.com/archives/4881.html
双网卡绑定:
详情见D:\学 习\Linux\rhel5.8双网卡绑定.docx
导出已经安装好的虚拟机centos realease 5.8作为DNS服务器:
详情见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf
第54页;
安装配置DNS服务:
1、详情见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf
第29页----34页;
到挂载的光盘下进行安装 cd /media/CentOS_5.8_Final/CentOS
(1)、yum 安装:
yum install bind-libs bind bind-utils 该安装有问题
(2)、rmp -ivh 安装:
rpm -ivh bind-9.3.6-20.P1.el5.x86_64.rpm
rpm -ivh bind-chroot-9.3.6-20.P1.el5.x86_64.rpm
rpm -ivh caching-nameserver-9.3.6-20.P1.el5.x86_64.rpm
vim /etc/named.caching-nameserver.conf 如下:
options {
listen-on port 53 { 127.0.0.1; 192.168.1.88; };
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { localhost; 0.0.0.0/0; };
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; 0.0.0.0/0; };
match-destinations { localhost; };
recursion yes;
include “/etc/named.rfc1912.zones”;
};
如果启动时候需要的是 /etc/named.conf 文件,则执行如下操作:
cp /etc/named.caching-nameserver.conf /etc/named.conf
named-checkconf 检查/etc/named.conf 语法
vim /etc/named.rfc1912.zones 里加入:
zone “zerodb.com” IN {
type master;
file “zerodb.com”;
allow-update { none; };
};
zone “0.168.192.in-addr.arpa.” IN {
type master;
file “0.168.192.in-addr.arpa”;
allow-update { none; };
};
zone “10.0.10.in-addr.arpa.” IN {
type master;
file “10.0.10.in-addr.arpa”;
allow-update { none; };
};
新建正向解析文件:
vim /var/named/zerodb.com
$TTL 86400;
@ IN SOA mydns root.mydns (
42; serial (d. adams) serial number序列号
3H; refresh time 主辅之间刷新时间
15M; retry time 拉取信息不成功的重试时间
1W; expire time 过期时间,过期后辅服务器也将放弃解析
1D ); minimum
IN NS localhost
localhost IN A 172.0.0.1
mydns IN A 192.168.1.88
rac1 IN A 192.168.1.81
rac2 IN A 192.168.1.82
rac1-vip IN A 192.168.1.83
rac2-vip IN A 192.168.1.84
myscan IN A 192.168.1.85
myscan IN A 192.168.1.86
myscan IN A 192.168.1.87
rac1-priv1 IN A 10.0.10.1
rac1-priv2 IN A 10.0.10.2
rac2-priv1 IN A 10.0.10.3
rac2-priv2 IN A 10.0.10.4
检查区域文件:named-checkzone “zerodb.com” /var/named/zerodb.com
新建反向解析文件:
vim /var/named/0.168.192.in-addr.arpa
$ORIGIN 1.168.192.in-addr.arpa.
$TTL 1H
@ IN SOA mydns.zerodb. root.mydns.zerodb. ( 2
3H
1M
1W
1H )
@ IN NS zerodb.com.
88 IN PTR mydns.zerodb.com.
81 IN PTR rac1.zerodb.com.
82 IN PTR rac2.zerodb.com.
83 IN PTR rac1-vip.zerodb.com.
84 IN PTR rac2-vip.zerodb.com.
85 IN PTR myscan-vip.zerodb.com.
86 IN PTR myscan-vip.zerodb.com.
87 IN PTR myscan-vip.zerodb.com.
named-checkzone 1.168.192.in-addr.arpa /var/named/1.168.192.in-addr.arpa
启动报错:
执行 mv /var/named/zerodb.com /var/named/chroot/var/named/zerodb.com
和 mv /var/named/1.168.192.in-addr.arpa /var/named/chroot/var/named/1.168.192.in-addr.arpa
重启便可。
在rac1 上添加
再检查域名解析是否正常:
正常!
再新建反向解析文件:
vim /var/named/chroot/var/named/10.0.10.in-addr.arpa
$ORIGIN 10.0.10.in-addr.arpa.
$TTL 1H
@ IN SOA mydns.zerodb. root.mydns.zerodb. ( 2
3H
1M
1W
1H )
@ IN NS zerodb.com.
1 IN PTR rac1-priv1.zerodb.com.
2 IN PTR rac1-priv2.zerodb.com.
3 IN PTR rac2-priv1.zerodb.com.
4 IN PTR rac2-priv2.zerodb.com.
正常!
2、以上配置参考https://zhidao.baidu.com/question/208279765.html?qbl=relate_question_2&word=%C3%BB%D3%D0%20/etc/name.conf
http://zhishen.blog.51cto.com/1612050/1561017/
扩展swap交换空间:
格式新增的磁盘 fdisk /dev/sdb 为 /dev/sdb1
关闭交换空间:swapoff –a
格式化交换空间:mkswap /dev/sdb1
在 vim /etc/fstab 中添加
/dev/sdb1 swap swap defaults 0 0
启用新磁盘扩展的交换空间 swapon /dev/sdb1
安装 oracle 11.2需要的依赖包:
cd /media/CentOS_5.8_Final/CentOS 光盘rpm包
rpm -ivh binutils-2.17.50.0.6-20.el5.x86_64.rpm
rpm -ivh compat-libstdc+±33-3.2.3-61.x86_64.rpm
rpm -ivh elfutils-libelf-0.137-3.el5.x86_64.rpm
rpm -ivh elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
elfutils-libelf-devel-0.137-3.el5.x86_64.rpm (这两个包相互依赖所以这么一次性装)
rpm -ivh expat-1.95.8-8.3.el5_5.3.x86_64.rpm
rpm -ivh glibc-2.5-81.i686.rpm
rpm -ivh glibc-2.5-81.x86_64.rpm
rpm –ivh kernel-headers-2.6.18-308.el5.x86_64.rpm
rpm -ivh glibc-headers-2.5-81.x86_64.rpm
rpm -ivh glibc-devel-2.5-81.i386.rpm
rpm -ivh libaio-0.3.106-5.i386.rpm
rpm -ivh libaio-0.3.106-5.x86_64.rpm
rpm -ivh libaio-devel-0.3.106-5.i386.rpm
rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm
rpm -ivh libgcc-4.1.2-52.el5.i386.rpm
rpm –ivh libgcc-4.1.2-52.el5.x86_64.rpm
rpm –ivh libstdc+±4.1.2-52.el5.i386.rpm
rpm –ivh libstdc+±4.1.2-52.el5.x86_64.rpm
rpm -ivh libstdc+±devel-4.1.2-52.el5.x86_64.rpm
rpm –ivh make-3.81-3.el5.x86_64.rpm
rpm –ivh numactl-0.9.8-12.el5_6.x86_64.rpm
rpm –ivh pdksh-5.2.14-37.el5.x86_64.rpm
rpm -ivh sysstat-7.0.2-11.el5.x86_64.rpm
rpm -ivh unixODBC-libs-2.2.11-10.el5.i386.rpm
rpm -ivh unixODBC-2.2.11-10.el5.i386.rpm
rpm -ivh unixODBC-libs-2.2.11-10.el5.x86_64.rpm
rpm -ivh unixODBC-2.2.11-10.el5.x86_64.rpm
rpm -ivh unixODBC-devel-2.2.11-10.el5.i386.rpm
rpm -ivh unixODBC-devel-2.2.11-10.el5.x86_64.rpm
rpm -ivh gcc-4.1.2-52.el5.x86_64.rpm
rpm -ivh compat-libstdc+±33-3.2.3-61.i386.rpm
rpm -ivh glibc-devel-2.5-81.x86_64.rpm
rpm -ivh gcc-c+±4.1.2-52.el5.x86_64.rpm
参考资料:http://blog.chinaunix.net/uid-77311-id-4025101.html
配置内核参数:
vim /etc/sysctl.conf 修改或者增加如下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1349242060
kernel.shmmni = 4096
#从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI
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 = 1048586
以上参考资料:
http://blog.csdn.net/u010383786/article/details/55822996
sysctl –p 生效内核参数
设置时间同步:
关闭系统的NTP服务,用oracle grid infrastructure 提供的CTSS服务:
chkconfig ntpd off
service ntpd stop
mv /etc/ntp.conf /etc/ntp.conf-20170721bak
设置SSH登陆等待时间:
vim /etc/ssh/sshd_config 修改
LoginGraceTime 0 #表示登陆不成功,在切断之前等待的时间,0 是无限制
SELinux永久关闭:
vim /etc/selinux/config
SELINUX=disabled
不关闭Linux 安全增强 可能会影响oracle集群。
启用Name Service Cache Daemon (nscd)服务:
nscd使oracle集群能更好地容忍网络失败,如果使用NAS或者NFS,则要启用nscd。
chkconfig --level 35 nscd on
service nscd start
配置本地存储:
用来安装oracle grid infrastructure 和 oracle RAC 11gR2
按照先前的办法添加一块硬盘,详情见 D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第44-45页。
安装OCFS集群文件系统:
用来存放表决磁盘(voting disk)和 集群注册表(OCR),把有关软件上传到 /zerodb/11g 目录
cd /zerodb/11g
rpm -ivh ocfs2-tools-1.4.4-1.el5.x86_64.rpm
rpm -ivh ocfs2console-1.4.4-1.el5.x86_64.rpm
rpm -ivh ocfs2-2.6.18-308.el5-1.4.7-1.el5.x86_64.rpm
安装配置ASMLib 共享存储系统:
rpm -ivh oracleasm-support-2.1.7-1.el5.x86_64.rpm
rpm -ivh oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm
rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm
对ASMLib 进行配置:
/usr/sbin/oracleasm configure -i
执行完全生成 /etc/sysconfig/oracleasm
创建加载点:/dev/oracleasm
/usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module “oracleasm”: oracleasm
Mounting ASMlib driver filesystem: failed
Unable to fix ASM driver permissions
虽然报错但是加载点 /dev/oracleasm 已经创建了,后续研究为什么!
查看模块是否启动:
lsmod |grep asm
或者
oracleasm status
查看是否安装正确版本:
oracleasm update-driver
详情见 D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第47-49页。
创建用户和组:
groupadd -g 1000 oinstall
groupadd -g 1031 dba
groupadd -g 1020 asmdba
useradd -u 1101 -g oinstall -G dba,asmdba oracle
useradd -u 1100 -g oinstall -G dba,asmdba grid
两用户口令均为 yy123456
根据用户使用的shell修改grid 和 oracle 用户环境变量:
su – grid
vim .bash_profile 中添加如下环境变量:
export ORACLE_SID=+ASM1
export ORACLE_BASE=/zerodb/11g/grid_base
export ORACLE_HOME=/zerodb/11g/grid_home
export GRID_BASE=
O
R
A
C
L
E
B
A
S
E
e
x
p
o
r
t
G
R
I
D
H
O
M
E
=
ORACLE_BASE export GRID_HOME=
ORACLEBASEexportGRIDHOME=ORACLE_HOME
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=
T
M
P
P
A
T
H
=
TMP PATH=
TMPPATH=PATH:
H
O
M
E
/
b
i
n
e
x
p
o
r
t
P
A
T
H
=
/
u
s
r
/
s
b
i
n
/
:
HOME/bin export PATH=/usr/sbin/:
HOME/binexportPATH=/usr/sbin/:PATH:
O
R
A
C
L
E
H
O
M
E
/
b
i
n
:
ORACLE_HOME/bin:
ORACLEHOME/bin:PATH
export LD_LIBRARY_PATH=
O
R
A
C
L
E
H
O
M
E
/
l
i
b
:
/
l
i
b
:
/
u
s
r
/
l
i
b
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=
ORACLEHOME/lib:/lib:/usr/libexportCLASSPATH=ORACLE_HOME/JRE:
O
R
A
C
L
E
H
O
M
E
/
j
l
i
b
:
ORACLE_HOME/jlib:
ORACLEHOME/jlib:ORACLE_HOME/rdbms/jlib
export ORACLE_HOSTNAME=rac1.zerodb.com
export DB_UNIQUE_NAME=zerodb
export CVUQDISK_GRP=oinstall
umask 022
su – oracle
vim .bash_profile中添加如下环境变量:
export ORACLE_BASE=/zerodb/11g/db_base
export ORACLE_HOME=/zerodb/11g/db_home
export ORACLE_SID=zerodb1
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=
P
A
T
H
:
PATH:
PATH:ORACLE_HOME/bin:
H
O
M
E
/
b
i
n
/
e
x
p
o
r
t
P
A
T
H
=
HOME/bin/ export PATH=
HOME/bin/exportPATH=ORACLE_HOME/bin:
O
R
A
C
L
E
H
O
M
E
/
A
p
a
c
h
e
/
A
p
a
c
h
e
/
b
i
n
:
ORACLE_HOME/Apache/Apache/bin:
ORACLEHOME/Apache/Apache/bin:PATH
export BASE_PATH=/usr/sbin/:
P
A
T
H
;
e
x
p
o
r
t
B
A
S
E
P
A
T
H
e
x
p
o
r
t
P
A
T
H
=
PATH; export BASE_PATH export PATH=
PATH;exportBASEPATHexportPATH=ORACLE_HOME/bin:
B
A
S
E
P
A
T
H
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
BASE_PATH LD_LIBRARY_PATH=
BASEPATHLDLIBRARYPATH=ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=
O
R
A
C
L
E
H
O
M
E
/
J
R
E
:
ORACLE_HOME/JRE:
ORACLEHOME/JRE:ORACLE_HOME/jlib:
O
R
A
C
L
E
H
O
M
E
/
r
d
b
m
s
/
j
l
i
b
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/rdbms/jlib CLASSPATH=
ORACLEHOME/rdbms/jlibCLASSPATH=CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
export ORACLE_HOSTNAME=rac1.zerodb.com
export DB_UNIQUE_NAME=zerodb
export CVUQDISK_GRP=oinstall
umask 022
su – root
vim .bash_profile中添加如下环境变量:
export GRID_HOME=/zerodb/11g/grid_home
export PATH=
G
R
I
D
H
O
M
E
/
b
i
n
:
GRID_HOME/bin:
GRIDHOME/bin:PATH
以上配置参考:
1、D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第50-52页
2、http://blog.csdn.net/u010098331/article/details/50767315
修改用户资源限制:
su – root
vim /etc/security/limits.conf 中加入下面变量:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 65536
grid hard nofile 65536
grid soft stack 10240
grid hard stack 10240
安装 cvuqdisk
把有关软件包上传到 /zerodb/11g 目录,并解压缩:
su – root
cd /zerodb/11g/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
unzip linux.x64_11gR2_grid.zip
cd database/rpm/
rpm -ivh cvuqdisk-1.0.7-1.rpm
创建第二个节点(rac2):
按照之前的办法,把已经配置好的 rac1 虚拟机导出后在倒入,过程约。
创建共享存储:
关闭rac1,在rac1 上创建共享磁盘,在cmd下进到虚拟机软件所在目录D:\VirtualBox4.1.18,执行如下命令:
以下为 OCR 和 Voting Disk 创建共享磁盘:
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb1.vdi --size 1024 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb2.vdi --size 1024 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb3.vdi --size 1024 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb4.vdi --size 1024 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb5.vdi --size 1024 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb6.vdi --size 1024 --format VDI --variant Fixed
执行结果如下:
以下为ASMLib 创建共享磁盘:
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb7.vdi --size 12288 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb8.vdi --size 12288 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb9.vdi --size 12288 --format VDI --variant Fixed
VBoxManage createhd --filename e:\VM_ZERODB_RAC\SHARED\zerodb10.vdi --size 12288 --format VDI --variant Fixed
在Windows 的 cmd 命令下执行如下把命令以上磁盘连接到虚拟机 rac1:
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 3 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb1.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 4 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb2.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 5 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb3.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 6 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb4.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 7 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb5.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 8 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb6.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 9 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb7.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 10 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb8.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 11 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb9.vdi --mtype shareable
VBoxManage storageattach rac1 --storagectl “SATA 控制器” --port 12 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb10.vdi --mtype shareable
执行结果部分截图:
或者通过图形界面添加:
注:
查看虚拟机rac1磁盘控制器名字:VBoxManage showvminfo rac1,根据控制器名字连接加载
执行如下命令使以上磁盘变为可共享磁盘:
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb1.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb2.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb3.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb4.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb5.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb6.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb7.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb8.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb9.vdi --type shareable
VBoxManage modifyhd E:\VM_ZERODB_RAC\SHARED\zerodb10.vdi --type shareable
查看 说明磁盘共享设置成功。
用fdisk命令分区以上磁盘,过程约。
在两个节点(rac1,rac2)都关闭情况下,执行以下命令使以上磁盘能被rac2共享:
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 3 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb1.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 4 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb2.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 5 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb3.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 6 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb4.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 7 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb5.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 8 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb6.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 9 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb7.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 10 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb8.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 11 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb9.vdi --mtype shareable
VBoxManage storageattach rac2 --storagectl “SATA 控制器” --port 12 --device 0 --type hdd --medium E:\VM_ZERODB_RAC\SHARED\zerodb10.vdi --mtype shareable
以上步骤也可以手工添加。
以上详情参见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第55-57页
启动 rac2 并配置:
修改主机名 vim /etc/sysconfig/network
HOSTNAME=rac2
修改公有网络IP地址 vim /etc/sysconfig/network-scripts/ifcfg-bond0 IPADDR=192.168.1.82
修改私有网络IP地址:
vim /etc/sysconfig/network-scripts/ifcfg-eth2
IPADDR=10.0.10.3
vim /etc/sysconfig/network-scripts/ifcfg-eth3
IPADDR=10.0.10.4
修改grid环境变量:
vim .bash_profile
export ORACLE_SID=+ASM2
export ORACLE_HOSTNAME=rac2.zerodb.com
修改oracle环境变量:
vim .bash_profile
export ORACLE_SID=zerodb2
export ORACLE_HOSTNAME=rac2.zerodb.com
重启机器rac2。
再启动rac1。
发现一个错误:
在rac2 上ping rac1 结果如下:
这是不对的,还要修改两个地方的配置文件:
把 rac1 改为 rac2:
同理,把 rac1 改为 rac2。
再ping rac1 正确:
配置集群文件系统OCFS:
1、配置OCFS集群的结构
su – root
[root@rac1 ~]# ocfs2console #打开OCFS控制台
点 ,重复上面步骤在添加第二个节点(rac2,私有IP地址 10.0.1.4)。
生成如下配置文件:
执行如下步骤将rac1 上的/etc/ocfs2/cluster.conf 文件同步到 rac2
2、集群超时配置(O2CB Cluster TimeOut Configuration):
[root@rac1 ~]# service o2cb configure
生成 /etc/sysconfig/o2cb 文件。
在rac2 上执行同样过程如下:
生成 /etc/sysconfig/o2cb 文件:
生成之前:
生成之后:
3、每个节点上的OCFS集群的启动停止维护:
[root@rac1 ~]# /etc/init.d/o2cb start #或者service o2cb start
[root@rac1 ~]# /etc/init.d/o2cb stop #停止O2CB服务
[root@rac1 ~]# /etc/init.d/o2cb status #查看O2CB服务状态
4、创建集群文件系统OCFS:
在分区上创建文件系统(只在一个几点上执行):
mkfs.ocfs2 -L “VOL_1” /dev/sdd1
mkfs.ocfs2 -L “VOL_2” /dev/sde1
mkfs.ocfs2 -L “VOL_3” /dev/sdf1
mkfs.ocfs2 -L “VOL_4” /dev/sdg1
mkfs.ocfs2 -L “VOL_5” /dev/sdh1
mkfs.ocfs2 -L “VOL_6” /dev/sdi1
检查文件系统:fsck.ocfs2 /dev/sdd1
创建挂载点(两个节点都要执行):
[root@rac1 ~]# mkdir /ocfs1 /ocfs2 /ocfs3 /ocfs4 /ocfs5 /ocfs6
普通加载或者按标卷加载mount /dev/sdd1 /ocfs1 或者 mount -L VOL_3 /ocfs3 效果一样。
mount /dev/sde1 /ocfs2
mount /dev/sdf1 /ocfs3
mount /dev/sdg1 /ocfs4
mount /dev/sdh1 /ocfs5
mount /dev/sdi1 /ocfs6
在 每个节点 vim /etc/fstab 中加入:
/dev/sdd1 /ocfs1 ocfs2 datavolume,nointr,noatime 0 0
/dev/sde1 /ocfs2 ocfs2 datavolume,nointr,noatime 0 0
/dev/sdf1 /ocfs3 ocfs2 datavolume,nointr,noatime 0 0
/dev/sdg1 /ocfs4 ocfs2 datavolume,nointr,noatime 0 0
/dev/sdh1 /ocfs5 ocfs2 datavolume,nointr,noatime 0 0
/dev/sdi1 /ocfs6 ocfs2 datavolume,nointr,noatime 0 0
挂载所有磁盘 mount -a
以上1、2、3、4 配置 详情参见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第59-63页。
创建ASMLib磁盘:
标记ASM磁盘,标记完成后便可被ASM使用:
在 rac1 上执行:
/usr/sbin/oracleasm createdisk DISK1 /dev/sdj1
/usr/sbin/oracleasm createdisk DISK2 /dev/sdk1
/usr/sbin/oracleasm createdisk DISK3 /dev/sdl1
/usr/sbin/oracleasm createdisk DISK4 /dev/sdm1
列出创建的ASM磁盘
oracleasm listdisks
oracleasm deletedisk 磁盘标签(如DISK1) #删除ASM磁盘。
oracleasm-discover ‘ORCL:DISK*’ #查找匹配的ASM磁盘,命令中 ORCL 是必须的,冒号后面是ASM磁盘标签,*号是通配符:
查看ASM磁盘和分区的对应关系:
oracleasm listdisks|xargs oracleasm querydisk –p
ASM磁盘和分区一一对应。
在 rac2 上查看ASM磁盘:
没有发现磁盘,这时需要在该节点上执行ASM磁盘扫描:
oracleasm scandisks
由在 rac2 上已经看到了ASM磁盘。
以上配置详情参见:以上1、2、3、4 配置 详情参见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf 第64-65页。
创建先前环境变量中的目录及修改有关目录权限:
以下步骤在均要在两个节点执行:
su - root
mkdir -p /zerodb/11g/grid_base
mkdir -p /zerodb/11g/grid_home
mkdir -p /zerodb/11g/db_base
mkdir -p /zerodb/11g/db_home
chown grid:oinstall /zerodb/11g/
chown -R grid:oinstall /zerodb/11g/grid_base/
chown -R grid:oinstall /zerodb/11g/grid_home/
chown -R oracle:oinstall /zerodb/11g/db_base/
chown -R oracle:oinstall /zerodb/11g/db_home/
chown -R grid:oinstall /ocfs1
chown -R grid:oinstall /ocfs2
chown -R grid:oinstall /ocfs3
chown -R grid:oinstall /ocfs4
chown -R grid:oinstall /ocfs5
chown -R grid:oinstall /ocfs6
chmod 775 /zerodb/11g
chmod -R 775 /zerodb/11g/db_base
chmod -R 775 /zerodb/11g/grid_base
chmod -R 775 /zerodb/11g/grid_home
chmod -R 775 /ocfs*
chown -R grid:oinstall /zerodb/11g/grid
chown -R oracle:oinstall /zerodb/11g/database/
建立节点之间的对等无密码ssh访问:
在 两个节点上执行:
su – grid
mkdir ~/.ssh
chmod -R 700 ~/.ssh
创建key
/usr/bin/ssh-keygen -t dsa
在 rac 1上执行:
cd ~/.ssh
cat id_dsa.pub >> authorized_keys
scp authorized_keys rac2:/home/grid/.ssh/
在 rac2 上执行:
cd ~/.ssh
cat id_dsa.pub >> authorized_keys
scp authorized_keys rac1:/home/grid/.ssh/
测试连通性:
相互之间返回日期则对等访问配置成功:
同样 切换到 oracle 用户执行以上步骤,配置oracle用户之间的ssh 对等连通性,注意key 存放在/home/oracle/.ssh/ 下,注意修改路径。
安装 Oracle Grid Infrastructure 之前的最后检查:
在 rac1 上使用集群验证工具CVU检查:
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup –verbose |grep 失败
先补安装缺失的包:
rpm -ivh gcc-4.1.2-52.el5.x86_64.rpm
rpm -ivh compat-libstdc+±33-3.2.3-61.i386.rpm
rpm -ivh glibc-devel-2.5-81.x86_64.rpm
rpm -ivh gcc-c+±4.1.2-52.el5.x86_64.rpm
在检查,其中一个包的检查结果如下,其他类似:
再在rac1 上ssh 到本身后在检查结果如下:
再在rac1 上关闭防火墙:
service iptables stop
chkconfig iptables off
再次检查结果如下:
在 rac 2上重复以上步骤。
最好在 rac1 和 rac2 上再次检查结果:
详情参考:
1、http://blog.csdn.net/techsupporter/article/details/53208299
2、D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf
第69页— 第70页-;
开始安装 Oracle Grid Infrastructure:
配置图形显示到本机:
su - grid
vncserver
export DISPLAY=192.168.1.100:1 #本机IP地址是192.168.1.100,窗口号是 1
cd /zerodb/11g/grid
./runInstaller
弹出如下界面
所有先决条件检查通过!
用 root 用户分别在两个节点执行上面两个脚本。
[root@rac1 ~]#/zerodb/11g/oraInventory/orainstRoot.sh #用于改变权限设置
[root@rac1 ~]# /zerodb/11g/grid_home/root.sh
很遗憾不小心把安装界面搞退出了,
箭头所指没有执行完,不知道会不会有问题。
安装日志:/zerodb/11g/oraInventory/logs/installActions2017-07-22_08-52-44AM.log
检查集群状态,如果全部正常,则显示如下:
su – grid
[grid@rac1 grid]$ crsctl check crs
rac 下:
查看VIP使用情况:
分别在两个节点上执行:
ps -ef|grep LISTENE
缺少本地监听程序,在其中一个节点上执行如下步骤,创建两个节点上的本地监听程序:
再在每个节点执行:
ps -ef|grep LISTENE,结果如下:
以上详情参见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf第70页— 81页-;
创建ASM实列:
su – grid
以上sys 和 asmsnmp 的口令均为:asm123456
安装oracle RAC 软件(数据库软件):
同装 grid 一样先执行CVU检查:
cd /zerodb/11g/grid
[oracle@rac1 ~]$ ./runcluvfy.sh stage -pre dbinst -n rac1,rac2 -osdba dba -fixup –verbose
遇到的问题基本和 检查集群软件grid时候一样,处理办法也一样!整改后检查通过:
经检查/zerodb/11g/db_home/ 下有 log 目录,rm -rf log/ 删除后:
忽略
此处少截了一个界面,大概如下:
用root用户分别在两个节点执行如下脚本:
[root@rac1 ~]# /zerodb/11g/db_home/root.sh
[root@rac2 ~]# /zerodb/11g/db_home/root.sh
执行完后返回点确定:
安装日志:/zerodb/11g/oraInventory/logs/installActions2017-07-22_05-54-49PM.log
解决虚拟机分辨率小版本:http://blog.csdn.net/yasi_xi/article/details/42388119
用DBCA创建数据库:
以上密码均为:db123456
查看实列运行情况:
[oracle@rac1 zerodb]$ srvctl status database -d zerodb
用 grid 用户 查看数据库状态:
数据库未启动,这是因为先前设置的数据库实列是zerodb1和zerodb2,环境变量 ~/.bash_profile里面也是这个,但在安装时候分别是指为zerodbs1和zerodbs2,需要重新更新oracle 用户的环境变量并生效即可。
以上操作详情见:D:\学 习\《Oracle数据库精讲与疑难解析(第2版)》.(赵振平).[PDF].@ckook.pdf第89页— 98页;
集群数据库登录:
用PL/SQL登录数据库,下面箭头所指写全局数据库名:
或者用 oracle用户在服务器端直接执行:
上图箭头所指zerodb服务名 为如下箭头所指值:
热备及负载均衡连接:
在Windows上用netmgr创建如下:
查看集群名:olsnodes -c
点击 里面的保存后关闭。
修改本机无线网卡或者本地连接网卡(用谁桥接的巡检就改谁的)DNS如下:
测试域名解析情况:
或者在添加一个服务名ora11g_rac_vip进来,如下:
或者直接在tnsname.ora文件加入下配置:
ORA11G_RAC_VIP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.83)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.84)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = zerodb.yy)
)
)
其中192.168.1.83 为 rac1-vip, 192.168.1.84 为 rac2-vip,分别为两个虚拟IP地址。
连接到ORA11G_RAC_VIP服务 测试热备情况:
关闭rac1网卡 ifdown ifc-bond0,查询当前连接的实例:select instance_name from v$instance;
启动网卡ifup ifc-bond0,再查:
连接到ORA11G_RAC_VIP服务 测试负载均衡情况:如上过程,略
连接到ORA11G_RAC服务 测试热备情况:
连接到ORA11G_RAC服务 测试负载均衡情况:
或者开多个CRT会话连接到服务器上测试,如下:
最后一次连接到zerodbs1了!
以上连接配置参考:http://mikedu.blog.51cto.com/8605548/1410745