1.桥接--win无线网相同
192.168.1.1 --默认网关
192.168.1.110
192.168.1.111
hostonly
192.180.100.1
192.180.100.110
192.180.100.111
网络设置如下:
RAC1 RAC2 openfiler1
public ip 192.168.1.110 192.168.1.111 192.168.1.112
private ip 192.180.100.110 192.180.100.111 192.180.100.112
vip 192.168.1.120 192.168.1.121
scan 192.168.1.200 192.168.1.200 192.168.1.200
3.网络配置
cat >> /etc/hosts <<EOF
#public ip:
192.168.1.110 rac1
192.168.1.111 rac2
#private ip:
192.180.100.110 rac1priv
192.180.100.111 rac2priv
#vip:
192.168.1.120 rac1vip
192.168.1.121 rac2vip
#scan:
192.168.1.200 racscan
EOF
# Private Storage Network for Openfiler - (eth1)
192.168.1.112 openfiler1
192.180.100.112 openfiler1priv
4.rpm
rpm -ivh *.rpm --nodeps --force
--注意下面这几个包
pdksh
--oracleasm的版本要和系统的内核一致 uname-r
oracleasm
oracleasm-support
oracleasmlib
5.添加组
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
--创建用户-g:主组-G:辅助组
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
useradd -g oinstall -G dba,oper,asmdba oracle
passwd grid --stdin
passwd oracle --stdin
mkdir -p /u01/app
cd /u01/app
mkdir gridbase
mkdir grid
mkdir oracle
--设置grid用户,oinstall组的目录
chown -R grid:oinstall /u01
cd /u01/app/
--设置oracle用户,oinstall组的目录
chown -R oracle:oinstal oracle
--设置读写权限
chmod -R 775 /u01
--设置环境变量
--禁止selinux
vi /etc/selinux/config
selinux=disabled
--关闭防火墙
export LANG=C
setup
2.GRID:拥有集群软件,起停cluster
export HOME=/home/grid
export ORACLE_BASE=/u01/app/gridbase
export ORACLE_HOME=/u01/app/grid
vi /home/grid/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_SID=+ASM1
ORACLE_BASE=/u01/app/gridbase
ORACLE_HOME=/u01/app/grid
export ORACLE_BASE ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
export DISPLAY=192.180.100.1:0.0
stty erase ^h
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
ORACLE:oracle软件, 起停数据库
export HOME=/home/oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
vi /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_SID=ghsjdb1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.0.2/db_1
export ORACLE_SID ORACLE_BASE ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
export DISPLAY=192.180.100.1:0.0
stty erase ^h
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
--root 用户敲入
xhost local:oracle non-network local connections being added to access control list
xhost local:grid non-network local connections being added to access control list
--设置内核参数
cat >> /etc/security/limits.conf <<EOF
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF
echo "session required /lib/security/pam_limits.so ">> /etc/pam.d/login
cat >> /etc/profile <<EOF
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >>/etc/sysctl.conf <<EOF
kernel.shmmni =4096
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_max = 1048576
net.core.wmem_default = 262144
kernel.sem = 250 32000 100 128
EOF
--使内核参数生效
sysctl -p
--查找参数的值
sysctl -a | grep shm
--修改共享内存
umount tmpfs
mount -t tmpfs shmfs -o size=3000m /dev/shm
vi /etc/fstab
tmpfs /dev/shm tmpfs size=3000 0 0
---关闭ntp services
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm -rf /var/run/ntpd.pid
--关闭sendmail
chkconfig sendmail off
--创建共享磁盘
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi0.sharedBus = "VIRTUAL"
scsi0:1.shared="true"
scsi0:1.redo = ""
scsi0:1.deviceType = "disk"
--创建oracleasm磁盘
fdisk sdb
n--p--1--return-return--w
rpm -qa | grep oracleasm
oracleasm configure -i
oracleasm init
oracleasm createdisk OCR sdb1
oracleasm createdisk RACDATA1 sdc1
oracleasm createdisk RACDATA2 sdd1
oracleasm createdisk FRA sde1
oracleasm scandisks
oracleasm listdisks
--复制rac1所有文件到rac2
修改rac2网络
cd /etc/sysconfig/
vi network --修改hostname
cd network-scripts
vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.111
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.168.1.1
TYPE=Ethernet
--cd /etc/sysconfig/network-scripts
--vi ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.180.100.111
NETMASK=255.255.255.0
ONBOOT=yes
GATEWAY=192.180.100.1
TYPE=Ethernet
reboot
--配置ssh
su - grid
--创建隐藏目录
mkdir ~/.ssh
--只能自己看到
chmod 700 .ssh
cd .ssh/
--touch 新建一个空文件
touch authorized_keys
--生成密钥在rac2也同样执行
/usr/bin/ssh-keygen -t dsa
--将id_dsa.pub中的内容添加到authorized_keys尾部
cat id_dsa.pub >> authorized_keys
--将rac2中的公钥添加到authorized_keys尾部
ssh rac2 cat .ssh/id_dsa.pub >> authorized_keys
--拷贝到rac2
scp authorized_keys rac2:~/.ssh
--在双节点手动设置时间
date -s "2014-04-23 9:47:00"
---此处做备份后面安装grid和rac
--安装集群软件
--卸载
cd /u01/app/grid/crs/install/
./rootcrs.pl -verbose -deconfig -force
--ORACLE RAC 重新安装时清空ASM 磁盘命令
dd if=/dev/zero of=/dev/sdb1 bs=4096 count=1
mv grid /u01/app/gridinstall
chown -R grid:oinstall /gridinstall
su - grid
./runcluvfy.sh -help
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
--使用CVU验证硬件和操作系统设置
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose
./runInstaller
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/grid/root.sh
--root 用户下
vi /etc/profile
--添加:
export PATH=$PATH:/u01/app/grid/bin
source /etc/profile
crsctl check crs
crs_stat -t -v
crsctl check ctss --检查时间
--安装数据库软件
unzip linux_11gR2_database_1of2.zip
unzip -o linux_11gR2_database_2of2.zip
mv database /u01/app/database
sh /u01/app/oracle/product/11.0.2/db_1/root.sh
不要覆盖之前目录
手工方式对磁盘mount:
su - grid //因为asm是由grid用户管理的
sqlplus '/as sysdba'
select group_number,name,state from v$asm_diskgroup;
conn /as sysasm //mount需要用sysasm用户
alter diskgroup dg1 mount;
--创建数据库
dbca
--起停集群clusterware
crsctl start cluster -all
crsctl stop cluster -all
--起停数据库
srvctl start database -d ghsjdb
srvctl stop database -d ghsjdb
srvctl config database -d ghsjdb
srvctl status database -d ghsjdb
listener
LISTENER_RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.111)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
tns
GHSJDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GHSJDB)
)
)
LISTENERS_RAC =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1vip)(PORT = 1521))
)
GHSJDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac2vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GHSJDB)
(INSTANCE_NAME = GHSJDB2)
)
)
GHSJDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = GHSJDB)
(INSTANCE_NAME = GHSJDB1)
)
)