您的位置:首页 > 数据库 > Oracle

Linux 平台安装Oracle Database 12c

2017-11-30 10:31 417 查看
)下载Oracle Database 12cRelease 1安装介质

官方的下载地址:

1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132

URL地址2需要先注册,然后才能登陆下载,注册登陆界面https://edelivery.oracle.com

kernel.shmmax

关于内核参数kernel.shmmax,oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降

一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可

如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152

当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

Kernel.shmall

Shmall指系统一次可以使用的共享内存段的最大数量,以页为单位。Oracle默认设置为 kernel.shmall = 2097152

即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律

kernel.shmall = 8G/4k=8388608k/4k=2097152    ---内存8G

kernel.shmall = 16G/4k=16777216k/4k=4194304    ---内存16G

kernel.shmall = 32G/4k=33554432k/4k=8388608    ---内存32G

(RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

kernel.shmmni

shmmni 指系统共享内存段的最大数量

oracle设置默认值为4096,一般是足够用了,不需要调整

文件句柄数的相关内核参数设置

fs.file-max

fs.file-max指系统能够打开最大的文件句柄数

oracle建议设置为65536,一般不用修改

信号的相关内核参数设置

kernel.sem

kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

semmni 指整个系统的信号集的最大数量

semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

semopm 指每个semop系统调用可以执行的信号操作的最大数量

oracle默认设置

semmsl=250

semmns=3200

semopm=100

semmni=128

即kernel.sem= 250 3200 100 128

例:在oracle  ora.init文件参数中设置PROCESSES参数为5000

则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

另外semopm建议设置等于semmsl值即5010

那么kernel.sem=5010 641280 5010 128

网络相关的内核参数设置

net.core.rmem_default

net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

net.core.rmem_max

net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

oracle11g建议设置为4M 即4194304

net.core.wmem_default

net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

net.core.wmem_max

net.core.wmem_max  指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

oracle11g建议设置为1M即1048576

net.ipv4.ip_local_port_range

net.ipv4.ip_local_port_range ,指本地的允许打开随机端口范围

oracle10g前建议端口范围为1024 65000,oracle11g建议端口范围为:

9000 65500 并忽略oracle安装程序任何关于这个参数的警告

Asynchronous I/O相关的内核参数设置

fs.aio-max-nr

fs.aio-max-nr 指系统允许的最大的异步IO请求大小

oracle默认设置为1M即1048576,一般不用更改


修改前最后先备份一下/etc/sysctl.conf,以防万一。

[root@getoraclelnx01 ~]# cp /etc/sysctl.conf /etc/sysctl.conf.bak

[root@getoraclelnx01 ~]# vi /etc/sysctl.conf 添加或修改下面参数

kernel.shmmax = 68719476736

kernel.shmall = 6029312

kernel.shmmni = 4096

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 [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

使配置生效

[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.shmmax = 68719476736

kernel.shmall = 6029312

kernel.shmmni = 4096

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 = 1048576

net.ipv4.ip_local_port_range = 9000 65500

fs.file-max = 6815744

fs.aio-max-nr = 1048576

[root@getoraclelnx01 ~]#













运行过程会提示让你用root账户执行2个脚本,你将脚本的文件拿下来,在root账户下执行即可。









[参考资料]:

Database Quick Installation Guide for Linux x86-64 e17718.pdf

http://blog.csdn.net/lnwf5188588/article/details/8779001
http://www.cnblogs.com/kerrycode/p/3319958.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: