实验案列:构建oracle 11g数据库

实验环境:

公司新上线的web应用平台使用oracle  11g 数据库,要求管理员在一台RHEL6服务器中进行部署,并结合计划任务做好逻辑备份.

需求描述:

l服务器采用RHEL6操作系统,并已安装好图形桌面环境

l服务器的主机名为dbserver.benet.com,IP地址为本机真实IP

l部署oracle 11g企业版,安装时建立名为orcl的数据库,开机后启动自动.

l每天凌晨2:30orcl数据库执行逻辑备份,只保留最近30天的备份文件

推荐步骤:

一步:准备oracle  11g的安装环境

1)确认系统及配置符合要求

在RHEL6.0x64系统上安装oracle11g

构建oracle 11g数据库_郑彦茹

构建oracle 11g数据库_郑彦茹_02

构建oracle 11g数据库_郑彦茹_03


物理内存、应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的  1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。

构建oracle 11g数据库_郑彦茹_04

对于32位的oracle11g数据库,若程序文件和数据文件安装在同一个分区,则该分区的硬盘空间要求分别为:企业版5.65GB、标准版5.38GB;除此以外,还应确保/tmp目录所在分区的空间不少于1GB,总的来说,建议为oracle11g准备至少8GB的硬盘空间。

2)确认服务器的软件环境符合要求

配置好yum源后使用root用户安装oracle所依赖的软件包,这些依赖包必须要安装,因为版本不同,在oracle安装时会提示缺少依赖包,忽略后可以正常安装使用Oracle

构建oracle 11g数据库_郑彦茹_05

经实际安装测试,当在RHEL6X32系统中安装oracle11g时,对ksh软件包的识别会存在兼容性冲突,只要卸载RHEL6X32中的ksh软件包,改用RHEL5.5光盘中的pdksh软件包,就可以避免这个问题。

#rpm -e  ksh

#rpm –ivh  pdksh-5……

3)确认用户环境符合要求

构建oracle 11g数据库_郑彦茹_06

构建oracle 11g数据库_构建oracle 11g数据库_07

检查结果:

构建oracle 11g数据库_构建oracle 11g数据库_08

构建oracle 11g数据库_郑彦茹_09

oracle用户的宿主目录的.bash_profile文件中添加下图所示显示的内容:

构建oracle 11g数据库_构建oracle 11g数据库_10

4)确认内参数进程的会话限制符合要求

内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl –p命令使新配置立即生效。

#vim /etc/sysctl.conf   //在文件尾部添加如下内容:

构建oracle 11g数据库_郑彦茹_11

执行sysctl  -p命令使修改生效。

oracle用户设置Shell限制:为了优化性能,需要添加oracle用户限制参数。进程会话限制可以采用pam_limits认证模块来实现,通过修改登录程序loginPAM设置以启用该认证。

修改/etc/security/limits.conf,将用户oracle能够打开的进程数、进程使用的文件数加在。加入如下内容:

构建oracle 11g数据库_构建oracle 11g数据库_12

注:

1行是设置进程数软限制;第2行是设置进程数硬限制;第3行是设置文件数软限制;第4行是设置文件数硬限制

修改/etc/pam.d/login,加入如下内容:

构建oracle 11g数据库_郑彦茹_13

二步:安装oracle  11g数据库

1)以运行用户oracle登陆图形界面(图形界面注销即可重新登录):修改/etc/hosts文件添加主机名(root身份)

2)依次解压oracle 11g的两个安装包文件

构建oracle 11g数据库_郑彦茹_14

构建oracle 11g数据库_郑彦茹_15

构建oracle 11g数据库_郑彦茹_16

进入解压后的安装目录database/,运行其中的runinstall安装脚本

构建oracle 11g数据库_郑彦茹_17

运行runInstaller脚本启动安装程序:

构建oracle 11g数据库_郑彦茹_18

选择企业版,采用单实列典型安装方式,管理口令设为oracle 11g

1)配置安全更新:如果已购买oracle11g数据库的授权,且服务器能连接INTERNET,建议正确填写电子邮件地址和oracle support口令,以便及时接收官方的安全更新通知。实验过程中建议将电子邮件地址留空,并消取对“我希望通过my oracle……”复选框的选择。

构建oracle 11g数据库_构建oracle 11g数据库_19

2)安装选项:全新安装建议选择“创建和配置数据库”或者“仅安装数据库软件”,后者将不会创建并配置数据库实例,只有对旧版本的oracle数据库进行升级时,才选择“升级现有数据库”。

构建oracle 11g数据库_构建oracle 11g数据库_20

3)系统类:选择“服务器类”进行安装,以便适用于企业环境的数据库系统。“桌面类”一般只建议个人用户使用,包含的配置和功能比较少。

构建oracle 11g数据库_构建oracle 11g数据库_21

4)网格选项:选择“单实例数据库安装”,大多数应用场合中oracle数据库的用途比较单一,每台oracle服务器只需要一个实例就可以了。

构建oracle 11g数据库_郑彦茹_22

5)安装类型:选择“典型安装”,采用oracle11g的基本配置进行完全安装。若要为各种管理账户分别设置口令,或者选择语言版本、设置自动备份、存储管理等,则应该选择“高级安装”。

构建oracle 11g数据库_郑彦茹_23

6)典型安装配置:在“典型安装”步骤中,可以指定oracle11g的基本目录、软件安装目录、数据库存放目录,并选择要安装的数据库版本、指定全局数据库名称、设置管理口令,如下图所示:

构建oracle 11g数据库_构建oracle 11g数据库_24

必须设置管理口令,其他参数可采用默认值。Oracle11g数据库自动建有三个用户:超级管理员sys、system和数据库所有者sysman,当选择“高级安装”时可以为三个用户分别设置口令,否则将使用同一个管理口令。

7)创建产品清单:将清单目录修改为:/opt/oracle/oraInventory,以便oracle用户有权限写入oracle数据库的清单信息。

构建oracle 11g数据库_构建oracle 11g数据库_25

8)先决条件检查及概要:针对各种前置条件进行检查,发现有未满足的条件后会给出提示,应根据检查结果进行修复或者安装必需的软件包。预安装检查,错误可忽略(软件版本问题,但必须确认软件包已安装)。

构建oracle 11g数据库_构建oracle 11g数据库_26

如果所有条件都已满足,则会看到本次安装的概要信息,确定无误后单击“完成”按钮却完成设置,然后开始复制文件及部署数据库的安装过程。

构建oracle 11g数据库_郑彦茹_27

完成安装:文件复制及相关部署结束后,会弹出“执行配置脚本”对话框,如图所示,根据提示切换为root用户并依次执行/opt/oracle/oraInventory/orainstRoot.sh、/opt/oracle/product/11.2.0/dbhome_1/root.sh脚本。

构建oracle 11g数据库_构建oracle 11g数据库_28

按照上图中的要求执行脚本,执行过程如下图所示:注:要先切换成root用户。

构建oracle 11g数据库_构建oracle 11g数据库_29

注:防火墙开启1158端口

Iptables  -IINPUT –p tcp  --dport  1158 –j ACCEPT

3)结果安装后确认OEM平台可用 sqlplus连接正常

构建oracle 11g数据库_构建oracle 11g数据库_30

图形安装输入https://dbserver:1158/em/,表示使用此URL地址可以访问OEM(oracleenterprise manager,oracle企业管理器)平台,以便对oracle11g的数据库实例进行管理。

构建oracle 11g数据库_郑彦茹_31

构建oracle 11g数据库_郑彦茹_32

三步:配置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,添加如下内容:

构建oracle 11g数据库_构建oracle 11g数据库_33

注:/etc/profile  全局配置文件(当用户重启登录才生效)

Source  /etc/profile 保存并执行不必重启

2)编写服务脚本/etc/init.d/oracle,用来启动.停止oracle 11g数据库

#vi/etc/init.d/oracle   //内容如下:

构建oracle 11g数据库_郑彦茹_34

构建oracle 11g数据库_郑彦茹_35

在oracle脚本文件中,数据库的启动、停止操作均通过“su – oracle –c 命令行”形式来执行,这是为了获得oracle用户的登录环境,且因为由root切换为普通用户无需验证密码,从而省去了交互式登录的过程,便于脚本的后台执行。

3)添加oracle服务,确认oracle 11g数据库在开机后能够自动运行

构建oracle 11g数据库_郑彦茹_36

构建oracle 11g数据库_构建oracle 11g数据库_37

四步:配置oracle  11g的定期备份

1)oracle 11g配置备份目录/opt/mydbbackup,并执行授权

构建oracle 11g数据库_郑彦茹_38

构建oracle 11g数据库_构建oracle 11g数据库_39

构建oracle 11g数据库_郑彦茹_40


注意事项:

我这里是使用sys用户来进行操作的。如果是其他用户,那么就需要对这个用户进行赋权

system用户赋予在指定目录的操作权限

构建oracle 11g数据库_郑彦茹_41

构建oracle 11g数据库_构建oracle 11g数据库_42



2)编写脚本文件/root/mybak.sh使用export进行逻辑备份(以用户名/密码进行验证)

,注意文件名中体现出备份当天的日期;对备份目录进行检查, 删除30天以前的旧的备份文件并给予脚本执行权限

Vim  /root/mybak.sh

构建oracle 11g数据库_构建oracle 11g数据库_43

3)root用户配置crontab计划任务,定期执行/opt/mybak.sh脚本程序

30   2  *** /opt/mybak.sh

4)确认备份脚本能够在计划的时间正常进行

Ls  -l 查看备份目录