1)下载oracle database 12crelease 1安装介质
官方的下载地址:

关于这两者有啥区别: 听一个同事说,用metalink 账号下载的安装文件完整一些。具体情况是不是如此,还不得而知。
地址1下载的文件为:
linuxamd64_12c_database_1of2.zip
linuxamd64_12c_database_2of2.zip
地址2下载的文件为:
v38500-01_1of2.zip
v38500-01_2of2.zip
2)检查硬件要求(check hardware requirements)
2.1 check cpu
[root@getoraclelnx01 tmp]#
[root@getoraclelnx01 tmp]# grep "model name" /proc/cpuinfo
model name : intel(r) xeon(r) cpu e5-2680 0 @ 2.70ghz
[root@getoraclelnx01 tmp]# cat /proc/cpuinfo | grep "processor" | wc -l
8
[root@getoraclelnx01 tmp]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
2.2 check memory
[root@getoraclelnx01 tmp]# grep memtotal /proc/meminfo
memtotal: 24736752 kb
[root@getoraclelnx01 tmp]# grep swaptotal /proc/meminfo
swaptotal: 37748728 kb
[root@getoraclelnx01 tmp]# free -g
total used free shared buffers cached
mem: 23 7 16 0 0 5
-/+ buffers/cache: 1 22
swap: 35 0 35
oracle 12c 对系统内存的最低要求为1g,推荐2g或更大的内存,从上面结果可以知道系统内存23g,完全满足要求。
oracle对交换分区(swap space)的推荐设置如下,这里swap space为35g,不是16g,需要做一下调整。
2.3 check disk capacity
oracle 12c 企业版的需要6.4g大小的磁盘空间,标准版需要6.1g大小的磁盘空间。/tmp 需要至少1g的大小。从上面结果得知,磁盘空间完全满足。
3)检查软件要求(checking the software requirements)
3.1 操作系统版本检测
oracle 12 c
只支持64位的linux系统。不支持32linux平台,这也许是以后的趋势了。operating system requirements for
x86-64 linux platforms。 oracle 的官方文档明确列出了支持下面三个linux版本
supported oracle linux 6 and red hat enterprise linux 6 distributions for x86-64
supported oracle linux 5 and red hat enterprise linux 5 distributions for x86-64
supported suse distributions for x86-64
[root@getoraclelnx01 /]# uname -m
x86_64
[root@getoraclelnx01 /]# uname -r
2.6.32-200.13.1.el5uek
[root@getoraclelnx01 /]# more /etc/redhat-release
red hat enterprise linux server release 5.7 (tikanga)
[root@getoraclelnx01 ~]# uname -a
linux getoraclelnx01.gfg1.esquel.com 2.6.32-200.13.1.el5uek #1 smp wed jul 27 21:02:33 edt 2011 x86_64 x86_64 x86_64 gnu/linux
[root@getoraclelnx01 server]# lsb_release -id
distributor id: enterpriseenterpriseserver
description: enterprise linux enterprise linux server release 5.7 (carthage)
[root@getoraclelnx01 server]#
3.2 检查oracle 12c所需包
关于oracle 12c所需包,从官方文档看,不同版本的操作系统似乎有所不同,oracle linux 5 and red hat enterprise linux 5需要安装下面一些包
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-58
glibc-2.5-58 (32 bit)
glibc-devel-2.5-58
glibc-devel-2.5-58 (32 bit)
ksh
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
libxext-1.0.1
libxext-1.0.1 (32 bit)
libxtst-1.0.1
libxtst-1.0.1 (32 bit)
libx11-1.0.3
libx11-1.0.3 (32 bit)
libxau-1.0.1
libxau-1.0.1 (32 bit)
libxi-1.0.1
libxi-1.0.1 (32 bit)
make-3.81
sysstat-7.0.2
rpm -q binutils
compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel
libgcc libstdc++ libstdc++-devel libxext libxtst libx11 libxau libxi
make sysstat
如上所示,还需要安装包 compat-libstdc++和 libaio-devel相关包
[root@getoraclelnx01 server]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
warning: compat-libstdc++-33-3.2.3-61.i386.rpm: header v3 dsa signature: nokey, key id 1e5e0159
preparing... ########################################### [100%]
package compat-libstdc++-33-3.2.3-61.i386 is already installed
[root@getoraclelnx01 server]# rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
warning: compat-libstdc++-33-3.2.3-61.x86_64.rpm: header v3 dsa signature: nokey, key id 1e5e0159
package compat-libstdc++-33-3.2.3-61.x86_64 is already installed
[root@getoraclelnx01 server]# ls *libaio-devel*
libaio-devel-0.3.106-5.i386.rpm libaio-devel-0.3.106-5.x86_64.rpm
[root@getoraclelnx01 server]# rpm -ivh libaio-devel-0.3.106-5.i386.rpm
warning: libaio-devel-0.3.106-5.i386.rpm: header v3 dsa signature: nokey, key id 1e5e0159
1:libaio-devel ########################################### [100%]
[root@getoraclelnx01 server]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm
warning: libaio-devel-0.3.106-5.x86_64.rpm: header v3 dsa signature: nokey, key id 1e5e0159
如上所示,既可以用rpm安装,也可以用yum本地源进行安装,这个就看那个方便以及个人的喜好、习惯了。一般推荐用yum安装,不过需要进行配置。具体可以参见我的博客。
4)系统配置准备
4.1 创建oracle用户和用户组
[root@getoraclelnx01 server]# groupadd dba
[root@getoraclelnx01 server]# groupadd oinstall
[root@getoraclelnx01 server]# useradd -g oinstall -g dba oracle
[root@getoraclelnx01 server]# id oracle
uid=502(oracle) gid=503(oinstall) groups=503(oinstall),502(dba)
创建了oracle用户以及相关用户组后,需要设置oracle用户密码。
4.2 创建安装目录
[root@getoraclelnx01 server]# mkdir -p /u01/app/oracle
[root@getoraclelnx01 server]# chown -r oracle:oinstall /u01/app/oracle
[root@getoraclelnx01 server]# chmod -r 775 /u01/app/oracle
4.3 disable selinux
[root@getoraclelnx01 ~]# /usr/sbin/sestatus
selinux status: disabled
[root@getoraclelnx01 ~]# /usr/sbin/getenforce
disabled
[root@getoraclelnx01 ~]#
从上面可以看出selinux已经被禁用了,如果没有禁用,则可以通过下面命令禁用
getenforce (returns "enforcing")
setenforce 0
getenforce (returns "permissive")
end to restore it to enforcing
setenforce 1
[root@getoraclelnx01 os]# /usr/sbin/sestatus
selinux status: disabled
[root@getoraclelnx01 os]# /usr/sbin/getenforce
[root@getoraclelnx01 os]#
disable secure linux by editing the "/etc/selinux/config" file, making sure the selinux flag is set as follows.
selinux=disabled
4.4 修改系统内核参数
在修改系统内核参数前,你可以用命令先查看一下当前各类系统参数的值,亦或直接查看配置文件/etc/sysctl.conf
[root@getoraclelnx01 ~]# getconf pagesize
4096
[root@getoraclelnx01 ~]# sysctl -a | grep sem
kernel.sem = 250 32000 32 128
[root@getoraclelnx01 ~]# sysctl -a | grep shm
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0
[root@getoraclelnx01 ~]# sysctl -a | grep file-max
fs.file-max = 2414060
[root@getoraclelnx01 ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
关于内核参数的一些设置建议,可以参考下面资料:
view code
修改前最后先备份一下/etc/sysctl.conf,以防万一。
[root@getoraclelnx01 ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak
[root@getoraclelnx01 ~]# vi /etc/sysctl.conf 添加或修改下面参数
kernel.shmall = 6029312
kernel.sem =250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.ip_local_port_range =9000 65500
fs.file-max=65536
fs.aio-max-nr=1048576
kernel.shmall =physical ram size / pagesize (getconf pagesize) -- if the defaults are greater then leave it.
kernel.shmall = 内存大小/4k=23g*1024*1024/4k = 6029312
kernel.shmmax = 20*1024*1024=20971520 而默认的为68719476736,那么使用默认值
修改完成后保存,然后运行sysctl -p 命令使之生效
4.5 设置用户限制
在/etc/security/limits.conf中添加如下配置。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
add the following line to the "/etc/pam.d/login" file,
if it does not already exist.
session required /lib/security/pam_limits.so
session required pam_limits.so
add the following to
/etc/profile if oracle user will use the bash shell.
if [ $user = "oracle" ]; then
ulimit -u 16384
ulimit -n 65536
fi
4.6 配置环境变量
首先切换到oracle账户 ,编辑修改主目录下 .bash_profile
tmp=/tmp; export tmp
tmpdir=$tmp; export tmpdir
oracle_base=/u01/app/oracle; export oracle_base
oracle_home=$oracle_base/product/12.1.0/db_1; export oracle_home
oracle_sid=epps; export oracle_sid
oracle_term=xterm; export oracle_term
path=/usr/sbin:$path; export path
path=$oracle_home/bin:$path; export path
ld_library_path=$oracle_home/lib:/lib:/usr/lib; export ld_library_path
classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib; export classpath
if [ $shell = "/bin/ksh" ]; then
ulimit -p 16384
else
ulimit -u 16384 -n 65536
使配置生效
[oracle@getoraclelnx01 ~]$ source .bash_profile
[oracle@getoraclelnx01 ~]$
解压安装镜像文件
[oracle@getoraclelnx01 tmp]$ unzip v38500-01_1of2.zip
[oracle@getoraclelnx01 tmp]$ unzip v38500-01_2of2.zip
安装步骤截图
在这一步时,无法继续,因为oracle账户无法创建orainventory目录,所以必须先创建该用户并授权
[root@getoraclelnx01 ~]# mkdir -p /u01/app/orainventory
[root@getoraclelnx01 ~]# chown -r oracle:oinstall /u01/app/orainventory
[root@getoraclelnx01 ~]# chmod -r 775 /u01/app/orainventory
验证参数时,fs.file-max设置为65536,但是oracle推荐使用68157744,net.core.wmem_max大小为262144,oracle 推荐使用1048576,修改内核参数,运行sysctl -p使之生效。然后重新验证通过
[root@getoraclelnx01 ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.sem = 250 32000 100 128
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
fs.aio-max-nr = 1048576
运行过程会提示让你用root账户执行2个脚本,你将脚本的文件拿下来,在root账户下执行即可。