Linux Oracle 11G R2 64 安装文档
目录
1. 环境及系统参数配置 2
1.1. 添加oracle,grid用户及设置环境变量(在所有节点上执行) 2
1.2. 所必需的安装包检查 4
1.3. 修改系统配置 5
2. 时间同步(分别在不同前置机上执行) 6
3. SSH信任关系设置(Oracle用户下执行) 6
4. ASM设置 7
5. Oracle Grid Infrastructure安装 8
5.1. 安装前检查 8
5.2. 安装步骤(图) 8
6. Oracle软件安装(图) 14
7. 创建ASM DATA GROUP存放数据文件 19
8. 创建数据库 21
9. 附录 31
9.1. 自动内存管理增加/dev/shm 31
9.2. NTPD设置 31
9.3. 增大SWAP区 32
1.1.1 添加oracle用户
//添加oinstall组
# /usr/sbin/groupadd -g 1000 oinstall
# /usr/sbin/groupadd -g 1001 dba
# /usr/sbin/groupadd -g 1002 oper
# /usr/sbin/groupadd –g 1003 asmadmin
# /usr/sbin/groupadd –g 1004 asmoper
# /usr/sbin/groupadd –g 1005 asmdba
# /usr/sbin/groupadd –g 1006 orauser# /usr/sbin/usermod -g oinstall -G dba,asmdba oracle# /usr/sbin/usermod -g oinstall -G dba,asmdba,oper,oinstall,asmadmin grid
//设置oracle密码
passwd oracle
passwd grid
//创建oracle的安装目录
mkdir /u01
//修改目录权限
chown -R oracle:oinstall /u01
创建目录
# mkdir -p /u01/grid
# chown -R grid:oinstall /u01/grid
# chmod -R 775 /u01/grid
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
1.1.2 配置环境变量
设置Oracle用户环境变量
vi /home/oracle/.bash_profile 添加以下内容
export ORACLE_UNQNAME=rac
export ORACLE_SID=rac1[2]
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_OWNER=oracle
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export NLS_LANG="simplified chinese"_china.zhs16gbk
stty erase ^H
PATH=$PATH:$HOME/bin$:$ORACLE_HOME/bin
export PATH
unset USERNAME
alias sqlplus="rlwrap sqlplus"
umask 022
设置grid用户环境变量
vi /home/grid/.bash_profile
export ORACLE_SID=+ASM1[2]
export ORACLE_BASE=/u01/app
export ORACLE_HOME=/u01/grid
export ORACLE_OWNER=grid
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export NLS_LANG="simplified chinese"_china.zhs16gbk
stty erase ^H
PATH=$PATH:$HOME/bin$:$ORACLE_HOME/bin
export PATH
unset USERNAME
#alias sqlplus="rlwrap sqlplus"
umask 022
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.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)
1020 rpm -qa binutils
1021 rpm -qa compat-libstdc++
1022 rpm -qa | grep compat-
1029 rpm -qa | grep elfutils
1030 rpm -qa gcc
1031 rpm -qa gcc-c++
1032 rpm -qa glibc
1033 rpm -qa glibc-common
1034 rpm -qa glibc-devel
1035 rpm -qa libaio
1036 rpm -qa | grep libaio
1037 rpm -qa libaio-devel
1040 rpm -qa libaio-devel-0.3.106-3.2.i386.rpm
1044 rpm -qa libgcc
1045 rpm -qa libstdc++
1046 rpm -qa libstdc++-devel
1047 rpm -qa make
1048 rpm -qa sysstat
1052 rpm -qa unixODBC
1053 rpm -qa | grep unixODBC
1.3.1 设置用户权限
vi /etc/profile
#oracle
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
1.3.2 设置内核参数
vi /etc/sysctl.conf
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
#kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
然后运行使用之生效
/sbin/sysctl -p
1.3.3 修改oracle用户shell限制
vi /etc/security/limits.conf
#oracle
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
# oracle
session required pam_limits.so
在RAC1 机器上的操作
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
在RAC2 机器上的操作
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
在RAC1 机器上的操作
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >>
~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >>
~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys
rac2:~/.ssh/authorized_keys
SSH互信登陆验证。在两台前置机上分别运行以下的命令
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
以上命令处理第一次运行外,都不需要输入密码则说明 SSH设置正确。
运行以下命令,启动 ASM 配置程序 (以下操作root用户分别在前置机执行)
/etc/init.d/oracleasm configure
Default user to own the driver interface 输入oracle
Default group to own the driver interface 输入dba
Start Oracle ASM library driver on boot 输入y
Fix permissions of Oracle ASM disks on boot 输入 y
创建ASM 磁盘。创建 ASM 磁盘使用下的命令 (以下操作root用户在任意一台前置机执行)
/etc/init.d/oracleasm createdisk VOL1 /dev/sdb4
/etc/init.d/oracleasm scandisks
/etc/init.d/oracleasm listdisks
cd /home/oracle/grid
./runcluvfy.sh stage -pre crsinst -n nod1,nod2 –fixup -verbose 安装前检查
SCAN Name:mycluster-scan.nboffice.com (在DNS服务器中配置的)
Add nod2
pdksh其实是ksh的clone,所以这里可以忽略
注意:必须先在nod1上执行再在其它节点执行
点击’Yes’
最后执行 /u01/app/oracle/root.sh
/u01/grid/bin/asmca
/u01/app/oracle/bin/dbca
ORACLE_UNQNAME=rac
Tempfs 要求:
Starting with Oracle Database 11g, the Automatic Memory Management feature requires more shared memory (/dev/shm)and file descriptors. The size of the shared memory should be at least the greater of MEMORY_MAX_TARGET and MEMORY_TARGET for each Oracle instance on the computer. If MEMORY_MAX_TARGET or MEMORY_TARGET is set to a non zero value, and an incorrect size is assigned to the shared memory, it will result in an ORA-00845 error at startup. The number of file descriptors for each Oracle instance should be at least 512*PROCESSES. Also, the limit of descriptors for each process should be at least 512. If file descriptors are not sized correctly, you will notice ORA-27123 from various Oracle processes and potentially Linux Error EMFILE (Too many open files) errors in non-Oracle processes.
[root@localhost ~]# df -k /dev/shmFilesystem 1K-blocks Used Available Use% Mounted onshmfs 204800 0 204800 0% /dev/shm[root@localhost ~]# umount /dev/shm[root@localhost ~]# mount -t tmpfs shmfs -o size=300m /dev/shm[root@localhost ~]# df -k /dev/shmFilesystem 1K-blocks Used Available Use% Mounted onshmfs 358400 0 358400 0% /dev/shm[root@localhost trace]# ls -l /dev/shmtotal 0
vi /etc/fstab
例如:为了将/dev/shm的大小增加到1GB,修改/etc/fstab的这行:默认的: none /dev/shm tmpfs defaults 0 0改成: none /dev/shm tmpfs defaults,size=1024M 0 0
【服务器端设置】
1.将/etc/下的文件ntp.conf修改如下:server 127.127.1.0 minpoll 4 maxpoll 5fudge 127.127.1.0 stratum 2restrict 127.0.0.1driftfile /var/lib/ntp/drift
2.将/etc/ntp下的文件ntpservers内容置空
3.将/etc/ntp下的文件step-tickers修改如下:127.127.1.0
【客户端设置】1.将/etc/下的文件ntp.conf修改如下:server 192.168.0.1 minpoll 4 maxpoll 5fudge 127.127.1.0 stratum 3restrict 127.0.0.1driftfile /var/lib/ntp/driftlogfile /etc/ntp.logrestrict 192.168.0.1 mask 255.255.255.255
2.将/etc/ntp下的文件ntpservers内容置空
3.将/etc/ntp下的文件step-tickers修改如下:192.168.0.1
vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
[root@nod2 ~]# chkconfig --level 35 ntpd on
[root@nod2 ~]# chkconfig --list ntpd
交换区要求:
1、检查当前的分区情况: [root@localhost]#free -m2、增加交换分区文件及大小,如果要增加2G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。 [root@localhost]# dd if=/dev/zero of=/home/swap bs=1024 count=20480003、设置交换文件: [root@localhost]# mkswap /home/swap4、立即启用交换分区文件 [root@localhost]# swapon /home/swap 5、如果要在引导时自动启用,则编辑 /etc/fstab 文件,添加行: /home/swap swap swap defaults 0 0 系统下次引导时,它就会启用新建的交换文件,再查看SWAP分区大小发现增加了2G。
手工清除CRS
1、在所有节点停止nodeapps
srvctl stop nodeapps -n nodename
2、删除crs自动启动程序
Linux:
rm /etc/oracle/*
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
cp /etc/inittab.orig /etc/inittab
3、kill css/crs/evm进程,并reboot节点
ps -ef | grep css/crs/evmkill -9 processid
4、删除/tmp/.oracle或/var/tmp/.oracle
rm -f /tmp/.oracle 或rm -f /var/tmp/.oracle
5、删除ocr.loc
rm -f /etc/oracle/orc.loc
6、用oracle universal installer卸载crs
7、删除crs安装目录
rm -Rf crs_install_dir
8、使用dd清除vote disk和ocr(裸设备)
dd if=/dev/zero of=/dev/votedisk_device bs=8192 count=2560dd if=/dev/zero of=/dev/ocr_device bs=8192 count=12800
¥29.8
¥9.9
¥59.8