RedHat Enterprise Linux7.0安装Oracle 12C

Enterprise Linux7.0安装 12C
1. 验证
1.1 硬盘空间要求
1.1.1 安装盘
类型 占用磁盘空间
Enterprise Edition 6.4GB
Standard Edition 6.1GB
Standard Edition One
6.1GB
1.1.2 TMP目录
1GB空间。设置环境变量时,设置TMP和TMPDIR。
1.2 显卡要求
1024*768.
1.3 Runlevel等级
3或者5.
1.4 swap
要求:
RAW
Swap
1G至2G 1.5倍
2G至16G 同RAW相等
16G以上 16G
查看命令:# grep SwapTotal /proc/meminfo
          # free
1.5 内存:
要求:内存最小1G,推荐2G或者更高。
查看命令:# grep MemTotal /proc/meminfo
1.6 操作系统
  • Oracle Linux 7
  • Oracle Linux 6
  • Oracle Linux 5
  • Enterprise Linux 7
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5
以上都是x86_64版本
# cat /proc/version // 查看版本
1.7 内核
Red Hat Enterprise Linux 7版本要求:3.10.0.54.0.1.el7.x86_64或者更新。
1.8 依赖软件
# rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel // 验证命令26个包
  • binutils-2.23.52.0.1-12.el7.x86_64(binutils-2.23.52.0.1-16.el7.x86_64)
  • compat-libcap1-1.10-3.el7.x86_64(compat-libcap1-1.10-7.el7.x86_64)
  • gcc-4.8.2-3.el7.x86_64(gcc-4.8.2-16.el7.x86_64)
  • gcc-c++-4.8.2-3.el7.x86_64(gcc-c++-4.8.2-16.el7.x86_64)
  • glibc-2.17-36.el7.i686
  • glibc-2.17-36.el7.x86_64(glibc-2.17-55.el7.x86_64)
  • glibc-devel-2.17-36.el7.i686
  • glibc-devel-2.17-36.el7.x86_64(glibc-devel-2.17-55.el7.x86_64 后安装)
  • ksh(后安装)
  • libaio-0.3.109-9.el7.i686
  • libaio-0.3.109-9.el7.x86_64(libaio-0.3.109-12.el7.x86_64)
  • libaio-devel-0.3.109-9.el7.i686
  • libaio-devel-0.3.109-9.el7.x86_64(libaio-devel-0.3.109-12.el7.x86_64 后安装)
  • libgcc-4.8.2-3.el7.i686
  • libgcc-4.8.2-3.el7.x86_64(libgcc-4.8.2-16.el7.x86_64)
  • libstdc++-4.8.2-3.el7.i686
  • libstdc++-4.8.2-3.el7.x86_64(libstdc++-4.8.2-16.el7.x86_64)
  • libstdc++-devel-4.8.2-3.el7.i686
  • libstdc++-devel-4.8.2-3.el7.x86_64(libstdc++-devel-4.8.2-16.el7.x86_64)
  • libXi-1.7.2-1.el7.i686
  • libXi-1.7.2-1.el7.x86_64(libXi-1.7.2-2.1.el7.x86_64)
  • libXtst-1.2.2-1.el7.i686
  • libXtst-1.2.2-1.el7.x86_64(libXtst-1.2.2-2.1.el7.x86_64)
  • make-3.82-19.el7.x86_64(make-3.82-21.el7.x86_64)
  • sysstat-10.1.5-1.el7.x86_64(sysstat-10.1.5-4.el7.x86_64)
  • zlib-1.2.7-13.el7.x86_64.rpm
  • zlib-devel-1.2.7-13.el7.x86_64.rpm
  • unixODBC-2.3.1-10.el7.x86_64(利用ODBC连接oracle可安装) // http://www.unixodbc.org
  • unixODBC-devel-2.3.1-10.el7.x86_64 (利用ODBC连接oracle可安装) // http://www.unixodbc.org
# rpm -ivh 安装包名 // 安装程序包
1.9 用户和组
确定是否安装过oracle:
# more /etc/oraInst.loc
# grep oinstall /etc/group
# id oracle
创建组:
# /usr/sbin/groupadd -g 54321 oinstall
# /usr/sbin/groupadd -g 54322 dba
# /usr/sbin/groupadd -g 54323 oper
创建用户:
# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
设置密码:
# passwd oracle
1.10 创建安装目录
# mkdir -p /opt/app/oracle/product/12.1.0/db_1
# chown -R oracle:oinstall /opt/app
# chmod -R 775 /opt/app
# mkdir -p /opt/app/tmp
# chown -R oracle:oinstall /opt/app/tmp
# chmod -R 775 /opt/app/tmp
1.11 配置环境变量
# su - oralce
$ echo $SHELL // 我的RHEL7.0是bash,所以以下都是在bash中使用。
$ vi ~/.bash_profile
增加下面行:
 
 1 # User specific environment and startup programs
 2 umask 022
 3  
 4 # +--------------------------+
 5 # | SETUP ORACLE ENVIRONMENT |
 6 # +--------------------------+
 7 TMP=/opt/ora/tmp
 8 TMPDIR=/opt/ora/tmp
 9 export TMP TMPDIR
10 
11 ORACLE_HOME=/opt/app/oracle/product/12.1.0/db_1
12 export ORACLE_HOME
13 ORACLE_BASE=/opt/app/oracle
14 export ORACLE_BASE
15 ORACLE_SID=afcsc
16 export ORACLE_SID
17 TNS_ADMIN=$ORACLE_HOME/network/admin
18 export TNS_ADMIN
19 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
20 export NLS_LANG
21 PATH=$PATH:$ORACLE_HOME/bin
22 export PATH
23 LANG=AMERICAN_AMERICA.ZHS16GBK
24 export LANG
25 # +--------------------------+
26 # | LINUX STUFF |
27 # +--------------------------+
28 unset USERNAME
 
执行:source ~/.bash_profile
1.11 配置内核
注:配置大于系统数据需要配置更改,否则不需要配置。
 
要求配置:
参数 文件 命令
semmsl
semmns
semopm
semmni
250
32000
100
128
/proc/sys/kernel/sem
# /sbin/sysctl -a | grep sem
shmall
3435973835
/proc/sys/kernel/shmall // 总内存40%
# /sbin/sysctl -a | grep shm
shmmax
4294967295
/proc/sys/kernel/shmmax
// 最大共享内存,官方文档建议是内存的1/2
// 我的服务器是8G内存,所以为8*1024*1024*1024-1
// 值为4294967295(8G内存/2)
# /sbin/sysctl -a | grep shm
shmmni
4096
/proc/sys/kernel/shmmni
# /sbin/sysctl -a | grep shm
file-max
6815744
/proc/sys/fs/file-max
# /sbin/sysctl -a | grep file-max
ip_local_port_range
9000 65500
/proc/sys/net/ipv4/ip_local_port_range
# /sbin/sysctl -a | grep ip_local_port_range
rmem_default
262144 
/proc/sys/net/core/rmem_default
# /sbin/sysctl -a | grep rmem_default
rmem_max
4194304
/proc/sys/net/core/rmem_max
# /sbin/sysctl -a | grep rmem_max
wmem_default
262144
/proc/sys/net/core/wmem_default
# /sbin/sysctl -a | grep wmem_default
wmem_max 
1048576
/proc/sys/net/core/wmem_max
# /sbin/sysctl -a | grep wmem_max
aio-max-nr 1048576    
# vi /etc/sysctl.conf
按照系统值对比添加:
 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall =3435973835
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 = 1048576
 
保存后生效命令:
# /sbin/sysctl -p
1.12 设置进程数和最大会话数
编辑文件:
# vi /etc/security/limits.conf 加入以下语句:
 
1 oracle           soft     nproc           2047
2 oracle           hard    nproc           16384
3 oracle           soft     nofile           1024
4 oracle           hard    nofile           65536
5 oracle           soft     stack            10240
6 oracle           hard    stack            10240 
1.13 配置PAM
编辑文件:vi /etc/pam.d/login 加入以下语句:
session    required     pam_limits.so
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
2 安装
2.1 解压缩
将linuxamd64_12c_database_1of2.zip和linuxamd64_12c_database_2of2.zip移动到移动到/tmp目录下进行解压缩。
$ cd /opt/ora/tmp
$ unzip linuxamd64_12c_database_1of2.zip
$ unzip linuxamd64_12c_database_2of2.zip
2.2 安装
$ cd /opt/app/tmp/database/
$ ./runInstaller
2.3 报错
安装过程进行到80%多(所有文件复制完毕,并开始链接后), 报错
1)报错
ins_precomp.mk
INFO: /usr/bin/ld: <ORACLE_HOME>/lib//libnls12.a(lxhlang.o): undefined reference to symbol ‘__tls_get_addr@@GLIBC_2.3′
这是因为oracle安装文件自带的 库文件太老了

需要删除 {ORACLE_HOME}/lib/stubs 这个目录 (对于我的设置,就是 /opt/app/oracle/product/12.1.0/db_1/lib/stubs

cd /opt/app/oracle/product/12.1.0/db_1/lib
rm -rf stubs
2)在图形安装界面 点击Retry继续, 再次报错

ins_rdbms.mk
libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'
....
libons.so: could not read symbols: Invalid operation
修改 rdbms/lib/ins_rdbms.mk 的 883行 和 901 行

 
879 $(PLSHPROF) : $(ALWAYS) $(PLSHPROF_DEPS)
880         $(SILENT)$(ECHO)
881         $(SILENT)$(ECHO) " - Linking hierarchical profiler utility (plshprof)"
882         $(RMF) $@
883         $(PLSHPROF_LINKLINE) -lons

....
 897 $(RMAN) : $(ALWAYS) $(RMAN_DEPS)
 898         $(SILENT)$(ECHO)
 899         $(SILENT)$(ECHO) " - Linking recovery manager (rman)"
 900         $(RMF) $@
 901         $(RMAN_LINKLINE) -lons
 

3)在图形节目 Retry, 第3次报错

ins_rdbms.mk
houzi.o: undefined reference to symbol 'ztcsh'
libnnz12.so: could not read symbols: Invalid operation
修改 ins_rdbms.mk 的 1067行

1063 $(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS)
1064         $(SILENT)$(ECHO)
1065         $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility"
1066         $(RMF) $@
1067         $(TG4PWD_LINKLINE) -lnnz12

猜你喜欢

转载自www.linuxidc.com/Linux/2016-08/134656.htm