Linux 平台安裝Oracle Database 12c


)下載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

clip_image002

關於這兩者有啥區別: 聽一個同事說,用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

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

model name      : Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz

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

[root@getoraclelnx01 tmp]#

clip_image004

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

[root@getoraclelnx01 tmp]#

clip_image006

Oracle 12c 對系統內存的最低要求為1G,推薦2G或更大的內存,從上面結果可以知道系統內存23G,完全滿足要求。

Oracle對交換分區(Swap Space)的推薦設置如下,這里Swap Space為35G,不是16G,需要做一下調整。

clip_image008

2.3 Check Disk Capacity

clip_image010

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

clip_image012

如上所示,還需要安裝包 compat-libstdc++和 libaio-devel相關包

clip_image014

[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

Preparing... ########################################### [100%]

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

Preparing... ########################################### [100%]

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

Preparing... ########################################### [100%]

1:libaio-devel ########################################### [100%]

[root@getoraclelnx01 Server]#

如上所示,既可以用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)

[root@getoraclelnx01 Server]#

clip_image016

創建了oracle用戶以及相關用戶組后,需要設置oracle用戶密碼。

4.2 創建安裝目錄

[root@getoraclelnx01 Server]#

[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

[root@getoraclelnx01 Server]#

clip_image018

4.3 Disable SELinux

[root@getoraclelnx01 ~]# /usr/sbin/sestatus

SELinux status: disabled

[root@getoraclelnx01 ~]# /usr/sbin/getenforce

Disabled

[root@getoraclelnx01 ~]#

clip_image020

從上面可以看出SELinux已經被禁用了,如果沒有禁用,則可以通過下面命令禁用

getenforce (returns "Enforcing")

setenforce 0

getenforce (returns "Permissive")

End to restore it to enforcing

setenforce 1

getenforce (returns "Enforcing")

[root@getoraclelnx01  os]# /usr/sbin/sestatus

SELinux status:                 disabled

[root@getoraclelnx01  os]# /usr/sbin/getenforce

Disabled

[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

[root@getoraclelnx01 ~]#

clip_image022

關於內核參數的一些設置建議,可以參考下面資料:

復制代碼
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 命令使之生效

clip_image024

 

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

clip_image026

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

安裝步驟截圖

clip_image028

clip_image030

clip_image032

clip_image034

clip_image036

clip_image038

clip_image040

clip_image042

clip_image044

clip_image046

在這一步時,無法繼續,因為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

clip_image048

clip_image050

clip_image052

clip_image054

clip_image056

clip_image058

clip_image060

clip_image062

clip_image064

clip_image066

驗證參數時,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 ~]#

clip_image068

clip_image070

clip_image072

 

運行過程會提示讓你用root賬戶執行2個腳本,你將腳本的文件拿下來,在root賬戶下執行即可。

 

clip_image078

clip_image080

[參考資料]:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM