首页 / 数据库 / MySQL / 在Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1数据库
Oracle12c数据库去年发布,RHEL7今年也出来了,作为技术人员,总是需要了解的,以下是安装过程,记录下来以备后续使用。 要想顺利的安装Oracle,最好当然是参考Oracle公司的用户指南,用户指南可以在Oracle公司的官方网站下载: http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html 也可以阅读在线文档: http://docs.oracle.com/cd/E16655_01/install.121/e17718/toc.htm 目前Oracle12c数据库官方是不支持RHEL7的,所以只能参考下RHEL6的了. Oracle12c数据库下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 安装Oracle有以下步骤: 1>.安装Linux作业系统. 2>.配置Linux系统下Oracle的安装环境. 3>.安装Oracle软件与数据库. 4>.测试运行安装的Oracle系统. 一.安装Linux. 1.系统环境需求 内存:最小1GB,推荐2GB或以上 交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交换空间等于内存大小,内存大小16G以上时,交换空间为16GB. 需要选择以下组件:GNOME桌面、编辑器、开发工具、开发库等。 2.安装Linux 使用安装光盘安装RedHat Enterprise Linux 7.0 x86_64,为方便测试,可以使用VMware Workstation虚拟一台机器,在虚拟机上安装。 3.设置主机域名解析 安装Linux后需使用静态IP地址,并在/etc/hosts文件中设置主机域名解析(ip地址 主机名称) # vi /etc/hosts 192.168.1.66 hostname 二.配置Linux系统下Oracle的安装环境. 1.检查和更新所需软件包. 安装好Linux系统后需要配置一下系统。因Oracle在Linux下与Windows下有些不同,在Linux下安装时有部分程序需要与Linux的程序包重新编译和链接,所以需要有编译器等软件包。需要用到的软件包在Oracle的用户指南中有说明.以root身份登录Linux后执行以下命令检查软件包是否都已安装: # rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel # rpm -q libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat 如果系统有软件包没有安装,可以在Redhat Enterprise Linux 7.0的光盘Packages目录中找到,安装这些包。 例如安装软件包: # rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm Oracle官方文档中确定要安装的包如下: binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (i686) gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (i686) ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (i686) libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6 (i686) libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6 (i686) libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6 (i686) libXext-1.1 (x86_64) libXext-1.1 (i686) libXtst-1.0.99.2 (x86_64) libXtst-1.0.99.2 (i686) libX11-1.3 (x86_64) libX11-1.3 (i686) libXau-1.0.5 (x86_64) libXau-1.0.5 (i686) libxcb-1.5 (x86_64) libxcb-1.5 (i686) libXi-1.3 (x86_64) libXi-1.3 (i686) make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64) 注:(1)安装glibc-2.17-55.el7.i686.rpm时,因为依赖包相互依赖,需要与依赖包同时安装: rpm -ivh glibc-2.17-55.el7.i686.rpm nss-softokn-freebl-3.15.4-2.el7.i686.rpm (2)RHEL7中缺少包compat-libstdc++-33,可以在RHEL6中找到. (3)在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在以下网站找到. http://rpm.pbone.net/ (4)建议安装zlib-devel,不然后续可能会出错。推荐安装unixODBC 2.验证系统要求 查看内存大小 # grep MemTotal /proc/meminfo 查看交换空间 # grep SwapTotal /proc/meminfo 查看磁盘空间,Oracle 12c R1 x64企业版的磁盘空间要求6.4GB以上。 # df -h 3.创建Oracle组和用户帐户 需要创建以下组和用户: The Oracle Inventory group (typically, oinstall) The OSDBA group (typically, dba) The Oracle software owner (typically, oracle) The OSOPER group (optional. Typically, oper) # groupadd oinstall # groupadd dba # groupadd oper # useradd -g oinstall -G dba,oper oracle # passwd oracle 4.配置内核参数 以root身份登录系统,根据用户指南配置以下参数: 修改文件/usr/lib/sysctl.conf,添加以下内容: # vi /usr/lib/sysctl.conf # for oracle fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 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 = 1048586 执行以下命令时参数生效: # /sbin/sysctl -p 注: 内核参数设置可以在安装Oracle时产生的脚本修复。 登录oracle帐号检查资源限制. $ ulimit -Sn $ ulimit -Hn $ ulimit -Su $ ulimit -Hu $ ulimit -Ss $ ulimit -Hs 修改文件/etc/security/limits.conf,更改资源限制,添加以下内容: # vi /etc/security/limits.conf # for oracle oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 5.创建Oracle Base目录: # mkdir -p /u01/app/ # chown -R oracle:oinstall /u01/app/ # chmod -R 775 /u01/app/ 6.编辑Oracle用户环境,编辑.bash_profile文件 # su - oracle $ vi .bash_profile 编辑.bash_profile文件,添加以下内容 # For Oracle export DISPLAY=:0.0 export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1; export ORACLE_SID=sales; export ORACLE_TERM=xterm; export PATH=/usr/sbin:$PATH; export PATH=$ORACLE_HOME/bin:$PATH; export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; 配置生效 $ source .bash_profile 三.安装Oracle软件与数据库 1.安装Oracle软件(12.1.0.1版本) 将Oracle的安装文件linuxamd64_12c_database_1of2.zip与linuxamd64_12c_database_2of2.zip解压缩. # unzip linuxamd64_12c_database_1of2.zip # unzip linuxamd64_12c_database_2of2.zip 以oracle用户身份登录系统安装Oracle,为避免出现中文乱码,安装前可以执行export LANG="",显示英文, $ export LANG="" $ cd database $ ./runInstaller 在安装时选择只安装Oracle软件。 在安装时,会出现以下错误: [INS-13001]Environment does not meet minimum requirements. 日志文件显示 SEVERE: CVU do not support target environment.. Refer associated stacktrace #oracle.install.ivw.common.validator.SupportedOSValidator:451 INFO: Completed verification of target environment. WARNING: Verification of target environment returned with errors. WARNING: [WARNING] [INS-13001] Environment does not meet minimum requirements. CAUSE: Minimum requirements were not met for this environment ACTION: Either check the logs for more information or check the supported configurations for this product.. Refer associated stacktrace #oracle.install.commons.util.exception.DefaultErrorAdvisor:454 应该集群环境验证不通过,可能需要补丁,目前Oracle12c刚出,应该还没有补丁,当然直接跳过也可以继续执行安装. 这里直接继续执行安装. 安装时出现的错误: 错误(1): Error in invoking target "links proc gen_pcscfg procob" of makefile "/u01/app/oracle/product/12.1.0/db_1/precomp/lib/ins_precomp.mk". 由于Oracle12c官方还不支持RHEL7系统,在新版系统下会表现出此错误. 解决方案参考网上的方法: http://www.oracle-base.com/articles/12c/oracle-db-12cr1-installation-on-oracle-linux-7.php 保留安装进程,另外开启一个终端窗口,修改文件env_rdbms.mk内容. # rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/* # cp /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk.orig # vi /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk # Line 176 # FROM: LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) # TO : LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons # Line 279-280 # FROM: LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) # TO : LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed # Line 3041-3042 # FROM: TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) # TO : TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12 然后在安装进程中点击Retry即可。 错误(2): Error in invoking target "install" of makefile "/u01/app/oracle/product/12.1.0/db_1/ctx/lib/ins_ctx.mk". 解决方案参考: http://www.oracle-base.com/articles/12c/oracle-db-12cr1-installation-on-oracle-linux-7.php 保留安装进程,另外开启一个终端窗口,修改文件env_ctx.mk内容. # rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/* # cp /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk.orig # vi /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk # Line 154 # FROM: LINK=$(LDCCOM) # TO : LINK=$(LDCCOM) -Wl,--no-as-needed 然后在安装进程中点击Retry即可。 但似乎还是不行,查看日志文件的错误信息: INFO: /usr/bin/ld: cannot find -lz collect2: error: ld returned 1 exit status INFO: make: *** [ctxhx] ECCVror 1 似乎是zlib的问题,保留安装进程,另外开启一个终端窗口,查看已安装zlib,未安装zlib-devel,安装zlib-devel试试。 # rpm -ivh zlib-devel-1.2.7-13.el7.x86_64.rpm 然后在安装进程中点击Retry通过。 安装最后步骤按提示在root用户下执行脚本. # /u01/app/oraInventory/orainstRoot.sh # /u01/app/oracle/product/12.1.0/db_1/root.sh 2.安装数据库 Oracle软件安装完后,需要执行命令netca配置监听器. $ netca 在图形界面中按提示配置监听器. 然后执行命令dbca安装数据库. $ dbca 在图形界面中按提示安装数据库就可以了。 四.测试运行安装的Oracle系统 数据库安装完后监听器与数据库实例就已启动。执行以下测试监听器与实例. $ lsnrctl stop $ lsnrctl start $ sqlplus /nolog SQL> connect / as sysdba; SQL> shutdown SQL> startup 执行其它SQL语句测试数据库. <!-- Baidu Button BEGIN -->在CentOS 6.4下安装Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htmOracle 11gR2 在VMWare虚拟机中安装步骤 http://www.linuxidc.com/Linux/2013-09/89579p2.htmDebian 下 安装 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htmOracle性能优化 之 共享池 http://www.linuxidc.com/Linux/2012-02/54062.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址
收藏该网址