centos 6 oracle 11G DB install


因业务迁移,需重新部署oracle DB,此文仅作部署记录,部署文档主要参考官方文档http://docs.oracle.com/cd/E11882_01/install.112/e47689/toc.htm


概要:

主机:OpenStack 云主机

系统:Completing a Minimal Linux centos 6.8 x86_64

DB:Oracle Database 11g Release 2(11.2)

内存:2Gb

硬盘:/dev/vda 20Gb

/dev/vdb 30Gb

swap:0


一 系统要求:

Oracle DB是使用图形界面进行安装的,这也就要求,系统必须支持图形界面。

注:此处做下说明,图形界面安装并不是必须的。ORACLE 同样支持命令行安装,只是貌似不能自定义安装

对于Minimal安装的Linux 认是没有图形界面的,使用如下命令安装X Window System

#yumgroupinstall-y"Desktop""XWindowSystem"

其次要能远程连接到系统,这就需要openssh-server。如下命令确认,没有就安装

#rpm-qa|grepssh
#yuminstallopenssh-server

确认系统防火墙允许ssh端口通过

使用如下命令,可远程调用图形界面

#ssh-Xname@example.com


二 硬件要求:

系统必须满足以下最低硬件要求

1. 内存:

最低: 1 GB of RAM

推荐: 2 GB of RAM or more

通过如下命令确认内存大小

#grepMemTotal/proc/meminfo

注:下表说明了RAM和swap space 之间的关系

RAM Swap Space
1 GB < RAM < 2 GB 1.5 倍RAM大小
2 GB < RAM < 16 GB 等于 RAM 实际大小
RAM >16 GB 16 GB

通过如下命令确认Swap空间

#grepSwapTotal/proc/meminfo

查看可用内存和Swap

#free


自动内存管理:

Oracle 11G开始,自动内存管理特性需要更多的共享内存(/dev/shm)和文件描述符。共享内存的大小要大于每个实例的memory_max_target和memory_target的参数。如果参数设置为非零或一个不正确的大小,将导致oracle启动时报错ora-00845。

如下命令确认共享可用容量:

#df-h/dev/shm/

如遇ora-00845错误增加/dev/shm挂载点大小。

例如:

#mount-ttmpfsshmfs-osize=7g/dev/shm

在/etc/fstab添加条目:

shmfs/dev/shmtmpfssize=7g0

2. 系统架构:

确认系统可以运行oracle

uname-m

3. 磁盘空间:

/tmp:1Gb空闲空间

查看可用空间

df-h/tmp

注:如空闲空间不满足要求,可配置oracle用户的TMP 和TMPDIR 环境变量。

The following tables describe the disk space requirements for software files and data files for each installation type on Linux x86-64:

Installation Type Requirement for Software Files (GB)
Enterprise Edition 4.7
Standard Edition 4.6


Installation Type disk Space for Data Files (GB)
1.7
1.5

如下命令确认可用磁盘空间

#df-h


显示

oracle 11G R2 需要不低于1024*768的分辨率


确认系统版本:

#cat/proc/version
或
#lsb_release

确认内核:

#uame-r
2.6.32-573.el6.x86_64

依赖包:

Oracle Linux 6,Red Hat Enterprise Linux 6,and Asianux Server 4 The following packages (or later versions) must be installed:
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
make-3.81-19.el6
sysstat-9.0.4-11.el6(x86_64)

如下命令确认是否安装依赖包:

#rpm-qpackage_name


三 准备:

创建swap分区:

因私有云主机系统认未分配swap,需手工建立swap

1.创建2G大小的swap分区

#ddif=/dev/zeroof=/mnt/swapbs=1Mcount=2048

2.设置swap分区文件

#mkswap/mnt/swap

3.启用swap分区

#swapon/mnt/swap

4.设置开机挂载swap分区

#echo"/mnt/swapswapswapdefaults00">>/etc/fstab



安装依赖包

sudoyuminstallbinutils\
compat-libcap1\
compat-libstdc++-33\
compat-libstdc++-33.i686\
gcc\
gcc-c++\
glibc\
glibc-devel\
glibc-devel.i686\
ksh\
libgcc\
libstdc++\
libstdc++.i686\
libstdc++-devel\
libstdc++-devel.i686\
libaio\
libaio.i686\
libaio-devel\
libaio-devel.i686\
make\
sysstat\
unixODBC.i686\
unixODBC-devel


调整内核参数

以下kernel 值是满足oracle运行的最小值,如在生产系统,建议调整这些值优化系统。关于内核参数信息,请查看操作系统文件

1.编辑/etc/sysctl.conf 文件修改以下参数值

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmax=4294967295
kernel.shmmni=4096
kernel.sem=25032000100128
net.ipv4.ip_local_port_range=900065500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576

2.更新kernel 当前值

#/sbin/sysctl-p

3.确认kernel 值更新

#/sbin/sysctl-a

4.更新kernel 参数值后,重启系统或运行命令,让/etc/sysctl.conf 的修改立即生效

集群共享磁盘验证 cvuqdisk包,这里使用本地目录做为数据目录,对cvuqdisk不做说明


主机名解析:

1.查看主机名

#cat/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dev-oracle.novalocal
NOZEROCONF=yes

2.编辑/etc/hosts 文件增加如下一行

127.0.0.1dev-oracle.novalocal

3.确认主机名解析成功

#ping-c3dev-oracle.novalocal
PINGdev-oracle.novalocal(127.0.0.1)56(84)bytesofdata.
64bytesfromlocalhost(127.0.0.1):icmp_seq=1ttl=64time=0.109ms
64bytesfromlocalhost(127.0.0.1):icmp_seq=2ttl=64time=0.109ms
64bytesfromlocalhost(127.0.0.1):icmp_seq=3ttl=64time=0.054ms


关闭transparent_hugepage

linux 6 transparent_hugepage是认启用的。内存动态分配的问题,可能导致内存分配延迟。因此oracle建议禁用transparent_hugepage,避免性能问题。

Red Hat Linux kernels:

#cat/sys/kernel/mm/redhat_transparent_hugepage/enabled

Other kernels

#cat/sys/kernel/mm/transparent_hugepage/enabled

如下的输出,代表启用

[always]madvisenever

禁用transparent_hugepage

在kernel 引导文件/etc/grub.conf 添加一下条目

transparent_hugepage=never

如:

titleCentOS(2.6.32-642.4.2.el6.x86_64)
root(hd0,0)
kernel/boot/vmlinuz-2.6.32-642.4.2.el6.x86_64ro\
root=UUID=4b816de7-ec12-431c-a571-5f3d828bf0e1rd_NO_LUKSrd_NO_LVM\
LANG=en_US.UTF-8rd_NO_MDconsole=ttyS0,115200SYSFONT=latarcyrheb-sun16\
crashkernel=autoKEYBOARDTYPE=pcKEYTABLE=usrd_NO_DMrhgbquiet\
transparent_hugepage=never
initrd/boot/initramfs-2.6.32-642.4.2.el6.x86_64.img

重启系统生效


创建系统用户和组

角色权限分离:

Oracle建议创建一个拥有软件安装权限的所有者。

创建单独的用户和独立的操作提同权限的组

dba

第一次在系统上安装Oracle 数据库,必须创建此组。此组辨别操作系统用户有管理数据库的权限(sysdba privilege)

oper

这是一个可选组。如果想创建一个有限的数据库管理权限,创建此组。

创建角色分离的组和用户

创建oinstall组

#groupaddoinstall

创建dba组

#groupadd-g502dba

创建per组

groupadd-g503oper


创建软件所有者用户

1. 创建一个Oracle用户

#useradd-u502-goinstall-Gdba,operoracle

2. 设置用户密码

#passwdoracle


检查安装用户的资源限制:

参考以下推荐范围值

Resource Shell Limit Resource Soft Limit Hard Limit

Open file descriptors

nofile

at least 1024

at least 65536

Number of processes available to a single user

nproc

at least 2047

at least 16384

Size of the stack segment of the process

stack

at least 10240 KB

at least 10240 KB,and at most 32768 KB


1.使用安装用户登录

2.检查文件描述符、软硬限制。确保结果在推荐范围内

$ulimit-Sn
1024
$ulimit-Hn
65536

3.检查用户进程数限制。确保结果在推荐范围内

$ulimit-Su
2047
$ulimit-Hu
16384

4.检查堆栈设置。确保在推荐范围内

$ulimit-Ss
10240
$ulimit-Hs
32768

编辑 /etc/security/limits.conf 在文件增加如下参数,可调限制

*softnofile65535
*hardnofile65535
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftstack10240


创建目录

使用root用户登录

创建Oracle 根目录

这里是用户目录,根据用户名设定的,如果你的用户名为ora,那就将oracle替换成ora

#mkdir-p/data/app/oracle
#chown-Roracle:oinstall/data/app/oracle
#chmod-R775/data/app/oracle


创建数据库文件目录(用于自动存储)

#mkdir/data/oradata
#chownoracle:oinstall/data/oradata
#chmod775/data/oradata

创建恢复文件目录(快速恢复,用于自动存储)

#mkdir/data/fast_recovery_area
#chownoracle:oinstall/data/fast_recovery_area
#chmod775/data/fast_recovery_area


设置语言

$exportLANG=en_US.UTF-8

使用英文语言安装,以防出现乱码问题

或下载中文字库zysong.ttf 放到/usr/share/fonts/zh_CN/TrueType 目录下,即可使用中文语言安装

$exportLANG=zh_CN.UTF-8


设置用户环境

此环境变量可在数据库安装完成并建立数据库实例后设置


ORACLE_BASE:为数据库用户根目录

ORACLE_HOME:为实际数据库软件安装目录

ORACLE_SID:为实际数据库实例名称


$vim~/.bash_profile
PATH=$PATH:$HOME/bin

exportPATH
umask022
exportORACLE_BASE=/data/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
exportPATH=$PATH:$ORACLE_HOME/bin
exportORACLE_SID=orcl


四 安装oracle

通过使用ssh -X 开启远程窗口调用支持以oracle用户连接服务器

执行数据库安装脚本

$./runInstaller
StartingOracleUniversalInstaller...

CheckingTempspace:mustbegreaterthan120MB.Actual10608MBPassed
Checkingswapspace:mustbegreaterthan150MB.Actual2047MBPassed
Checkingmonitor:mustbeconfiguredtodisplayatleast256colors.Actual16777216Passed
PreparingtolaunchOracleUniversalInstallerfrom/tmp/OraInstall2016-09-12_08-22-04PM.
Pleasewait...

客户端会弹出图形安装界面,按照图形界面提示,一步步安装。

注意,安装方式有两种选择

一种是安装并配置数据库,另一种是仅安装数据库。本案例选择认安装并配置数据库

两种安装方式没有太大区别,图形界面均有说明

选择仅安装数据库,安装后可执行 `dbca` 命令调用图形界面创建数据库,`netca`命令调用图形界面创建监听,具体可参见此链接后半部分http://dengqsintyt.iteye.com/blog/1991930/


取消勾选,下一步 没有购买oracle支持,就全部为空

wKiom1fX6G_jtu8JAADrNTop06A363.jpg

yes 继续

wKioL1fX6PHyc-mBAABDoyuaFFE440.jpg


认 创建并配置数据库

wKioL1fZP6XBUz0UAADjA8BhOuk475.jpg


选择服务器类

wKioL1fZP8_g6-2rAAEVyPMZfa0049.jpg


单实例模式

wKiom1fZQDXTf1PZAADPq2El6eg934.jpg


高级安装模式

wKioL1fZQFKgSQrMAAEQFtYBkKc144.jpg


认语言

wKioL1fZQMHAMzB5AAE8KUR0rgA046.jpg


认选择企业版

wKioL1fZQPGgAFKTAAF4Fr4rR_4719.jpg


Oracle Base: 选择oracle 根目录

Software Location:选择软件安装目录

wKioL1fZQRXTxsgEAAEgnhlLm94024.jpg


认为 通用/事物处理

wKioL1fZQW6QjucyAAEl9B8u8i8291.jpg


数据库名及服务名。配置用户环境时的ORACLE_SID 要与此相同

wKiom1fZQgbDNIb8AAEzzd2lBnI027.jpg


开启自动内存管理

wKiom1fZQrSTdEN9AAGMz5UWxwU106.jpg


设置编码为UTF8

wKiom1fZQuOx5gYwAAFt2NRHACo033.jpg



启用Oracle 企业管理控制台OEM

wKiom1fZQ3mAJhKMAAFuSaPtq5o129.jpg


选择数据库文件目录,选择之前建立的数据库文件目录/data/oradata

wKiom1fZQ6bAJSpQAAGTv7Fk3B4272.jpg


自动备份设置,生产环境建议开启,选择之前建立的快速恢复目录/data/fast_recovery_area

wKioL1fZRCGzdRe7AAFcplUbyQU736.jpg


设置数据库用户和密码,可为每个用户设置独立的密码,也可选择下面的Use the same password for all accounts 使用统一的密码

wKioL1fZRIuTH__AAAGSAogMSfc027.jpg


选择授权组,一般认即可,如果之前创建了oper组,则OSOPER 应该选择oper组

wKiom1fZRPuQXG_9AAFtMYqiba0440.jpg


检查安装要求,确认相关包已安装,可选择“Ignore All“直接忽略,否则不能继续。这里显示缺少包是因为版本的问题

wKiom1fZRYGhSN6sAAHMJDMTyCA052.jpg


安装结束后,会弹出如下窗口,点击红色圈可重新设置用户密码

wKiom1fZRs-S5JrrAAFdiLjgr98043.jpg

wKioL1fZRrmDbYXsAACyJcBsV8E334.jpg


最后会弹出如下窗口,使用root 用户执行两个脚本

wKioL1fZR9azWU1sAADH2H5dBAA522.jpg



#/bin/sh/data/app/oraInventory/orainstRoot.sh
Changingpermissionsof/data/app/oraInventory.
Addingread,writepermissionsforgroup.
Removingread,write,executepermissionsforworld.
Changinggroupnameof/data/app/oraInventorytooinstall.
Theexecutionofthescriptiscomplete.
#/bin/sh/data/app/oracle/product/11.2.0/dbhome_2/root.sh
RunningOracle11groot.shscript...
Thefollowingenvironmentvariablesaresetas:
ORACLE_OWNER=oracle
ORACLE_HOME=/data/app/oracle/product/11.2.0/dbhome_2
Enterthefullpathnameofthelocalbindirectory:[/usr/local/bin]:
copyingdbhometo/usr/local/bin...
copyingoraenvto/usr/local/bin...
copyingcoraenvto/usr/local/bin...
Creating/etc/oratabfile...
Entrieswillbeaddedtothe/etc/oratabfileasneededby
DatabaseConfigurationAssistantwhenadatabaseiscreated
Finishedrunninggenericpartofroot.shscript.
Nowproduct-specificrootactionswillbeperformed.
Finishedproduct-specificrootactions.

安装到此全部结束


如何将oracle加入系统服务,可参考之前一篇文档http://morrowind.blog.51cto.com/1181631/1696145

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native