2009年4月21日星期二

在Redhat linux AS 4.4下安装oracle 10gR2 过程记录

在Redhat linux AS 4.4下安装oracle 10gR2 过程记录
参考来源:在 Linux x86 上安装 Oracle 数据库 10g
1.硬件要求
1.1 内存至少512M,使用下面的命令检查
grep MemTotal /proc/meminfo
1.2 交换分区 至少1G
grep SwapTotal /proc/meminfo
1.3 /tmp 目录空闲区 至少400M
df -k /tmp 400M
1.4 硬盘空闲区 至少4G
df -k
2. 软件要求
2.1 操作系统,redhat ES/AS 2.1(x86),redhat ES/AS 3(x86)
我的是redhat AS 4.4. 可以使用以下命令检查
cat /etc/issue

2.2 需要安装了以下软件包
Gnu gcc package 至少是
gcc-3.2.3-2
make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
compat-db-4.0.14.5
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
可以使用以下命令检查:
rpm -q package_name
注意这里的package_name不带任何版本号,例如检查make-3.79
rpm -q make
经查,有个别文件没有安装,安装过程如下:
安装gcc最是麻烦,需要多个前置条件,感觉就想在捋绳头,最后才把gcc拉出来

# glibc-kernheaders-2.4-9.1.98.EL.i386.rpm
# glibc-headers-2.3.4-2.25.i386.rpm
# glibc-devel-2.3.4-2.25.i386.rpm
# gcc-3.4.6-3.i386.rpm

# rpm -ivh compat-db-4.1.25-9.i386.rpm
# rpm -ivh compat-gcc-32-3.2.3-47.3.i386.rpm
# rpm -ivh compat-gcc-32-c++-3.2.3-47.3.i386.rpm
# rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm

2.3 防火墙软件
如果你不知道具体怎么配置,请禁用. 如何禁用:
关闭防火墙
/etc/rc.d/init.d/iptables stop

3. 创建安装oracle 所需的组和用户
需要的用户是oracle,组是dba,oinstall
可以用界面的方式添加,也可以用命令行的方式
groupadd osinstall
groupadd dba
useradd –g osinstall –G dba oracle
passwd oracle

4. 创建安装安装所需的目录
4.1 Oracle Base 目录/u01/app/oracle
mkdir –p /u01/app/oracle/10g
chown –R oracle:oinstall /u01/app/oracle/10g
chmod –R 755 /u01/app/oracle/10g


4.2 Oracle数据库文件存放目录. 这个可以没有的. 一般设置为/u02/oradata
mkdir –p /u02/oradata
chown –R oracle:oinstall /u02/oradata
chmod –R 755 /u02/oradata
5. 配置内核参数
5.1 用文本编辑器,创建或者编辑/etc/sysctl.conf文件,添加或修改如下的行
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
5.2 改变当前内核参数的值
sysctl -p
6. 检查您的/etc/host.conf 是否含有下面的条目
127.0.0.1 localhost
如果没有的话, oracle 的监听器无法启动

7.为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell 限定。
7.1 打开文件数和进程数的限制
加入下面的行到文件/etc/security/limits.conf
   * soft nproc 2047
   * hard nproc 16384
   * soft nofile 1024
   * hard nofile 65536
* 是指对所有的用户和组的限制, Oracle官方文档是这样要求的

7.2 加入下面的行到文件/etc/pam.d/login ,假如它不存在的话
session required /lib/security/pam_limits.so
Oracle 官方网站如此说,但是已经有人发现这个也会造成影响.
我的操作系统版本是Redhat AS 4.4,这步忽略
7.3 根据oracle 用户的默认shell,对默认 shell start-up文件作如下改变.
如果是Bourne, Bash, or Korn shell,修改环境变量/etc/profile文件如下:
if [ \$USER = "oracle" ]; then
   if [ \$SHELL = "/bin/ksh" ]; then
   ulimit -p 16384
   ulimit -n 65536
   else
ulimit -u 16384 -n 65536
fi
fi

如果是c shell,则环境变量文件 /etc/csh.login的修改值如下:
if ( $USER == "oracle" ) then
   limit maxproc 16384
   limit descriptors 65536
endif
RedHat AS4.4 使用的是bash。

8. 为oracle用户设置环境变量,注意以下命令为,必需以oracle用户身分登录
  ●Bash shell,更改.bash_profile,添加以下行
# su oracle -
# vi ~/.bash_profile
   ORACLE_BASE=/u01/app/oracle
ORACLE_SID=ora10g110
   export ORACLE_BASE ORACLE_SID

unset ORACLE_HOME
unset TNS_ADMIN

  ●c shell,更改.login文件,添加以下行
   setenv ORACLE_BASE /u01/app/oracle
   setenv ORACLE_SID **********

9. 确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置 (未设置)
千万不要因为安装过程中的其他错误,而设置这些值
●Bash shell
   unset ORACLE_HOME
   unset TNS_ADMIN
  ●c shell
unsetenv ORACLE_HOME
  unsetenv TNS_ADMIN

10. 准备好安装介质
#10.1 一般我想是网上下载的. 先要解压,保证解压后的目录,拥有者是oracle:osinstall,并且有执行权限
10.2 如果光盘的,要mount上, 一般操作系统是自动mount的.
#mkdir /mnt/vcdrom
#mount -o loop -t iso9660 /home/oracle/RHEL4-U4-i386-AS-with-Oracle10gR2-DVD.iso /mnt/vcdrom

11. /etc/profile 文件最后增加
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/10g

12 安装
12.1 编辑安装需要的应答文件
静默模式(Silent)安装必须指定一个应答文件来完成安装过程所须的各类参数。
在Oracle安装目录的response子目录里有enterprise.rsp有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。
以enterprise.rsp为例,用任意的文本编辑器打它,修改以下这些项目的值。
ORACLE_HOME= Oracle服务器的主目录位置,必须是绝对路径。
ORACLE_HOME_NAME Oracle服务器的名称,必须以字母开头。
COMPONENT_LANGUAGES Oracle服务器支持的语言,默认只有英语,可以添加多个语言。
s_nameForDBAGrp 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限,在本例中设置为 dba。
s_nameForOPERGrp 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限,在本例中设置为 oper。
n_configurationOption 安装类型(1为在安装后创建数据库,2为安装后创建一个自动存储管理实例,3为只安装服务器软件),在本例中选择3。
其它项目用默认值即可,也可以根据自己的须要进行修改。

ORACLE_HOME=/u01/app/oracle/10g
ORACLE_HOME_NAME=ora10g110
COMPONENT_LANGUAGES={"en","zh_CN"}
s_nameForDBAGrp="osinstall"
s_nameForOPERGrp="oracle"
n_configurationOption=3


注:如果Oracle从光盘安装,必须先将应答文件复制到硬盘上,才能修改。本例就是将enterprise.rsp拷贝到$HOME/oracle目录

12.2 开始安装
现在万事具备,可以安装了。
用oracle用户登录,然后在Oracle安装目录里执行
# /mnt/vcdrom/Oracle10gR2/runInstaller -silent -responseFile <应答文件的绝对路径>
因为是挂载的镜像,所以必须使用这种方式,否则,如果从光盘上的安装目录,提示错误。

接下来就是等待安装结束了。
各安装参数的含义如下
ignoreSysPrereqs 让Oracle忽略系统检查,因为Oracle官方声明只支持Linux服务器产品,所以要在非服务器产品的Linux上安装就必须指定此参数。
silent 让安装程序以静默模式运行。
responseFile 指定一个应答文件。

安装过程顺利完成,至此,刚刚将数据库软件安装到系统里。
下面的内容摘录自安装过程的控制台显示:
=======================================================================
PrereqChecks complete

.......................................... 100% Done.


-----------------------------------------------------------------------------
Summary
Global Settings
Source: /mnt/vcdrom/Oracle10gR2/stage/products.xml
Oracle Home: /u01/app/oracle/10g (ora10g110)
Installation Type: Enterprise Edition
Product Languages
English
Simplified Chinese
Space Requirements
/ Required 1.38GB (includes 108MB temporary) : Available 23.07GB
New Installations (107 products)
Oracle Database 10g 10.2.0.1.0
Enterprise Edition Options 10.2.0.1.0
Oracle Partitioning 10.2.0.1.0
Oracle Spatial 10.2.0.1.0
Oracle OLAP 10.2.0.1.0
Oracle Enterprise Manager Console DB 10.2.0.1.0
Oracle Net Services 10.2.0.1.0
Oracle Database 10g 10.2.0.1.0
Oracle Net Listener 10.2.0.1.0
HAS Files for DB 10.2.0.1.0
Oracle Internet Directory Client 10.2.0.1.0
Oracle Call Interface (OCI) 10.2.0.1.0
Oracle Programmer 10.2.0.1.0
Oracle interMedia 10.2.0.1.0
Enterprise Manager Agent Core 10.2.0.1.0
Oracle JVM 10.2.0.1.0
Database Configuration and Upgrade Assistants 10.2.0.1.0
Oracle interMedia Locator 10.2.0.1.0
Oracle XML Development Kit 10.2.0.1.0
Oracle Text 10.2.0.1.0
Oracle Database Utilities 10.2.0.1.0
Generic Connectivity Common Files 10.2.0.1.0
Oracle Advanced Security 10.2.0.1.0
Enterprise Manager Repository Core 10.2.0.1.0
PL/SQL 10.2.0.1.0
Oracle Net 10.2.0.1.0
Assistant Common Files 10.2.0.1.0
Enterprise Manager plugin Common Files 10.2.0.1.0 Beta
Buildtools Common Files 10.2.0.1.0
Installation Common Files 10.2.0.1.0
Oracle LDAP administration 10.2.0.1.0
Oracle Java Client 10.2.0.1.0
Precompiler Common Files 10.2.0.1.0
Oracle Recovery Manager 10.2.0.1.0
SQL*Plus 10.2.0.1.0
iSQL*Plus 10.2.0.1.0
Enterprise Manager plugin Common Files 10.2.0.1.0
HAS Common Files 10.2.0.1.0
Oracle Clusterware RDBMS Files 10.2.0.1.0
Oracle Wallet Manager 10.2.0.1.0
Enterprise Manager Minimal Integration 10.2.0.1.0
Oracle Database User Interface 2.2.13.0.0
Secure Socket Layer 10.2.0.1.0
Oracle ODBC Driver 10.2.0.1.0
Required Support Files 10.2.0.1.0
Database SQL Scripts 10.2.0.1.0
OLAP SQL Scripts 10.2.0.1.0
PL/SQL Embedded Gateway 10.2.0.1.0
Oracle Globalization Support 10.2.0.1.0
Character Set Migration Utility 10.2.0.1.0
LDAP Required Support Files 10.2.0.1.0
Oracle Help for the Web 1.1.10.0.0
Oracle JDBC Thin Driver for JDK 1.4 10.2.0.1.0
Oracle JDBC Thin Driver for JDK 1.2 10.2.0.1.0
Oracle interMedia Client Option 10.2.0.1.0
Oracle Notification Service 10.1.0.3.0
Oracle Code Editor 1.2.1.0.0I
Perl Interpreter 5.8.3.0.2
JDBC Common Files 10.2.0.1.0
Oracle Locale Builder 10.2.0.1.0
Oracle Containers for Java 10.2.0.1.0
Database Workspace Manager 10.2.0.1.0
Oracle Core Required Support Files 10.2.0.1.0
Platform Required Support Files 10.2.0.1.0
Oracle interMedia Locator RDBMS Files 10.2.0.1.0
Oracle JDBC/OCI Instant Client 10.2.0.1.0
Oracle interMedia Annotator 10.2.0.1.0
SQLJ Runtime 10.2.0.1.0
Oracle interMedia Java Advanced Imaging 10.2.0.1.0
Oracle Database 10g interMedia Files 10.2.0.1.0
Oracle Data Mining RDBMS Files 10.2.0.1.0
Enterprise Manager Baseline 10.2.0.1.0
Oracle Help For Java 4.2.6.1.0
Oracle UIX 2.1.22.0.0
XML Parser for Java 10.2.0.1.0
Precompiler Required Support Files 10.2.0.1.0
XML Parser for Oracle JVM 10.2.0.1.0
Oracle Message Gateway Common Files 10.2.0.1.0
Oracle Starter Database 10.2.0.1.0
Sample Schema Data 10.2.0.1.0
Parser Generator Required Support Files 10.2.0.1.0
Agent Required Support Files 10.2.0.1.0
Oracle RAC Required Support Files-HAS 10.2.0.1.0
RDBMS Required Support Files 10.2.0.1.0
RDBMS Required Support Files for Instant Client 10.2.0.1.0
XDK Required Support Files 10.2.0.1.0
Oracle OLAP API 10.2.0.1.0
Oracle OLAP RDBMS Files 10.2.0.1.0
DBJAVA Required Support Files 10.2.0.1.0
SQL*Plus Required Support Files 10.2.0.1.0
Oracle JFC Extended Windowing Toolkit 4.2.33.0.0
Oracle Ice Browser 5.2.3.6.0
Oracle Display Fonts 9.0.2.0.0
Oracle Extended Windowing Toolkit 3.4.38.0.0
Enterprise Manager Common Files 10.2.0.1.0
Enterprise Manager Agent DB 10.2.0.1.0
Oracle Net Required Support Files 10.2.0.1.0
Enterprise Manager Repository DB 10.2.0.1.0
SSL Required Support Files for InstantClient 10.2.0.1.0
regexp 2.1.9.0.0
Bali Share 1.1.18.0.0
Oracle Universal Installer 10.2.0.1.0
Oracle One-Off Patch Installer 10.2.0.1.0
Installer SDK Component 10.2.0.1.0
Java Runtime Environment 1.4.2.8.0
Sun JDK 1.4.2.0.8
Sun JDK extensions 10.1.2.0.0
-----------------------------------------------------------------------------


Installation in progress (Tue Apr 21 20:40:02 CST 2009)
............................................................... 18% Done.
............................................................... 36% Done.
............................................................... 54% Done.
............................................................... 72% Done.
................ 76% Done.
Install successful

Linking in progress (Tue Apr 21 20:47:05 CST 2009)
Link successful

Setup in progress (Tue Apr 21 20:48:56 CST 2009)
.............. 100% Done.
Setup successful

End of install phases.(Tue Apr 21 20:49:04 CST 2009)
WARNING:A new inventory has been created in this session. However, it has not yet been registered as the central inventory of this system.
To register the new inventory please run the script '/home/oracle/oraInventory/orainstRoot.sh' with root privileges.
If you do not register the inventory, you may not be able to update or patch the products you installed.

The following configuration scripts
/u01/app/oracle/10g/root.sh
need to be executed as root for configuring the system. If you skip the execution of the configuration tools, the configuration will not be complete and the product wont function properly. In order to get the product to function properly, you will be required to execute the scripts and the configuration tools after exiting the OUI.

The installation of Oracle Database 10g was successful.
Please check '/home/oracle/oraInventory/logs/silentInstall2009-04-21_08-38-46PM.log' for more details.