Oracle12c数据库去年发布,RHEL7今年也出来了,作为技术人员,总是需要了解的,以下是安装过程,记录下来以备后续使用。
oracle12c数据库去年发布,rhel7今年也出来了,作为技术人员,总是需要了解的,以下是安装过程,记录下来以备后续使用。
要想顺利的安装oracle,最好当然是参考oracle公司的用户指南,用户指南可以在oracle公司的官方网站下载:
也可以阅读在线文档:
目前oracle12c数据库官方是不支持rhel7的,所以只能参考下rhel6的了.
oracle12c数据库下载地址:
安装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是一个早期的软件包,可以在以下网站找到.
(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系统,在新版系统下会表现出此错误.
解决方案参考网上的方法:
保留安装进程,另外开启一个终端窗口,修改文件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'.
解决方案参考:
保留安装进程,另外开启一个终端窗口,修改文件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语句测试数据库.
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
Oracle性能优化 之 共享池
本文永久更新链接地址:










