1、install rpm package
rpm -q 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
2、desable iptables and selinux
service NetworkManager stop
chkconfig --level 345 Networkmanager off
service iptables stop
chkconfig --level 345 iptables off
setenforce 0
getenforce
3、modifiy the kernel parameters
cat /etc/sysctl.conf |grep -v "#"|grep -v ^$
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmall is 1073741824 on x86_64
##becase the system default setting for this parameter is bigger than 1073741824,show oracle will not change the default size for this parameter
kernel.shmall = 4294967296
# oracle-rdbms-server-12cR1-preinstall setting for fs.file-max is 6815744
fs.file-max = 6815744
# oracle-rdbms-server-12cR1-preinstall setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmmni is 4096
kernel.shmmni = 4096
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
kernel.shmmax = 4398046511104
# oracle-rdbms-server-12cR1-preinstall setting for kernel.panic_on_oops is 1 per Orabug 19642132
kernel.panic_on_oops = 1
# oracle-rdbms-server-12cR1-preinstall setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144
# oracle-rdbms-server-12cR1-preinstall setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304
# oracle-rdbms-server-12cR1-preinstall setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144
# oracle-rdbms-server-12cR1-preinstall setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576
# oracle-rdbms-server-12cR1-preinstall setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576
# oracle-rdbms-server-12cR1-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500
## when we install the oel system,if select the oracle-rdbms-server package ,those parameter above will be added automatic.
so ,if forget to install the oracle-rdbms-server package ,wo can use script bellow to add these parameter
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 4294967296
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
then execte the linux command :
sysctl -p
4、modifiy the resource limits
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
EOF
5、modifiy /etc/pam.d/login
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
6、modifiy >>/etc/profile
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
7、modify /etc/csh.login
cat >> /etc/csh.login <<EOF
if( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
8、create user and directory
用于 在Oracle UK 上重新创建 oracle用户 Grid单实例安装
oracle id:
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper),504(asmadmin),505(asmoper),506(asmdba)
##user and groups
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -u 501 -g oinstall -G dba,asmdba,oper,asmadmin,asmoper oracle
#create directory
mkdir -p /orasoft/psu
chown -R oracle:oinstall /orasoft
mkdir -p /backup/alert
mkdir -p /backup/expdp
mkdir -p /backup/rman/backdb
mkdir -p /backup/rman/backlog
mkdir -p /backup/script
chown -R oracle:oinstall /backup
mkdir -p /u01/app/oracle/product/11.2.4/db_1
mkdir -p /u01/app/grid/product/11.2.4/db_1
chown oracle:oinstall -R /u01
chmod -R 755 /u01
passwd oracle
9、modify hosts file
192.168.80.12 ora12c
9、modify oracle's profile file
su - oracle
vim .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.4/db_1; export ORACLE_HOME
ORACLE_SID=apdbpbs; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
ORA_CRS_HOME=/u01/app/grid/product/11.2.4/db_1
PATH=$ORA_CRS_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
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
. .bash_profile
10、install oracleasmlib
oracleasmlib contain 3 packages:
oracleasmlib、oracleasm-support、kmod-oracleasm
Note: All ASMLib installations require the oracleasmlib and oracleasm-support packages appropriate for their machine.
The oracleasm-support package can be downloaded from the
Unbreakable Linux Network (ULN)(http://linux.oracle.com/pls/apex/f?p=101:101:108026385557778)
if you have an active support subscription, or from http://public-yum.oracle.com if you do not.
The oracleasm kernel driver is built into the Unbreakable Enterprise Kernel for Oracle Linux 6 and does not need to be installed manually.
This kernel driver is not version-specific and does not need to be upgraded when the kernel is upgraded.
## if os version is oracle linux 6,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm
## if os version is Red Hat Enterprise Linux 6,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm
## if os version is oracle linux 5 ,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el5.x86_64.rpm
rpm -ivh http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm
##by the way,if you don't intsall the oracleasm-support package while you installing OS,you can down the rpm package from
https://oss.oracle.com/ol6/SRPMS-updates/ and install manually.
for example:
wget https://oss.oracle.com/ol6/SRPMS-updates/oracleasm-support-2.1.8-1.el6.src.rpm
The oracleasm kernel driver for the 64-bit (x86_64) Red Hat Compatible Kernel for Oracle Linux 6 can be installed manually from ULN or http://public-yum.oracle.com using the yum tool:(如果不是使用reahat Linux而是oracle Linux的话,还需要安装兼容的内核驱动)
# yum install kmod-oracleasm
安装kmod-oracleasm
yum install kmod-oracleasm
11、install cvuqdisk
rpm -ivh cvuqdisk-1.0.9-1.rpm
/etc/init.d/oracleasm configure
oracle
asmadmin
y
y
/etc/init.d/oracleasm createdisk DATA /dev/sdb //##需要先分区再创建ASM磁盘
Marking disk "DATA" as an ASM disk: [FAILED]
Device "/dev/sdb" is not a partition
先做分区,再创建ASM磁盘
/etc/init.d/oracleasm createdisk CRS /dev/sdb1
/etc/init.d/oracleasm createdisk DATA /dev/sdb2
12、modify /etc/sysconfig/oracleasm
cat /etc/sysconfig/oracleasm
#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver. It is generated
# By running /etc/init.d/oracleasm configure. Please use that method
# to modify this file
#
# ORACLEASM_ENABLED: 'true' means to load the driver on boot.
ORACLEASM_ENABLED=true
# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.
ORACLEASM_UID=oracle
# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.
ORACLEASM_GID=asmadmin
# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.
ORACLEASM_SCANBOOT=true
# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER="sdb"
# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE=""
# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=true
13、check befor insall oracle grid Infrastructure
##如果是RAC的话 可以参考如下
#执行 集群服务设置 的预检查
./runcluvfy.sh stage -pre crsinst -fixup -n rcfnode1,rcfnode2 -verbose
#verify hardware and OS
./runcluvfy.sh stage -post hwos -n rcfnode1,rcfnode2
#verify system
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p crs ----------to verify system
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p ha
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p database
##for grid Infrastructure Standalone server
#verify system
./runcluvfy.sh comp sys -n ora12c -p crs ----------to verify system
./runcluvfy.sh comp sys -n ora12c -p ha
./runcluvfy.sh comp sys -n ora12c -p database
14、install grid Infrastructure
[root@ora12c tmp]# su - oracle
[oracle@ora12c ~]$ export LANG=en_US
[oracle@ora12c ~]$ cd /mnt/hgfs/12c12.1.0.2.0/grid/
[oracle@ora12c grid]$ ./runInstaller
Grid软件的安装目录修改为
/u01/app/grid/product/11.2.4/db_1
Oracle的软件安装目录
/u01/app/oracle/product/11.2.4/db_1
rpm -q 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
2、desable iptables and selinux
service NetworkManager stop
chkconfig --level 345 Networkmanager off
service iptables stop
chkconfig --level 345 iptables off
setenforce 0
getenforce
3、modifiy the kernel parameters
cat /etc/sysctl.conf |grep -v "#"|grep -v ^$
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmall is 1073741824 on x86_64
##becase the system default setting for this parameter is bigger than 1073741824,show oracle will not change the default size for this parameter
kernel.shmall = 4294967296
# oracle-rdbms-server-12cR1-preinstall setting for fs.file-max is 6815744
fs.file-max = 6815744
# oracle-rdbms-server-12cR1-preinstall setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmmni is 4096
kernel.shmmni = 4096
# oracle-rdbms-server-12cR1-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
kernel.shmmax = 4398046511104
# oracle-rdbms-server-12cR1-preinstall setting for kernel.panic_on_oops is 1 per Orabug 19642132
kernel.panic_on_oops = 1
# oracle-rdbms-server-12cR1-preinstall setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144
# oracle-rdbms-server-12cR1-preinstall setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304
# oracle-rdbms-server-12cR1-preinstall setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144
# oracle-rdbms-server-12cR1-preinstall setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576
# oracle-rdbms-server-12cR1-preinstall setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576
# oracle-rdbms-server-12cR1-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500
## when we install the oel system,if select the oracle-rdbms-server package ,those parameter above will be added automatic.
so ,if forget to install the oracle-rdbms-server package ,wo can use script bellow to add these parameter
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 4294967296
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
EOF
then execte the linux command :
sysctl -p
4、modifiy the resource limits
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
EOF
5、modifiy /etc/pam.d/login
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
6、modifiy >>/etc/profile
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
7、modify /etc/csh.login
cat >> /etc/csh.login <<EOF
if( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
8、create user and directory
用于 在Oracle UK 上重新创建 oracle用户 Grid单实例安装
oracle id:
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper),504(asmadmin),505(asmoper),506(asmdba)
##user and groups
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -u 501 -g oinstall -G dba,asmdba,oper,asmadmin,asmoper oracle
#create directory
mkdir -p /orasoft/psu
chown -R oracle:oinstall /orasoft
mkdir -p /backup/alert
mkdir -p /backup/expdp
mkdir -p /backup/rman/backdb
mkdir -p /backup/rman/backlog
mkdir -p /backup/script
chown -R oracle:oinstall /backup
mkdir -p /u01/app/oracle/product/11.2.4/db_1
mkdir -p /u01/app/grid/product/11.2.4/db_1
chown oracle:oinstall -R /u01
chmod -R 755 /u01
passwd oracle
9、modify hosts file
192.168.80.12 ora12c
9、modify oracle's profile file
su - oracle
vim .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.4/db_1; export ORACLE_HOME
ORACLE_SID=apdbpbs; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
ORA_CRS_HOME=/u01/app/grid/product/11.2.4/db_1
PATH=$ORA_CRS_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
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
. .bash_profile
10、install oracleasmlib
oracleasmlib contain 3 packages:
oracleasmlib、oracleasm-support、kmod-oracleasm
Note: All ASMLib installations require the oracleasmlib and oracleasm-support packages appropriate for their machine.
The oracleasm-support package can be downloaded from the
Unbreakable Linux Network (ULN)(http://linux.oracle.com/pls/apex/f?p=101:101:108026385557778)
if you have an active support subscription, or from http://public-yum.oracle.com if you do not.
The oracleasm kernel driver is built into the Unbreakable Enterprise Kernel for Oracle Linux 6 and does not need to be installed manually.
This kernel driver is not version-specific and does not need to be upgraded when the kernel is upgraded.
## if os version is oracle linux 6,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm
## if os version is Red Hat Enterprise Linux 6,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm
## if os version is oracle linux 5 ,download oracleasmlib at this url:
http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el5.x86_64.rpm
rpm -ivh http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm
##by the way,if you don't intsall the oracleasm-support package while you installing OS,you can down the rpm package from
https://oss.oracle.com/ol6/SRPMS-updates/ and install manually.
for example:
wget https://oss.oracle.com/ol6/SRPMS-updates/oracleasm-support-2.1.8-1.el6.src.rpm
The oracleasm kernel driver for the 64-bit (x86_64) Red Hat Compatible Kernel for Oracle Linux 6 can be installed manually from ULN or http://public-yum.oracle.com using the yum tool:(如果不是使用reahat Linux而是oracle Linux的话,还需要安装兼容的内核驱动)
# yum install kmod-oracleasm
安装kmod-oracleasm
yum install kmod-oracleasm
11、install cvuqdisk
rpm -ivh cvuqdisk-1.0.9-1.rpm
12、config oracleasm and create asm disk
/etc/init.d/oracleasm enable
/etc/init.d/oracleasm configure
oracle
asmadmin
y
y
/etc/init.d/oracleasm createdisk DATA /dev/sdb //##需要先分区再创建ASM磁盘
Marking disk "DATA" as an ASM disk: [FAILED]
Device "/dev/sdb" is not a partition
先做分区,再创建ASM磁盘
/etc/init.d/oracleasm createdisk CRS /dev/sdb1
/etc/init.d/oracleasm createdisk DATA /dev/sdb2
12、modify /etc/sysconfig/oracleasm
cat /etc/sysconfig/oracleasm
#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver. It is generated
# By running /etc/init.d/oracleasm configure. Please use that method
# to modify this file
#
# ORACLEASM_ENABLED: 'true' means to load the driver on boot.
ORACLEASM_ENABLED=true
# ORACLEASM_UID: Default user owning the /dev/oracleasm mount point.
ORACLEASM_UID=oracle
# ORACLEASM_GID: Default group owning the /dev/oracleasm mount point.
ORACLEASM_GID=asmadmin
# ORACLEASM_SCANBOOT: 'true' means scan for ASM disks on boot.
ORACLEASM_SCANBOOT=true
# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER="sdb"
# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE=""
# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=true
13、check befor insall oracle grid Infrastructure
##如果是RAC的话 可以参考如下
#执行 集群服务设置 的预检查
./runcluvfy.sh stage -pre crsinst -fixup -n rcfnode1,rcfnode2 -verbose
#verify hardware and OS
./runcluvfy.sh stage -post hwos -n rcfnode1,rcfnode2
#verify system
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p crs ----------to verify system
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p ha
./runcluvfy.sh comp sys -n rcfnode1,rcfnode2 -p database
##for grid Infrastructure Standalone server
#verify system
./runcluvfy.sh comp sys -n ora12c -p crs ----------to verify system
./runcluvfy.sh comp sys -n ora12c -p ha
./runcluvfy.sh comp sys -n ora12c -p database
14、install grid Infrastructure
[root@ora12c tmp]# su - oracle
[oracle@ora12c ~]$ export LANG=en_US
[oracle@ora12c ~]$ cd /mnt/hgfs/12c12.1.0.2.0/grid/
[oracle@ora12c grid]$ ./runInstaller
Grid软件的安装目录修改为
/u01/app/grid/product/11.2.4/db_1
Oracle的软件安装目录
/u01/app/oracle/product/11.2.4/db_1