Welcome 微信登录

首页 / 数据库 / MySQL / RedHat Enterprise Linux7.0安装Oracle 12C

RedHat Enterprise Linux7.0安装Oracle 12C1. 验证1.1 硬盘空间要求1.1.1 安装盘
类型占用磁盘空间
Enterprise Edition6.4GB
Standard Edition6.1GB
Standard Edition One6.1GB
1.1.2 TMP目录1GB空间。设置环境变量时,设置TMP和TMPDIR。1.2 显卡要求1024*768.1.3 Runlevel等级3或者5.1.4 swap要求:
RAWSwap
1G至2G1.5倍
2G至16G同RAW相等
16G以上16G
查看命令:# grep SwapTotal /proc/meminfo          # free1.5 内存:要求:内存最小1G,推荐2G或者更高。查看命令:# grep MemTotal /proc/meminfo1.6 操作系统
  • Oracle Linux 7
  • Oracle Linux 6
  • Oracle Linux 5
  • Red Hat 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 oracle1.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/tmp1.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 TMPDIR10 11 ORACLE_HOME=/opt/app/oracle/product/12.1.0/db_112 export ORACLE_HOME13 ORACLE_BASE=/opt/app/oracle14 export ORACLE_BASE15 ORACLE_SID=afcsc16 export ORACLE_SID17 TNS_ADMIN=$ORACLE_HOME/network/admin18 export TNS_ADMIN19 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK20 export NLS_LANG21 PATH=$PATH:$ORACLE_HOME/bin22 export PATH23 LANG=AMERICAN_AMERICA.ZHS16GBK24 export LANG25 # +--------------------------+26 # | LINUX STUFF |27 # +--------------------------+28 unset USERNAME 执行:source ~/.bash_profile1.11 配置内核注:配置大于系统数据需要配置更改,否则不需要配置。 要求配置:
参数文件命令
semmsl
semmns
semopm
semmni
250
32000
100
128
/proc/sys/kernel/sem# /sbin/sysctl -a | grep sem
shmall3435973835/proc/sys/kernel/shmall // 总内存40%# /sbin/sysctl -a | grep shm
shmmax4294967295/proc/sys/kernel/shmmax
// 最大共享内存,官方文档建议是内存的1/2
// 我的服务器是8G内存,所以为8*1024*1024*1024-1
// 值为4294967295(8G内存/2)
# /sbin/sysctl -a | grep shm
shmmni4096/proc/sys/kernel/shmmni# /sbin/sysctl -a | grep shm
file-max6815744/proc/sys/fs/file-max# /sbin/sysctl -a | grep file-max
ip_local_port_range9000 65500/proc/sys/net/ipv4/ip_local_port_range# /sbin/sysctl -a | grep ip_local_port_range
rmem_default262144 /proc/sys/net/core/rmem_default# /sbin/sysctl -a | grep rmem_default
rmem_max4194304/proc/sys/net/core/rmem_max# /sbin/sysctl -a | grep rmem_max
wmem_default262144/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-nr1048576  
# 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 -p1.12 设置进程数和最大会话数编辑文件:# vi /etc/security/limits.conf 加入以下语句: 1 oracle soft nproc 20472 oracle hardnproc 163843 oracle soft nofile 10244 oracle hardnofile 655365 oracle soft stack102406 oracle hardstack10240 1.13 配置PAM编辑文件:vi /etc/pam.d/login 加入以下语句:
sessionrequired 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.zip2.2 安装$ cd /opt/app/tmp/database/$ ./runInstaller2.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更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址