Linux操作系统中Oracle 11g数据库安装过程图文详解

Linux操作系统中Oracle11g数据库安装规范

一:数据库安装软件(含补丁)的下载说明

Oracle数据库安装软件获得途径:
1、可以通过ftp的方式上传至服务器
2、Oracle官方网站下载:(从11.2.0.2开始ORACLE不再提供升级patch,只提供完整的安装包)

二:数据库版本规定

本安装规范所针对的Oracle数据库版本为:Oracle 11.2.0.3.0

三:安装环境需求

1、系统硬件需求

系统必须满足下列最小硬件要求

  • 内存需求
  • 系统架构要求
  • 磁盘空间需求
  • 显示需求

硬件系统基本需求参照表

Linux操作系统中Oracle 11g数据库安装过程图文详解

 

2、操作系统版本及补丁矩阵

Oracle 11gR2要求OS至少为RHEL4.7,内核为Kernel 2.6.9
作为生产系统,我们要求使用RHEL 5.6 64位版本,即:
Red Hat Enterprise Linux AS release 5 Update 5 x86_64
需要安装以下RPM软件包(加32bit括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装):
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2

3、网络配置要求

在生产环境中要求尽量使用2块千/百兆网卡做绑定,预防网卡、网线、端口、单个网络交换机带来的单点故障。

四:系统参数调整及说明

1、调整内核参数及用户限制

以下所有相关操作需要root用户执行,并且重启动操作系统才能完全生效。

  1. 编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

  1. 编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。在该文件中添加如下行。

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240

2、开启操作系统异步IO(AIO)

前面第四部分第2点需要安装的包已经包含了libaio-0.3.106,默认开启异步I/O。
检查在操作系统中AIO是否运行,运行命令及显示结果类似如下:
$ cat /proc/slabinfo | grep kio
kioctx 51 120 320 12 1 : tunables 54 27 8 : slabdata 10 10 0
kiocb 30 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 0
注:如数据库使用的是文件系统,且要使用异步IO,则需要修改该数据库的初始化参数

  1. 设置disk_asynch_io参数值为TRUE(默认值)

  1. 设置filesystemio_options参数值为ASYNCH

五: 目录结构及空间规划

1、存储设置

PC Server的数据库存储一般不会使用高端存储(vg物理分区推荐为32M),所以vg物理分区(PE Size)大小为操作系统安装时默认的32M,或者256M(中低端存储vg物理分区推荐值)均可。

2、临时目录

/tmp:至少1GB空间,推荐5GB,用于存放Oracle软件安装时产生的日志。

3、交换区要求

交换区(SWAP):按照操作系统推荐配置,根据内存大小,为物理内存的1-1.5倍。推荐:创建2个大小相同、且分布在不同盘(pv)上的SWAP空间。

4、数据库软件安装目录

Oracle软件安装目录建议设置为单独的文件系统,挂载的目录名定为/tpsys,实际安装的主目录为/tpsys/app/oracle,大小一般配置为20GB,目录的owner要求为oracle:oinstall。

5、数据库的空间规划

Oracle数据库空间用表空间(tablespace)表示,如默认的:SYSAUX、SYSTEM、TEMP、UNDOTBS1、USERS等;表空间的组成单位是数据文件(datafile)。我们定义基于文件系统的文件来创建Oracle的数据文件,并定义回滚表空间、临时表空间和数据表空间单个数据文件的大小为10G。
数据库使用的文件目录及相应用途和对应文件系统大小规划如下(假设数据库名称为test,在实际操作中,斜体的test需要替换为实际定义的数据库名):
/tpdata/oradata[n]/test:系统及数据表空间对应数据文件存放路径;
/tpdata/redolog[n]/ test:redo重做日志文件存放路径;
/tpdata/archive[n]/ test:归档日志文件存放路径;
/tpdata/tempfile[n]/ test:tempfile文件存放路径(n为顺序中最后一个编号)。
……
注意:以上文件系统挂载在二级目录上,即,挂载的目录是:/tpdata/oradata[n]、/tpdata/redolog[n]、/tpdata/archive[n]、……、/tpdata/tempfile[n]/ 。
另外,根据实际使用需要,还可能要有用于闪回区的文件目录和对应文件系统:
/tpdata/flashback[n]:闪回区目录,建议100GB
如果需要将数据库备份到硬盘,则要创建用于存放数据库备份的文件目录及文件系统:
/tpdata/backup[n]:备份目录,根据将来数据量大小,建议大于数据表空间容量
注意:以上文件系统挂载在二级目录上
以上所有目录的owner要求为oracle:oinstall。

六:数据库软件的安装和数据库的创建配置

1、数据库安装用户和组的创建

使用root用户,进行如下操作:
创建oinstall组
# groupadd -g 500 oinstall
创建dba组
# groupadd -g 501 dba
创建oracle用户
#useradd -g oinstall -G dba oracle

2、数据库安装用户的profile文件的设置

首先确定数据库名及数据库实例名,对于单实例(非RAC)环境下,两者一般是一致的。
假设数据库(实例)名为test,使用oracle用户,编辑/home/oracle/.bash_profile,加入以下内容(在实际操作中,斜体的test需要替换为实际定义的数据库(实例)名):
# Oracle DB 11g Environment
export ORACLE_BASE=/tpsys/app
export ORACLE_SID=test
export ORACLE_HOME=/tpsys/app/oracle/product/11.2.0.3
export ORACLE_TERM=xterm
export ORA_NLS33=/tpsys/app/oracle/product/11.2.0.3/ocommon/nls/admin/data
export TMP=/tmp
export TMPDIR=$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

3、创建相应的文件系统(或安装目录)并改变相应的权限

使用root用户,进行如下操作:
# mkdir -p /tpsys/app/
# chown -R oracle:oinstall /tpsys/app/
# chmod -R 775 /tpsys/app/

4、安装的详细步骤

使用oracle用户进行。

  1. 将Oracle软件包以 bin方式ftp到数据库服务器,建议放到/tpsys目录下。
  2. 解包

cd /tpsys
unzip所有的.zip文件

  1. 安装需要在图形界面(在控制台或者用X-Window工具软件)。打开一个终端窗口,执行如下命令进行安装:

[[email protected] ~]$ export DISPLAY=10.7.32.145:0.0

  1. 输入xclock测试,如果能够看见时钟证明图形化可用

[[email protected] ~]$ xclock

  1. 找到执行文件进行安装

[[email protected] database]$ ./runInstaller

  1. 类似如下内容显示后,图形界面启动。

[[email protected] Disk1]$ ./runInstaller
Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be RedHat-3, SUSE-9, SuSE-10, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1, asianux-2 or asianux-3
Passed


All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-07-05_03-57-26PM. Please wait ...
Linux操作系统中Oracle 11g数据库安装过程图文详解
去掉I wish to receive security updates via My Oracle Surrport选项,点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
选择Install database software only,点击Next。
选择Single instance database installation,点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
在Available Languages中点选English、Simplified Chinese、Traditional Chinese,点击两个框中间的>,将选中的语言加入到右边的Selected Languages中,然后点击Next。

Linux操作系统中Oracle 11g数据库安装过程图文详解
按照实际情况选择版本,点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
将Invetory Directory修改为/tpsys/app/oraInventory, 点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
确认右上方显示为All minimum requirements are satisfied. You may proceed with the installation.后(否则需要进行相关的调整来满足条件后,点击Check Again重新验证),点击Next。
Linux操作系统中Oracle 11g数据库安装过程图文详解
点击Finish。
Linux操作系统中Oracle 11g数据库安装过程图文详解
在安装过程中会提示以root身份执行2个脚本,需要在另外的窗口中以root用户依次操作。完成后,点击OK。

Linux操作系统中Oracle 11g数据库安装过程图文详解
安装完成,点击Close。

5、数据库监听器配置为了远程访问数据库,需要配置数据库监听器(listener)。配置可以通过netmgr或者netca图形工具进行,也可以通过手工编辑$Oracle_HOME/network/admin/listener.ora文件进行。netca只能做简单配置(动态注册),手工编辑容易写错格式,建议使用netmgr工具。
监听器的配置使用oracle用户进行,按下面步骤配置。

1.在图形界面(在控制台或者用X-Window工具软件),打开一个终端窗口,执行如下命令:netmgr
2.Oracle Net Manager图形界面启动。点击左边树状图的加号,逐层打开,直到Listeners下的每个具体listener名称。
3.最左上方的+号和x号分别用来添加和删除,添加时只要输入新listener的名字。
4.在右方进行端口号、主机名、数据库实例信息的配置。

注意:

1.监听器的名称如果主机上只有一个数据库实例,可以配置一个缺省的LISTENER,如果有多个数据库实例,则建议为每个实例配置一个监听器,名称用LISTENER_数据库实例名

2.监听端口建议不要采用缺省的1521。

3.主机名建议采用IP地址,不要采用主机名称。

4.数据库注册到监听器建议不要用动态注册,而是采用静态注册,即在监听器中配置具体的数据库实例信息。

6、创建数据库并进行相关的配置

首先,按照前面第六部分第5点的规划,用root用户创建好数据库使用的文件系统并挂载好,并将目录owner修改为oracle:oinstall。
数据库的创建使用oracle用户进行(假设数据库名称为pgud,在实际操作中,斜体的pgud需要替换为实际定义的数据库名),按下面步骤创建数据库。

1.安装需要在图形界面(在控制台或者用X-Window工具软件)。打开一个终端窗口,执行如下命令:dbca

2.Database Configuration Assistant图形界面启动。标题同时指明了步骤的编号和步骤的名称。在步骤名称为Welcome的欢迎窗口,直接点击next。
Linux操作系统中Oracle 11g数据库安装过程图文详解

 

3.在接下来的每一个步骤窗口按照如下要求进行操作,未说明的部分保留默认选项/默认值不做改动,点击next进入下一窗口:

Operations
不做变动
Linux操作系统中Oracle 11g数据库安装过程图文详解
Database Templates
选择Custom Database
Linux操作系统中Oracle 11g数据库安装过程图文详解
Database Identification
Global Database Name框:输入前面确定的数据库名
SID框:自动出现和数据库名相同的内容作为数据库实例名,单实例情况下不作改动
Linux操作系统中Oracle 11g数据库安装过程图文详解
Management Options
此处保持默认即可
Linux操作系统中Oracle 11g数据库安装过程图文详解

Database Credentials
Use Different Administrative Passwords
表格的Password和Confirm Password列中分别为User Name列SYS、SYSTEM、DBSNMP和SYSMAN用户输入口令并重复一次输入(如密码设置过于简单,下一步前会有弹出窗口提示确认接受安全风险)
sys和system密码设置可以在数据库建立后修改。
Linux操作系统中Oracle 11g数据库安装过程图文详解
Database File Locations
Storage Locations:选择Use Common Location for All Database Files
Database File Location框:输入/tpdata/oradata
Linux操作系统中Oracle 11g数据库安装过程图文详解
Recovery Configuration
Specify Fast Recovery Area
如果前面Management Options步骤选择了自动备份,则保留勾选,并在下方:
Fast Recovery Area框:修改为快速恢复区的目录名
Fast Recovery Area Size框:调整快速恢复区的大小
Linux操作系统中Oracle 11g数据库安装过程图文详解

Enable Archiving
根据是否归档日志的实际需求决定是否选择(重要的生产系统必须打开归档,测试系统一般关闭归档节省服务器空间)
点击旁边的Edit Archive Mode Parameters…,在弹出窗口中:
Automatic Archiving:保持默认勾选
Archive Log File Format框:修改为%t_%s_%r.arc
Archive Log Destinations表格:第一行中输入/tpdata/archive
点击OK返回主窗口
Database Content
Database Components页面
Linux操作系统中Oracle 11g数据库安装过程图文详解
Initialization Parameters
Linux操作系统中Oracle 11g数据库安装过程图文详解
Linux操作系统中Oracle 11g数据库安装过程图文详解
Linux操作系统中Oracle 11g数据库安装过程图文详解
Linux操作系统中Oracle 11g数据库安装过程图文详解
Linux操作系统中Oracle 11g数据库安装过程图文详解
Database Storage
由于图形界面繁琐,应用用户的表空间后续通过命令创建,此处不做。
注意:表空间的大小、包含数据文件的文件名称、路径、初始大小、是否自增长和redo log组的数量、成员的路径、大小等都需要根据应用系统的具体情况配置。
建议USERS表空间为128M;一般几百G的中等数据库情况下,建议SYSTEM表空间为1G,SYSAUX表空间为2G;对于大型数据库,数据量大于1T 的,建议SYSTEM表空间为2G,SYSAUX表空间为4G;更大型的数据库,数据量大于3T的,建议SYSTEM表空间为4G。
redo log一般设置3-5组,每组尽量2个成员,每个成员大小可以从100M到1G,一般几百G的中等数据库情况下,建议为200M。
Maximum Datafiles:修改为4096
Maximum Redo Log Files:修改为128
Maximum Log Members:修改为5

七:数据库用户及权限管理

1、数据库缺省用户处理

锁住除SYS、SYSTEM、DBSNMP和SYSMAN以外的数据库缺省用户:
alter user MGMT_VIEW account lock;

2、创建应用用户并授权

根据应用的需求,创建应用用户,并分配单独的数据表空间和索引表空间。
表空间命名规则为:
数据表空间:APPDATA
索引表空间:APPINDX
其中,斜体的APP需要替换为应用简称或者应用子模块简称(当应用复杂,子模块较为独立时)
表空间数据文件命名规则:
tablespace01.dbf、tablespace02.dbf、……
其中,斜体的tablespace需要替换为对应表空间的名字
注意:每个应用必须使用独立的数据表空间和索引表空间,这样能便于空间的管理。
表空间创建完毕后,创建应用用户,并授予必要的权限。