@H_404_0@因业务迁移,需重新部署oracle DB,此文仅作部署记录,部署文档主要参考官方文档http://docs.oracle.com/cd/E11882_01/install.112/e47689/toc.htm
@H_404_0@
@H_404_0@概要:
@H_404_0@主机:OpenStack 云主机 @H_404_0@系统:Completing a Minimal Linux centos 6.8 x86_64 @H_404_0@DB:Oracle Database 11g Release 2(11.2) @H_404_0@内存:2Gb @H_404_0@硬盘:/dev/vda 20Gb @H_404_0@/dev/vdb 30Gb @H_404_0@swap:0
@H_404_0@
@H_404_0@一 系统要求:
@H_404_0@Oracle DB是使用图形界面进行安装的,这也就要求,系统必须支持图形界面。 @H_404_0@注:此处做下说明,图形界面安装并不是必须的。ORACLE 同样支持命令行安装,只是貌似不能自定义安装
@H_404_0@对于Minimal安装的Linux 默认是没有图形界面的,使用如下命令安装X Window System
#yumgroupinstall-y"Desktop""XWindowSystem"@H_404_0@其次要能远程连接到系统,这就需要openssh-server。如下命令确认,没有就安装
#rpm-qa|grepssh #yuminstallopenssh-server@H_404_0@确认系统防火墙允许ssh端口通过 @H_404_0@使用如下命令,可远程调用图形界面
#ssh-Xname@example.com@H_404_0@
@H_404_0@二 硬件要求: @H_404_0@系统必须满足以下最低硬件要求 @H_404_0@1. 内存: @H_404_0@ 最低: 1 GB of RAM @H_404_0@ 推荐: 2 GB of RAM or more @H_404_0@通过如下命令确认内存大小
#grepMemTotal/proc/meminfo@H_404_0@注:下表说明了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 |
#grepSwapTotal/proc/meminfo@H_404_0@查看可用内存和Swap
#free@H_404_0@
@H_404_0@自动内存管理: @H_404_0@Oracle 11G开始,自动内存管理特性需要更多的共享内存(/dev/shm)和文件描述符。共享内存的大小要大于每个实例的memory_max_target和memory_target的参数。如果参数设置为非零或一个不正确的大小,将导致oracle启动时报错ora-00845。 @H_404_0@如下命令确认共享可用容量:
#df-h/dev/shm/@H_404_0@如遇ora-00845错误,增加/dev/shm挂载点大小。 @H_404_0@例如:
#mount-ttmpfsshmfs-osize=7g/dev/shm@H_404_0@在/etc/fstab添加条目:
shmfs/dev/shmtmpfssize=7g0@H_404_0@2. 系统架构: @H_404_0@确认系统可以运行oracle
uname-m@H_404_0@3. 磁盘空间: @H_404_0@/tmp:1Gb空闲空间 @H_404_0@查看可用空间
df-h/tmp@H_404_0@注:如空闲空间不满足要求,可配置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@H_404_0@
@H_404_0@显示:
@H_404_0@oracle 11G R2 需要不低于1024*768的分辨率
@H_404_0@
@H_404_0@确认系统版本:
#cat/proc/version 或 #lsb_release@H_404_0@确认内核:
#uame-r
2.6.32-573.el6.x86_64@H_404_0@依赖包:
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@H_404_0@
@H_404_0@三 准备: @H_404_0@创建swap分区:
@H_404_0@因私有云主机系统默认未分配swap,需手工建立swap @H_404_0@1.创建2G大小的swap分区
#ddif=/dev/zeroof=/mnt/swapbs=1Mcount=2048@H_404_0@2.设置swap分区文件
#mkswap/mnt/swap@H_404_0@3.启用swap分区
#swapon/mnt/swap@H_404_0@4.设置开机挂载swap分区
#echo"/mnt/swapswapswapdefaults00">>/etc/fstab@H_404_0@
@H_404_0@
@H_404_0@安装依赖包:
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@H_404_0@
@H_404_0@调整内核参数: @H_404_0@以下kernel 值是满足oracle运行的最小值,如在生产系统,建议调整这些值优化系统。关于内核参数信息,请查看操作系统文件 @H_404_0@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@H_404_0@2.更新kernel 当前值
#/sbin/sysctl-p@H_404_0@3.确认kernel 值更新
#/sbin/sysctl-a@H_404_0@4.更新kernel 参数值后,重启系统或运行命令,让/etc/sysctl.conf 的修改立即生效 @H_404_0@集群共享磁盘验证 cvuqdisk包,这里使用本地目录做为数据目录,对cvuqdisk不做说明 @H_404_0@
@H_404_0@主机名解析: @H_404_0@1.查看主机名
#cat/etc/sysconfig/network
NETWORKING=yes HOSTNAME=dev-oracle.novalocal NOZEROCONF=yes@H_404_0@2.编辑/etc/hosts 文件,增加如下一行
127.0.0.1dev-oracle.novalocal@H_404_0@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@H_404_0@
@H_404_0@关闭transparent_hugepage @H_404_0@linux 6 transparent_hugepage是默认启用的。内存动态分配的问题,可能导致内存分配延迟。因此oracle建议禁用transparent_hugepage,避免性能问题。 @H_404_0@Red Hat Linux kernels:
#cat/sys/kernel/mm/redhat_transparent_hugepage/enabled@H_404_0@Other kernels
#cat/sys/kernel/mm/transparent_hugepage/enabled@H_404_0@如下的输出,代表启用
[always]madvisenever@H_404_0@禁用transparent_hugepage @H_404_0@在kernel 引导文件/etc/grub.conf 添加一下条目
transparent_hugepage=never@H_404_0@如:
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@H_404_0@重启系统生效 @H_404_0@
@H_404_0@创建系统用户和组:
@H_404_0@角色权限分离:
@H_404_0@Oracle建议创建一个拥有软件安装权限的所有者。 @H_404_0@创建单独的用户和独立的操作提同权限的组
@H_404_0@dba
@H_404_0@第一次在系统上安装Oracle 数据库,必须创建此组。此组辨别操作系统用户有管理数据库的权限(sysdba privilege) @H_404_0@oper
@H_404_0@这是一个可选组。如果想创建一个有限的数据库管理权限,创建此组。 @H_404_0@创建角色分离的组和用户: @H_404_0@创建oinstall组
#groupaddoinstall@H_404_0@创建dba组
#groupadd-g502dba@H_404_0@创建per组
groupadd-g503oper@H_404_0@
@H_404_0@创建软件所有者用户 @H_404_0@1. 创建一个Oracle用户
#useradd-u502-goinstall-Gdba,operoracle@H_404_0@2. 设置用户密码
#passwdoracle@H_404_0@
@H_404_0@检查安装用户的资源限制: @H_404_0@参考以下推荐范围值
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 |
@H_404_0@1.使用安装用户登录 @H_404_0@2.检查文件描述符、软硬限制。确保结果在推荐范围内
$ulimit-Sn 1024 $ulimit-Hn 65536@H_404_0@3.检查用户进程数限制。确保结果在推荐范围内
$ulimit-Su 2047 $ulimit-Hu 16384@H_404_0@4.检查堆栈设置。确保在推荐范围内
$ulimit-Ss 10240 $ulimit-Hs 32768@H_404_0@编辑 /etc/security/limits.conf 在文件尾增加如下参数,可调限制
*softnofile65535 *hardnofile65535 oraclesoftnproc2047 oraclehardnproc16384 oraclesoftstack10240@H_404_0@
@H_404_0@创建目录
@H_404_0@使用root用户登录
@H_404_0@创建Oracle 根目录 @H_404_0@这里是用户目录,根据用户名设定的,如果你的用户名为ora,那就将oracle替换成ora
#mkdir-p/data/app/oracle #chown-Roracle:oinstall/data/app/oracle #chmod-R775/data/app/oracle@H_404_0@
@H_404_0@创建数据库文件目录(用于自动存储)
#mkdir/data/oradata #chownoracle:oinstall/data/oradata #chmod775/data/oradata@H_404_0@创建恢复文件目录(快速恢复,用于自动存储)
#mkdir/data/fast_recovery_area #chownoracle:oinstall/data/fast_recovery_area #chmod775/data/fast_recovery_area@H_404_0@
@H_404_0@设置语言
$exportLANG=en_US.UTF-8@H_404_0@使用英文语言安装,以防出现乱码问题 @H_404_0@或下载中文字库zysong.ttf 放到/usr/share/fonts/zh_CN/TrueType 目录下,即可使用中文语言安装
$exportLANG=zh_CN.UTF-8@H_404_0@
@H_404_0@设置用户环境 @H_404_0@此环境变量可在数据库安装完成并建立数据库实例后设置 @H_404_0@
@H_404_0@ORACLE_BASE:为数据库用户根目录
@H_404_0@ORACLE_HOME:为实际数据库软件安装目录 @H_404_0@ORACLE_SID:为实际数据库实例名称 @H_404_0@
$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@H_404_0@
@H_404_0@四 安装oracle: @H_404_0@ @H_404_0@通过使用ssh -X 开启远程窗口调用支持以oracle用户连接服务器 @H_404_0@执行数据库安装脚本
$./runInstaller
StartingOracleUniversalInstaller... CheckingTempspace:mustbegreaterthan120MB.Actual10608MBPassed Checkingswapspace:mustbegreaterthan150MB.Actual2047MBPassed Checkingmonitor:mustbeconfiguredtodisplayatleast256colors.Actual16777216Passed PreparingtolaunchOracleUniversalInstallerfrom/tmp/OraInstall2016-09-12_08-22-04PM. Pleasewait...@H_404_0@客户端会弹出图形安装界面,按照图形界面提示,一步步安装。 @H_404_0@注意,安装方式有两种选择 @H_404_0@一种是安装并配置数据库,另一种是仅安装数据库。本案例选择默认安装并配置数据库 @H_404_0@两种安装方式没有太大区别,图形界面均有说明 @H_404_0@选择仅安装数据库,安装后可执行 `dbca` 命令调用图形界面创建数据库,`netca`命令调用图形界面创建监听,具体可参见此链接后半部分http://dengqsintyt.iteye.com/blog/1991930/ @H_404_0@
@H_404_0@取消勾选,下一步 没有购买oracle支持,就全部为空
@H_404_0@ @H_404_0@yes 继续 @H_404_0@
@H_404_0@默认 创建并配置数据库 @H_404_0@ @H_404_0@
@H_404_0@选择服务器类 @H_404_0@ @H_404_0@
@H_404_0@单实例模式 @H_404_0@ @H_404_0@
@H_404_0@高级安装模式 @H_404_0@ @H_404_0@
@H_404_0@默认语言 @H_404_0@ @H_404_0@
@H_404_0@默认选择企业版 @H_404_0@ @H_404_0@
@H_404_0@Oracle Base: 选择oracle 根目录 @H_404_0@Software Location:选择软件安装目录 @H_404_0@
@H_404_0@默认为 通用/事物处理 @H_404_0@ @H_404_0@
@H_404_0@数据库名及服务名。配置用户环境时的ORACLE_SID 要与此相同 @H_404_0@ @H_404_0@
@H_404_0@开启自动内存管理 @H_404_0@ @H_404_0@
@H_404_0@设置编码为UTF8 @H_404_0@ @H_404_0@
@H_404_0@
@H_404_0@启用Oracle 企业管理控制台OEM @H_404_0@ @H_404_0@
@H_404_0@选择数据库文件目录,选择之前建立的数据库文件目录/data/oradata @H_404_0@ @H_404_0@
@H_404_0@自动备份设置,生产环境建议开启,选择之前建立的快速恢复目录/data/fast_recovery_area @H_404_0@ @H_404_0@
@H_404_0@设置数据库用户和密码,可为每个用户设置独立的密码,也可选择下面的Use the same password for all accounts 使用统一的密码 @H_404_0@ @H_404_0@
@H_404_0@选择授权组,一般默认即可,如果之前创建了oper组,则OSOPER 应该选择oper组 @H_404_0@ @H_404_0@
@H_404_0@检查安装要求,确认相关包已安装,可选择“Ignore All“直接忽略,否则不能继续。这里显示缺少包是因为版本的问题 @H_404_0@ @H_404_0@
@H_404_0@安装结束后,会弹出如下窗口,点击红色圈可重新设置用户密码
@H_404_0@ @H_404_0@ @H_404_0@
@H_404_0@最后会弹出如下窗口,使用root 用户执行两个脚本
@H_404_0@
@H_404_0@
#/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.@H_404_0@安装到此全部结束 @H_404_0@
@H_404_0@如何将oracle加入系统服务,可参考之前一篇文档http://morrowind.blog.51cto.com/1181631/1696145