实验案列:构建oracle 11g数据库
实验环境:
公司新上线的web应用平台使用oracle 11g 数据库,要求管理员在一台RHEL6服务器中进行部署,并结合计划任务做好逻辑备份.
需求描述:
l服务器采用RHEL6操作系统,并已安装好图形桌面环境
l服务器的主机名为dbserver.benet.com,IP地址为本机真实IP
l部署oracle 11g企业版,安装时建立名为orcl的数据库,开机后启动自动.
l每天凌晨2:30对orcl数据库执行逻辑备份,只保留最近30天的备份文件
推荐步骤:
一步:准备oracle 11g的安装环境
1)确认系统及配置符合要求
在RHEL6.0x64系统上安装oracle11g
物理内存、应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的 1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。
对于32位的oracle11g数据库,若程序文件和数据文件安装在同一个分区,则该分区的硬盘空间要求分别为:企业版5.65GB、标准版5.38GB;除此以外,还应确保/tmp目录所在分区的空间不少于1GB,总的来说,建议为oracle11g准备至少8GB的硬盘空间。
2)确认服务器的软件环境符合要求
配置好yum源后使用root用户安装oracle所依赖的软件包,这些依赖包必须要安装,因为版本不同,在oracle安装时会提示缺少依赖包,忽略后可以正常安装使用Oracle。
经实际安装测试,当在RHEL6X32系统中安装oracle11g时,对ksh软件包的识别会存在兼容性冲突,只要卸载RHEL6X32中的ksh软件包,改用RHEL5.5光盘中的pdksh软件包,就可以避免这个问题。
#rpm -e ksh
#rpm –ivh pdksh-5……
3)确认用户环境符合要求
检查结果:
在oracle用户的宿主目录的.bash_profile文件中添加下图所示显示的内容:
4)确认内参数进程的会话限制符合要求
内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl –p命令使新配置立即生效。
#vim /etc/sysctl.conf //在文件尾部添加如下内容:
执行sysctl -p命令使修改生效。
为oracle用户设置Shell限制:为了优化性能,需要添加oracle用户的限制参数。进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启用该认证。
修改/etc/security/limits.conf,将用户oracle能够打开的进程数、进程使用的文件数加在。加入如下内容:
注:
第1行是设置进程数软限制;第2行是设置进程数硬限制;第3行是设置文件数软限制;第4行是设置文件数硬限制
修改/etc/pam.d/login,加入如下内容:
二步:安装oracle 11g数据库
1)以运行用户oracle登陆图形界面(图形界面注销即可重新登录)注:修改/etc/hosts文件添加主机名(以root身份)
2)依次解压oracle 11g的两个安装包文件
进入解压后的安装目录database/,运行其中的runinstall安装脚本
运行runInstaller脚本启动安装程序:
选择企业版,采用单实列典型安装方式,管理口令设为oracle 11g
1)配置安全更新:如果已购买oracle11g数据库的授权,且服务器能连接INTERNET,建议正确填写电子邮件地址和oracle support口令,以便及时接收官方的安全更新通知。实验过程中建议将电子邮件地址留空,并消取对“我希望通过my oracle……”复选框的选择。
2)安装选项:全新安装建议选择“创建和配置数据库”或者“仅安装数据库软件”,后者将不会创建并配置数据库实例,只有对旧版本的oracle数据库进行升级时,才选择“升级现有数据库”。
3)系统类:选择“服务器类”进行安装,以便适用于企业环境的数据库系统。“桌面类”一般只建议个人用户使用,包含的配置和功能比较少。
4)网格选项:选择“单实例数据库安装”,大多数应用场合中oracle数据库的用途比较单一,每台oracle服务器只需要一个实例就可以了。
5)安装类型:选择“典型安装”,采用oracle11g的基本配置进行完全安装。若要为各种管理账户分别设置口令,或者选择语言版本、设置自动备份、存储管理等,则应该选择“高级安装”。
6)典型安装配置:在“典型安装”步骤中,可以指定oracle11g的基本目录、软件安装目录、数据库存放目录,并选择要安装的数据库版本、指定全局数据库名称、设置管理口令,如下图所示:
必须设置管理口令,其他参数可采用默认值。Oracle11g数据库自动建有三个用户:超级管理员sys、system和数据库所有者sysman,当选择“高级安装”时可以为三个用户分别设置口令,否则将使用同一个管理口令。
7)创建产品清单:将清单目录修改为:/opt/oracle/oraInventory,以便oracle用户有权限写入oracle数据库的清单信息。
8)先决条件检查及概要:针对各种前置条件进行检查,发现有未满足的条件后会给出提示,应根据检查结果进行修复或者安装必需的软件包。预安装检查,错误可忽略(软件版本问题,但必须确认软件包已安装)。
如果所有条件都已满足,则会看到本次安装的概要信息,确定无误后单击“完成”按钮却完成设置,然后开始复制文件及部署数据库的安装过程。
完成安装:文件复制及相关部署结束后,会弹出“执行配置脚本”对话框,如图所示,根据提示切换为root用户并依次执行/opt/oracle/oraInventory/orainstRoot.sh、/opt/oracle/product/11.2.0/dbhome_1/root.sh脚本。
按照上图中的要求执行脚本,执行过程如下图所示:注:要先切换成root用户。
注:防火墙开启1158端口
Iptables -IINPUT –p tcp --dport 1158 –j ACCEPT
3)结果安装后确认OEM平台可用 sqlplus连接正常
图形安装输入https://dbserver:1158/em/,表示使用此URL地址可以访问OEM(oracleenterprise manager,oracle企业管理器)平台,以便对oracle11g的数据库实例进行管理。
三步:配置oracle 11g服务器环境
1)修改/etc/oracle /etc/profile配置文件.优化服务器组件环境
Oracle11g数据库的基本服务组件如下所述:(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)
lsnrctl:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。
dbstart、dbshut:数据库控制程序,用来启动、停止数据库实例。
emctl:管理器控制工具,用来控制OEM平台的开启与关闭,OEM平台通过1158端口提供HTTPS访问,5520端口提供TCP访问。
为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。
1、修改/etc/oratab,修改内容如下:
#vim /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
2、修改/etc/profile,添加如下内容:
注:/etc/profile 全局配置文件(当用户重启登录才生效)
Source /etc/profile 保存并执行不必重启
2)编写服务脚本/etc/init.d/oracle,用来启动.停止oracle 11g数据库
#vi/etc/init.d/oracle //内容如下:
在oracle脚本文件中,数据库的启动、停止操作均通过“su – oracle –c 命令行”形式来执行,这是为了获得oracle用户的登录环境,且因为由root切换为普通用户无需验证密码,从而省去了交互式登录的过程,便于脚本的后台执行。
3)添加oracle服务,确认oracle 11g数据库在开机后能够自动运行
四步:配置oracle 11g的定期备份
1)为oracle 11g配置备份目录/opt/mydbbackup,并执行授权
注意事项:
我这里是使用sys用户来进行操作的。如果是其他用户,那么就需要对这个用户进行赋权
给system用户赋予在指定目录的操作权限
2)编写脚本文件/root/mybak.sh使用export进行逻辑备份(以用户名/密码进行验证)
,注意文件名中体现出备份当天的日期;对备份目录进行检查, 删除30天以前的旧的备份文件并给予脚本执行权限
Vim /root/mybak.sh
3)为root用户配置crontab计划任务,定期执行/opt/mybak.sh脚本程序
30 2 *** /opt/mybak.sh
4)确认备份脚本能够在计划的时间正常进行
Ls -l 查看备份目录