######################################################################
linux上安装10.2.0.1RAC+ASM edit by sky on 201104 qq654268465
######################################################################
------------以下为虚拟机上的配置文件相关配置项--------------
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"
---------------------------检查系统配置---------------------------------
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
The minimum required RAM is 1 GB,and the minimum required swap space is 1 GB.
Oracle recommends that you set swap space to twice the amount of RAM for systems
with 2 GB of RAM or less. For systems with 2 GB to 8 GB RAM, use swap space equal
to RAM. For systems with over 8 GB RAM, use .75 times the size of RAM.
# df -h
df -h /tmp
Ensure that you have at least 400 MB of disk space in /tmp
********************Linux x86-64 Asianux 2, Enterprise Linux4, and Red Hat Enterprise Linux 4***************************
binutils-2.15.92.0.2
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
gcc-3.4.5
gcc-c++-3.4.5
glibc-2.3.4-2.19
glibc-2.3.4-2.19 (32 bit)
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-devel-2.3.4 (32-bit)
libaio-0.3.105
libaio-0.3.105 (32 bit)
libaio-devel-0.3.105
libgcc-3.4.5
libgcc-3.4.5 (32-bit)
libstdc++-3.4.5
libstdc++-3.4.5 (32 bit)
libstdc++-devel 3.4.5
make-3.80
sysstat-5.0.5
********************Linux x86-64 Asianux Server 3, Enterprise Linux 5, and Red Hat Enterprise Linux 5****************************
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.1
gcc-c++-4.1.1
glibc-2.5-12
glibc-2.5-12 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5-12 (32 bit)
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libgcc-4.1.1
libgcc-4.1.1 (32 bit)
libstdc++-4.1.1
libstdc++-4.1.1 (32 bit)
libstdc++-devel 4.1.1
make-3.81
sysstat-7.0.0
*******************Linux x86-64 suse 10*******************
binutils-2.16.91.0.5
compat-libstdc++-5.0.7-22.2
gcc-4.1.0
gcc-c++-4.1.0
glibc-2.4-31.2
glibc-32bit-2.4-31.2 (32 bit)
glibc-devel-2.4
glibc-devel-32bit-2.4 (32 bit)
libaio-0.3.104
libaio-32bit-0.3.104 (32 bit)
libelf-0.8.5
libgcc-4.1.0
libstdc++-4.1.0
libstdc++-devel-4.1.0
make-3.80
sysstat-6.0.2
*****************Linux x86 Asianux Server 3, Enterprise Linux 5, and Red Hat Enterprise Linux 5*******************
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.3.4-2
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11
****************Linux x86 SUSE 10 Packages******************************
binutils-2.16.91.0.5
compat-libstdc++-5.0.7
glibc-2.4-31.2
glibc-devel-2.4-31.2
gcc-4.1.0
ksh-93r-12.9
libaio-0.3.104
libaio-devel-0.3.104
libelf-0.8.5
libgcc-4.1.0
libstdc++-4.1.0
libstdc++-devel-4.1.0
make-3.80
sysstat-6.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
*******************************************
-------------------------------------
# cat /proc/version
# uname -r
# rpm -q package_name
# /sbin/modinfo ocfs2 ------涉及才检查
http://oss.oracle.com/projects/ocfs2/----涉及才下载
-------------------------------------------------
#vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-size =1048576
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 4194304
# /sbin/chkconfig boot.sysctl on -------only suse
#vi /etc/boot.sysctl RUN_PARALLEL flag from yes to no ----------only suse 10
# echo 501 > /proc/sys/vm/hugetlb_shm_group-------501为oninstall组的组号,仅仅在suse系统,你需要将oninstall组的GID做为/proc/sys/vm/hugetlb_shm_group参数的值( -----------授权oninstall组的成员允许创建共享内存段)
#vi /etc/sysctl.conf --------only suse和echo 501一起
vm.hugetlb_shm_group=501--------only suse和echo 501一起
#/sbin/sysctl -p
#/sbin/sysctl -a
-------------------------------------------
vi /etc/hosts
192.168.1.16 sky1
192.168.1.17 sky2
192.168.1.116 sky1-vip
192.168.1.117 sky2-vip
10.0.0.16 sky1-priv
10.0.0.17 sky2-priv
-------------------------------------创建oracle安装用户组及用户---------------------------------------
/usr/sbin/groupadd oinstall -g 201
/usr/sbin/groupadd dba -g 202
/usr/sbin/useradd -u 200 -d /home/oracle -g oinstall -G dba oracle
id oracle
passwd oracle
--------------------配置oracle环境变量----------------------
# vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=skydb1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/u01/app/crs/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
--------------------Create Disk Partitions for ASM Disks, OCR Disks, and Voting Disks----------------------------
#fdisk -l
#fdisk /dev/sdb /dev/sdc /dev/sdd /dev/sde
n/p/1/回车/回车/w
安装oracleasmlib:
安装oracleasmlib和oracleasm-support
#rpm -ivh *.rpm
配置裸设备
#vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]", WNER="oracle", GROUP="oinstall", MODE="640"
# start_udev
#ls /dev/raw/ -l
配置ASM:
node1 ~]# /etc/init.d/oracleasm configure
node2 ~]# /etc/init.d/oracleasm configure
node1 ~]# /etc/init.d/oracleasm createdisk DISK1 /dev/sdd1
node1 ~]# /etc/init.d/oracleasm createdisk DISK2 /dev/sde1
node1 ~]# /etc/init.d/oracleasm scandisks
node1 ~]# /etc/init.d/oracleasm listdisks
node2 ~]# /etc/init.d/oracleasm scandisks
node2 ~]# /etc/init.d/oracleasm listdisks
--------------------------------------------------------------------------
配置ssh
分别在node1和node2上执行如下:
$ pgrep sshd
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ /usr/bin/ssh-keygen -t rsa
检查:
$ more authorized_keys
$ ssh node1 date
$ ssh node2 date
***************************************************************************
$ cd .ssh
$ cat id_rsa.pub >> authorized_keys
$ ls
分别在node1和node2上执行如下:
[crs@node1 .ssh]$ scp authorized_keys node2:/home/oracle/.ssh/
[crs@node1 .ssh]$ ssh node2
[crs@node2 crs]$ cd .ssh
[crs@node2 ssh]$ cat id_rsa.pub >> authorized_keys
$ exec /usr/bin/ssh-agent $SHELL -----防止产生PRKC-1044 Failed to check remote command execution
$ /usr/bin/ssh-add ------防止产生PRKC-1044 Failed to check remote command execution
检查:
$ more authorized_keys -------确保类似ssh-rsa AAAABBBB . . . = crs@node1
$ ssh node1 date
$ ssh node2 date
$ ssh node1-priv date
$ ssh node2-priv date
-----------------------------------------------------------------------------
防止隐藏文件含有的ssty命令导致ssh到另一个节点出错
$vi .bashrc
if [ -t 0 ]; then
stty intr ^C
fi
或
$vi .cshrc
test -t 0
if ($status == 0) then
stty intr ^C
endif
-----------------------------------------------------------------
配置环境变量
$ echo $SHELL
$ vi .bash_profile
或
$ vi .profile
或
% vi .login
添加
umask 022
$ . ./.bash_profile
$ . ./.profile
% source ./.login
------------------------------------------------------------------
配置远程安装环境
对于Bourne, Bash, or Korn shell:
$ DISPLAY=local_host:0.0 ; export DISPLAY
对于C shell:
% setenv DISPLAY local_host:0.0
local_host is the host name or IP address of the system that you want to use to display OUI
--------------------------------------------------------------------
配置临时安装目录
$ su - root
# mkdir /mount_point/tmp
# chmod 775 /mount_point/tmp
# exit
对于Bourne, Bash, or Korn shell:
$ TEMP=/mount_point/tmp
$ TMPDIR=/mount_point/tmp
$ export TEMP TMPDIR
对于C shell:
% setenv TEMP /mount_point/tmp
% setenv TMPDIR /mount_point/tmp
$ umask
$ env | more
----------------------------------------
增加shell限制
#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login
session required pam_limits.so
***********************************编辑用户默认的shell启动文件*****************************************
#vi /etc/profile 或 #vi /etc/profile.local------此对suse系统
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
对于:For the C shell (csh or tcsh), add the following lines to the
/etc/csh.login file (or the file on SUSE
systems)/etc/csh.login.local:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
-------------------------------配置内核落后重启机器Hangcheck-timer Module-------------------------------------
# more /etc/modprobe.conf |grep hang ---------On Red Hat and on Oracle Enterprise Linux
# more /etc/modprobe.conf.local |grep hang -------------On SUSE
You should see something similar to the following:
options hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
# vi /etc/rc.d/rc.local ----------On Red Hat and on Oracle Enterprise Linux
# vi /etc/init.d/boot.local --------------On SUSE
options hangcheck-timer hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
# /sbin/modprobe -v hangcheck-timer --------load the new hangcheck timer values
验证:
# /sbin/lsmod | grep hang
--------------------------------------------------------------------------------------------------
创建oracle集群路径
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
# mkdir -p /u01/app/crs
# chown -R oracle:oinstall /u01/app/crs
$ mkdir -p $ORACLE_BASE/product/10.2.0/db_1
$ chmod -R 775 $ORACLE_BASE/product/10.2.0/db_1
------------------安装Oracle Clusterware-------------------
$ cd
$ cd install/clusterware/cluvfy
$ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose
$ cd
$ cd install/clusterware
$ ./runInstaller -ignoreSysPreReqs
分别在两节点执行脚本
# cd /u01/app/oracle/oraInventory/
# ./orainstRoot.sh
# cd /u01/app/crs
# ./root.sh
****************在node2上执行root.sh出错的解决方法****************
报错:/u01/app/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
解决:修改vipca及srvctl文件
# cd /u01/app/crs/bin
# vi vipca
找到如下:
if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
fi
#End workaround
在fi后面添加一行:
unset LD_ASSUME_KERNEL
# vi srvctl
找到如下:
LD_ASSUME_KERNEL=2.4.19
export LD_ASSUME_KERNEL
在其后增加一行:
unset LD_ASSUME_KERNEL
在node2上重新执行root.sh
完成oui安装界面并exit
在任意node重新执行vipca图形界面配置
sky1-vip 192.168.1.116
sky2-vip 192.168.1.117
********************************************************************
--------------------------------安装database软件------------------------------
$ cd
$ cd install/database
$ ./runInstaller -ignoreSysPrereqs
---------------------------------------------------------------------------------
-----------------配置监听-----------------
$ cd /u01/app/oracle/product/10.2.0/db_1/bin
$ ./netca
-------------------------------------------
-----------------------创建asm实例及数据库实例-------------------------
$ cd /u01/app/oracle/product/10.2.0/db_1/bin
$ ./dbca -------asm实例的sys密码为sysasm;全局数据库名字为skydb
NSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12542: TNS:address already in use
TNS-12560: TNS:protocol adapter error
TNS-00512: Address already in use
Linux Error: 98: Address already in use
*********************************#############RAC安装##############*************************************
oracle建议使用Unicode AL32UTF8作为数据库的默认字符集
在oracle 11g中,oracle建议不要设置Oracle home环境变量,如果Oracle base path is /u01/app/oracle, then by default, OUI creates the following Oracle
home path:/u01/app/oracle/product/11.1.0/db_1
$ ps -ef | grep tnslsnr -------确定listener的名字和oracle home目录
$ $ORACLE_HOME/bin/tnslsnr LISTENER -inherit --------确定listener运行的信息
$ $ORACLE_HOME/bin/lsnrctl status listenername --------identify the TCP/IP port number and IPC key value
$ srvctl stop asm -n ASM_nodename -------升级ASM之前先停止原有的ASM
----------在升级ASM之前需要保证Oracle Clusterware的版本号等于你要升级的ASM的版本号
下面开始安装过程:
/mountpoint/runcluvfy.sh stage -pre dbinst -n node_list [-r {10gR1|10gR2|11gR1}] [-osdba osdba_group][-verbose] ------osdba_group为操作系统DBA组的名称, ------ -verbose use to identify the cause of any checks that fail
OraInventory/logs/installActionsdate_time.log ---------安装过程中出现的问题,可以查看此日志文件
***************************************用DBCA创建Real Application Clusters Databases*****************************************
$ /CRS_home/bin/cluvfy.sh stage -pre dbcfg -n node_list -d Oracle_home [-verbose
*************************************Removing Oracle Clusterware******************************************
1.关闭所有节点的数据库实例
$ Oracle_home/bin/srvctl stop database -d db_name
$ Oracle_home/bin/srvctl stop asm -n node
$ Oracle_home/bin/srvctl stop nodeapps -n node
2.dbca和netca移除监听、ASM实例、数据库
3.每个远程node上执行rootdelete script.:
# cd /u01/app/crs/install
# ./rootdelete.sh remote nosharedvar nosharedhome
4.在本地node上执行rootdelete script.:
# cd /u01/app/crs/install
# ./rootdelete.sh local nosharedvar nosharedhome
5.On the local node, run the script. rootdeinstall:
# ./rootdeinstall.sh
6.oracle用户登录移除Oracle Clusterware home:
$ cd /u01/app/crs/oui/bin
$ ./runInstaller -deinstall -removeallfiles
**********************************************************************************************************
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16807927/viewspace-711802/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16807927/viewspace-711802/