因业务迁移,需重新部署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
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 |
---|---|---|---|
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 |
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
创建目录
创建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_HOME:为实际数据库软件安装目录
$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支持,就全部为空
yes 继续
默认 创建并配置数据库
选择服务器类
单实例模式
高级安装模式
默认语言
默认选择企业版
Oracle Base: 选择oracle 根目录
Software Location:选择软件安装目录
默认为 通用/事物处理
数据库名及服务名。配置用户环境时的ORACLE_SID 要与此相同
开启自动内存管理
设置编码为UTF8
启用Oracle 企业管理控制台OEM
选择数据库文件目录,选择之前建立的数据库文件目录/data/oradata
自动备份设置,生产环境建议开启,选择之前建立的快速恢复目录/data/fast_recovery_area
设置数据库用户和密码,可为每个用户设置独立的密码,也可选择下面的Use the same password for all accounts 使用统一的密码
选择授权组,一般默认即可,如果之前创建了oper组,则OSOPER 应该选择oper组
检查安装要求,确认相关包已安装,可选择“Ignore All“直接忽略,否则不能继续。这里显示缺少包是因为版本的问题
安装结束后,会弹出如下窗口,点击红色圈可重新设置用户密码
最后会弹出如下窗口,使用root 用户执行两个脚本
#/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
原文链接:https://www.f2er.com/centos/380714.html