Linux操作系统中Oracle11g数据库安装规范
一:数据库安装软件(含补丁)的下载说明
Oracle数据库安装软件获得途径:
1、可以通过ftp的方式上传至服务器
2、Oracle官方网站下载:(从11.2.0.2开始ORACLE不再提供升级patch,只提供完整的安装包)
二:数据库版本规定
本安装规范所针对的Oracle数据库版本为:Oracle 11.2.0.3.0
三:安装环境需求
1、系统硬件需求
系统必须满足下列最小硬件要求
硬件系统基本需求参照表
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用户执行,并且重启动操作系统才能完全生效。
- 编辑/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
- 编辑/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,则需要修改该数据库的初始化参数
- 设置disk_asynch_io参数值为TRUE(默认值)
- 设置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用户进行。
- 将Oracle软件包以 bin方式ftp到数据库服务器,建议放到/tpsys目录下。
- 解包
cd /tpsys
unzip所有的.zip文件
- 安装需要在图形界面(在控制台或者用X-Window工具软件)。打开一个终端窗口,执行如下命令进行安装:
[oracle@localhost ~]$ export DISPLAY=10.7.32.145:0.0
- 输入xclock测试,如果能够看见时钟证明图形化可用
[oracle@localhost ~]$ xclock
- 找到执行文件进行安装
[oracle@localhost database]$ ./runInstaller
- 类似如下内容显示后,图形界面启动。
[oracle@localhost 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 ...
去掉I wish to receive security updates via My Oracle Surrport选项,点击Next。
选择Install database software only,点击Next。
选择Single instance database installation,点击Next。
在Available Languages中点选English、Simplified Chinese、Traditional Chinese,点击两个框中间的>,将选中的语言加入到右边的Selected Languages中,然后点击Next。
按照实际情况选择版本,点击Next。
点击Next。
将Invetory Directory修改为/tpsys/app/oraInventory, 点击Next。
点击Next。
确认右上方显示为All minimum requirements are satisfied. You may proceed with the installation.后(否则需要进行相关的调整来满足条件后,点击Check Again重新验证),点击Next。
点击Finish。
在安装过程中会提示以root身份执行2个脚本,需要在另外的窗口中以root用户依次操作。完成后,点击OK。
安装完成,点击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。
3.在接下来的每一个步骤窗口按照如下要求进行操作,未说明的部分保留默认选项/默认值不做改动,点击next进入下一窗口:
Operations
不做变动
Database Templates
选择Custom Database
Database Identification
Global Database Name框:输入前面确定的数据库名
SID框:自动出现和数据库名相同的内容作为数据库实例名,单实例情况下不作改动
Management Options
此处保持默认即可
Database Credentials
Use Different Administrative Passwords
表格的Password和Confirm Password列中分别为User Name列SYS、SYSTEM、DBSNMP和SYSMAN用户输入口令并重复一次输入(如密码设置过于简单,下一步前会有弹出窗口提示确认接受安全风险)
sys和system密码设置可以在数据库建立后修改。
Database File Locations
Storage Locations:选择Use Common Location for All Database Files
Database File Location框:输入/tpdata/oradata
Recovery Configuration
Specify Fast Recovery Area
如果前面Management Options步骤选择了自动备份,则保留勾选,并在下方:
Fast Recovery Area框:修改为快速恢复区的目录名
Fast Recovery Area Size框:调整快速恢复区的大小
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页面
Initialization Parameters
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、创建应用用户并授权
根据应用的需求,创建应用用户,并分配单独的数据表空间和索引表空间。
表空间命名规则为:
数据表空间:APP
DATA
索引表空间:
APP
INDX
其中,斜体的APP需要替换为应用简称或者应用子模块简称(当应用复杂,子模块较为独立时)
表空间数据文件命名规则:
tablespace01.dbf、tablespace02.dbf、……
其中,斜体的tablespace需要替换为对应表空间的名字
注意:每个应用必须使用独立的数据表空间和索引表空间,这样能便于空间的管理。
表空间创建完毕后,创建应用用户,并授予必要的权限。
该贴由system转至本版2014-5-4 4:50:13