Linux 平台安装Oracle Database 12c
摘要:官方的下载地址:1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132URL地址2需要先注册,然后才能登陆下载,注册登陆界面https://edelivery.oracle.com关于这两者有啥区别:听一个同事说,用metalink账号下载的安装文件完整一些。
官方的下载地址:
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)检查硬件要求(CheckHardwareRequirements)
2.1CheckCPU
[root@getoraclelnx01tmp]#
[root@getoraclelnx01tmp]#grep"modelname"/proc/cpuinfo
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
modelname:Intel(R)Xeon(R)[email protected]
[root@getoraclelnx01tmp]#cat/proc/cpuinfo|grep"processor"|wc-l
8
[root@getoraclelnx01tmp]#cat/proc/cpuinfo|grep"physicalid"|sort|uniq|wc-l
4
[root@getoraclelnx01tmp]#
clip_image004
2.2CheckMemory
[root@getoraclelnx01tmp]#grepMemTotal/proc/meminfo
MemTotal:24736752kB
[root@getoraclelnx01tmp]#grepSwapTotal/proc/meminfo
SwapTotal:37748728kB
[root@getoraclelnx01tmp]#free-g
totalusedfreesharedbufferscached
Mem:23716005
-/+buffers/cache:122
Swap:35035
[root@getoraclelnx01tmp]#
clip_image006
Oracle12c对系统内存的最低要求为1G,推荐2G或更大的内存,从上面结果可以知道系统内存23G,完全满足要求。
Oracle对交换分区(SwapSpace)的推荐设置如下,这里SwapSpace为35G,不是16G,需要做一下调整。
clip_image008
2.3CheckDiskCapacity
clip_image010
Oracle12c企业版的需要6.4G大小的磁盘空间,标准版需要6.1G大小的磁盘空间。/tmp需要至少1G的大小。从上面结果得知,磁盘空间完全满足。
3)检查软件要求(CheckingtheSoftwareRequirements)
3.1操作系统版本检测
Oracle12c只支持64位的Linux系统。不支持32Linux平台,这也许是以后的趋势了。OperatingSystemRequirementsforx86-64LinuxPlatforms。Oracle的官方文档明确列出了支持下面三个Linux版本
SupportedOracleLinux6andRedHatEnterpriseLinux6Distributionsforx86-64
SupportedOracleLinux5andRedHatEnterpriseLinux5Distributionsforx86-64
SupportedSUSEDistributionsforx86-64
[root@getoraclelnx01/]#uname-m
x86_64
[root@getoraclelnx01/]#uname-r
2.6.32-200.13.1.el5uek
[root@getoraclelnx01/]#more/etc/redhat-release
RedHatEnterpriseLinuxServerrelease5.7(Tikanga)
[root@getoraclelnx01~]#uname-a
Linuxgetoraclelnx01.gfg1.esquel.com2.6.32-200.13.1.el5uek#1SMPWedJul2721:02:33EDT2011x86_64x86_64x86_64GNU/Linux
[root@getoraclelnx01Server]#lsb_release-id
DistributorID:EnterpriseEnterpriseServer
Description:EnterpriseLinuxEnterpriseLinuxServerrelease5.7(Carthage)
[root@getoraclelnx01Server]#
3.2检查oracle12c所需包
关于Oracle12c所需包,从官方文档看,不同版本的操作系统似乎有所不同,OracleLinux5andRedHatEnterpriseLinux5需要安装下面一些包
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3(32bit)
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-58
glibc-2.5-58(32bit)
glibc-devel-2.5-58
glibc-devel-2.5-58(32bit)
ksh
libaio-0.3.106
libaio-0.3.106(32bit)
libaio-devel-0.3.106
libaio-devel-0.3.106(32bit)
libgcc-4.1.2
libgcc-4.1.2(32bit)
libstdc++-4.1.2
libstdc++-4.1.2(32bit)
libstdc++-devel4.1.2
libXext-1.0.1
libXext-1.0.1(32bit)
libXtst-1.0.1
libXtst-1.0.1(32bit)
libX11-1.0.3
libX11-1.0.3(32bit)
libXau-1.0.1
libXau-1.0.1(32bit)
libXi-1.0.1
libXi-1.0.1(32bit)
make-3.81
sysstat-7.0.2
rpm-qbinutilscompat-libstdc++gccgcc-c++glibcglibc-develkshlibaiolibaio-devellibgcclibstdc++libstdc++-devellibXextlibXtstlibX11libXaulibXimakesysstat
clip_image012
如上所示,还需要安装包compat-libstdc++和libaio-devel相关包
clip_image014
[root@getoraclelnx01Server]#rpm-ivhcompat-libstdc++-33-3.2.3-61.i386.rpm
warning:compat-libstdc++-33-3.2.3-61.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID1e5e0159
Preparing...###########################################[100%]
packagecompat-libstdc++-33-3.2.3-61.i386isalreadyinstalled
[root@getoraclelnx01Server]#rpm-ivhcompat-libstdc++-33-3.2.3-61.x86_64.rpm
warning:compat-libstdc++-33-3.2.3-61.x86_64.rpm:HeaderV3DSAsignature:NOKEY,keyID1e5e0159
Preparing...###########################################[100%]
packagecompat-libstdc++-33-3.2.3-61.x86_64isalreadyinstalled
[root@getoraclelnx01Server]#ls*libaio-devel*
libaio-devel-0.3.106-5.i386.rpmlibaio-devel-0.3.106-5.x86_64.rpm
[root@getoraclelnx01Server]#rpm-ivhlibaio-devel-0.3.106-5.i386.rpm
warning:libaio-devel-0.3.106-5.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID1e5e0159
Preparing...###########################################[100%]
1:libaio-devel###########################################[100%]
[root@getoraclelnx01Server]#rpm-ivhlibaio-devel-0.3.106-5.x86_64.rpm
warning:libaio-devel-0.3.106-5.x86_64.rpm:HeaderV3DSAsignature:NOKEY,keyID1e5e0159
Preparing...###########################################[100%]
1:libaio-devel###########################################[100%]
[root@getoraclelnx01Server]#
如上所示,既可以用rpm安装,也可以用yum本地源进行安装,这个就看那个方便以及个人的喜好、习惯了。一般推荐用yum安装,不过需要进行配置。具体可以参见我的博客。
4)系统配置准备
4.1创建Oracle用户和用户组
[root@getoraclelnx01Server]#groupadddba
[root@getoraclelnx01Server]#groupaddoinstall
[root@getoraclelnx01Server]#useradd-goinstall-Gdbaoracle
[root@getoraclelnx01Server]#idoracle
uid=502(oracle)gid=503(oinstall)groups=503(oinstall),502(dba)
[root@getoraclelnx01Server]#
clip_image016
创建了oracle用户以及相关用户组后,需要设置oracle用户密码。
4.2创建安装目录
[root@getoraclelnx01Server]#
[root@getoraclelnx01Server]#mkdir-p/u01/app/oracle
[root@getoraclelnx01Server]#chown-Roracle:oinstall/u01/app/oracle
[root@getoraclelnx01Server]#chmod-R775/u01/app/oracle
[root@getoraclelnx01Server]#
clip_image018
4.3DisableSELinux
[root@getoraclelnx01~]#/usr/sbin/sestatus
SELinuxstatus:disabled
[root@getoraclelnx01~]#/usr/sbin/getenforce
Disabled
[root@getoraclelnx01~]#
clip_image020
从上面可以看出SELinux已经被禁用了,如果没有禁用,则可以通过下面命令禁用
getenforce(returns"Enforcing")
setenforce0
getenforce(returns"Permissive")
Endtorestoreittoenforcing
setenforce1
getenforce(returns"Enforcing")
[root@getoraclelnx01os]#/usr/sbin/sestatus
SELinuxstatus:disabled
[root@getoraclelnx01os]#/usr/sbin/getenforce
Disabled
[root@getoraclelnx01os]#
Disablesecurelinuxbyeditingthe"/etc/selinux/config"file,makingsuretheSELINUXflagissetasfollows.
SELINUX=disabled
4.4修改系统内核参数
在修改系统内核参数前,你可以用命令先查看一下当前各类系统参数的值,亦或直接查看配置文件/etc/sysctl.conf
[root@getoraclelnx01~]#getconfPAGESIZE
4096
[root@getoraclelnx01~]#sysctl-a|grepsem
kernel.sem=2503200032128
[root@getoraclelnx01~]#sysctl-a|grepshm
kernel.shmmax=68719476736
kernel.shmall=4294967296
kernel.shmmni=4096
vm.hugetlb_shm_group=0
[root@getoraclelnx01~]#sysctl-a|grepfile-max
fs.file-max=2414060
[root@getoraclelnx01~]#sysctl-a|grepip_local_port_range
net.ipv4.ip_local_port_range=3276861000
[root@getoraclelnx01~]#
clip_image022
关于内核参数的一些设置建议,可以参考下面资料:
ViewCode
修改前最后先备份一下/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=25032000100128
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=900065500
fs.file-max=65536
fs.aio-max-nr=1048576
kernel.shmall=physicalRAMsize/pagesize(getconfPAGESIZE)--Ifthedefaultsaregreaterthenleaveit.
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中添加如下配置。
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
oraclesoftstack10240
oraclehardstack10240
Addthefollowinglinetothe"/etc/pam.d/login"file,
ifitdoesnotalreadyexist.
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
Addthefollowingto
/etc/profileifOracleuserwillusethebashshell.
if[$USER="oracle"];then
ulimit-u16384
ulimit-n65536
fi
4.6配置环境变量
首先切换到oracle账户,编辑修改主目录下.bash_profile
clip_image026
TMP=/tmp;exportTMP
TMPDIR=$TMP;exportTMPDIR
ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;exportORACLE_HOME
ORACLE_SID=epps;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
PATH=/usr/sbin:$PATH;exportPATH
PATH=$ORACLE_HOME/bin:$PATH;exportPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;exportCLASSPATH
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
使配置生效
[oracle@getoraclelnx01~]$source.bash_profile
[oracle@getoraclelnx01~]$
解压安装镜像文件
[oracle@getoraclelnx01tmp]$unzipV38500-01_1of2.zip
[oracle@getoraclelnx01tmp]$unzipV38500-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-Roracle:oinstall/u01/app/oraInventory
[root@getoraclelnx01~]#chmod-R775/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=25032000100128
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=900065500
fs.file-max=6815744
fs.aio-max-nr=1048576
[root@getoraclelnx01~]#
clip_image068
clip_image070
clip_image072
运行过程会提示让你用root账户执行2个脚本,你将脚本的文件拿下来,在root账户下执行即可。
clip_image078
clip_image080
[参考资料]:
DatabaseQuickInstallationGuideforLinuxx86-64e17718.pdf
http://blog.csdn.net/lnwf5188588/article/details/8779001
用云栖社区APP,舒服~