Oracle10g安装
在RHEL AS 3上安装Oracle10g参考手册
Installing Oracle 10g on Red Hat Enterprise Linux Advanced Server 3 (RHEL 3) V 0.21
不久前 ,Oracle( 甲骨文 ) 公司在美国加州的总部宣布 , Oracle 10g 数据库 与 Oracle RAC 在 TPC-H 基准测试中创造了新的世
界纪录 . 这是个令人震惊的消息 . 因为这个测试是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平台上进行的 .
这充分显示了 Oracle 在低成本 Linux 集群服务器上高效管理大规模数据仓库的能力 , 也表明 Linux 在性能价格比上的优势 ,
标志着 Linux 在大规模企业应用上已经成熟 .
相信很多朋友已经对 10g 跃跃欲试了 , 现在从这里让我们开始 10g 之旅 .
不久前 ,Oracle( 甲骨文 ) 公司在美国加州的总部宣布 , Oracle 10g 数据库 与 Oracle RAC 在 TPC-H 基准测试中创造了新的世
界纪录 . 这是个令人震惊的消息 . 因为这个测试是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平台上进行的 .
这充分显示了 Oracle 在低成本 Linux 集群服务器上高效管理大规模数据仓库的能力 , 也表明 Linux 在性能价格比上的优势 ,
标志着 Linux 在大规模企业应用上已经成熟 .
相信很多朋友已经对 10g 跃跃欲试了 , 现在从这里让我们开始 10g 之旅 .
本文描述了在
Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)
上安装
Oracle 10g
必要的步骤和相关知识
.
本文假定
你的 Linux 操作系统已经安装完毕 , 并且您应该具有一定的 Unix 操作系统背景知识 .
你的 Linux 操作系统已经安装完毕 , 并且您应该具有一定的 Unix 操作系统背景知识 .
配置
RedHat AS 3
操作系统版本: Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel 2.4.21-4.EL on an i686
按照常规来安装操作系统 , 记得要安装开发工具 (gcc 等必要工具 ).
操作系统版本: Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel 2.4.21-4.EL on an i686
按照常规来安装操作系统 , 记得要安装开发工具 (gcc 等必要工具 ).
必要的硬件信息检查 :
检查内容
|
最小值
|
检查命令参考
|
物理内存
|
512M
|
# grep MemTotal /proc/meminfo
|
交换空间
|
1.0 GB
或者
2
倍内存大小
|
# grep SwapTotal /proc/meminfo
|
/tmp
空间
|
400 MB
|
# df -k /tmp
|
软件所需空间
|
2.5 GB
|
# df -k (
空间越大越好
,
如果是正式系统
,
应该进行详尽的规划
)
|
数据库文件
|
1.2 GB
|
# df -k (
空间越大越好
,
如果是正式系统
,
应该进行详尽的规划
)
|
检查完如上各项之后 , 应该修改核心参数 . 执行如下命令 :
#vi /etc/sysctl.conf
# 注释 :# 表示使用 root 用户操作 ,$ 表示使用 oracle 用户进行操作 . 提示符后面的蓝色部分表示需要输入的命令,以下同.
在该文件末尾加入如下内容 :
#-----------Begin from here--------------------------------------
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
#--------------End here--------------------------------------------
编辑完之后 , 保存 , 执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效 .
# 注释 :# 表示使用 root 用户操作 ,$ 表示使用 oracle 用户进行操作 . 提示符后面的蓝色部分表示需要输入的命令,以下同.
在该文件末尾加入如下内容 :
#-----------Begin from here--------------------------------------
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
#--------------End here--------------------------------------------
编辑完之后 , 保存 , 执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效 .
注
:
上面
kernel.shmmax/kernel.sem
等是典型的核心参数配置
.
您可能需要根据您的实际环境进行适当的变动
.
关于这些核心参数的说明在
Oracle
的
Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems
中有很详细的说明 .( http://download-west.oracle.com/docs/html/A96167_01/toc.htm )
然后 , 应该检查一下上面的操作是否正确 :
# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range
为 Oracle 用户设定 Shell 的限制
一般来说,出于性能上的考虑 , 还需要需要进行如下的设定,以便改进 Oracle 用户的有关 nofile( 可打开的文件
描述符的最大数 ) 和 nproc( 单个用户可用的最大进程数量 )
# vi /etc/security/limits.conf
# 添加如下的行
中有很详细的说明 .( http://download-west.oracle.com/docs/html/A96167_01/toc.htm )
然后 , 应该检查一下上面的操作是否正确 :
# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range
为 Oracle 用户设定 Shell 的限制
一般来说,出于性能上的考虑 , 还需要需要进行如下的设定,以便改进 Oracle 用户的有关 nofile( 可打开的文件
描述符的最大数 ) 和 nproc( 单个用户可用的最大进程数量 )
# vi /etc/security/limits.conf
# 添加如下的行
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
添加如下的行到 /etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
编辑 /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
之后,执行 $ unlimit 验证一下 .
检查并安装相关补丁
在这个版本的
RHEL
上安装
Oracle,
必须要有几个软件包
.
确认以下
rpm
包都已经安装
:
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 -qa | grep compat
# 在我的机器上输出如下 :
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
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 -qa | grep compat
# 在我的机器上输出如下 :
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
# rpm -qa | grep openmotif
openmotif-devel-2.2.2-16
openmotif-2.2.2-16
openmotif-devel-2.2.2-16
openmotif-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1
setarch-1.3-1
上面显示的内容是在笔者已经安装了具体的
RPM
包之后的结果
.
一般情况下
,
你的系统上的输出结果和这个不同
.
如果个
别包没有安装 , 把系统安装光盘 mount 上 , 找到具体的软件包 ( 大多数在第三张光盘上 ), 然后利用如下的命令来安装相应
的包 :
别包没有安装 , 把系统安装光盘 mount 上 , 找到具体的软件包 ( 大多数在第三张光盘上 ), 然后利用如下的命令来安装相应
的包 :
# rpm -ivh compat.....rpm
要额外注意的是
,
这些软件包之间是有依赖性的
,
先后的顺序要找好
.
否则会报告不能安装的错误
.
此外,最好验证一下
gcc
和
glibc
的版本
(
要求是
gcc-3.2.3-2
或者更高
)
#gcc -v
#rpm -q glibc
#rpm -q glibc
创建用户和相关的组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
如果只是测试目的的话,不创建 oinstall 组也没什么 . 不过还是规范一点比较好 . 如果 oracle 用户和 dba 组等已经存在,作
适当的调整即可 .
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
如果只是测试目的的话,不创建 oinstall 组也没什么 . 不过还是规范一点比较好 . 如果 oracle 用户和 dba 组等已经存在,作
适当的调整即可 .
检查并调整环境变量
登录为
oracle
用户
# su – oracle
$ cd
$ vi .bash_profile
# su – oracle
$ cd
$ vi .bash_profile
#
添加如下内容
,
你的具体值应该不会和这个完全相同
.
export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
然后执行
$ source .bash_profile
使环境变量生效 . /u/app/oracle 等目录应该建立好并做合适的授权 .
$ source .bash_profile
使环境变量生效 . /u/app/oracle 等目录应该建立好并做合适的授权 .
开始安装
10g
mount
你的安装盘
.(
我一般都是把文件拷贝到系统中一个具体的位置
,
比如
/u/install ) .
执行
$ sh /u/install/runInstaller
如果不能出现安装画面,查看本文后面的 FAQ 。
非常值得称道的是 ,10g 的安装相比以前的多了一个 Checking operating system certification 的步骤。特别实用。
安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你 . 并会给出具体原因。大大减少了出错的可能 .
下面是检查成功输出的内容 :
Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
=======================================================================
Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
=======================================================================
Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
=======================================================================
其他的步骤比较清晰,不再赘述 .
最后系统会提示你运行 root.sh 文件 . 按照提示做即可 .
$ sh /u/install/runInstaller
如果不能出现安装画面,查看本文后面的 FAQ 。
非常值得称道的是 ,10g 的安装相比以前的多了一个 Checking operating system certification 的步骤。特别实用。
安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你 . 并会给出具体原因。大大减少了出错的可能 .
下面是检查成功输出的内容 :
Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
=======================================================================
Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
=======================================================================
Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
=======================================================================
Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
=======================================================================
其他的步骤比较清晰,不再赘述 .
最后系统会提示你运行 root.sh 文件 . 按照提示做即可 .
FAQ (
在
Linux
平台安装
Oracle
比较常见
)
1.
不能启动安装界面
.
运行
runInstaller
提示信息类似如下
:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......
解决办法
:
设定你的
DISPLAY
环境参数
.# export DISPLAY= your_IPaddress :0.0
把
your_IPaddress
换成你的
IP.
或者
用 root 简单的执行一下 # xhost + ( 要注意这样会有安全上的隐患 )
2. 安装界面显示很多 " 口口 " 样子的乱码
解决办法 : 查看 locale 输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
用 root 简单的执行一下 # xhost + ( 要注意这样会有安全上的隐患 )
2. 安装界面显示很多 " 口口 " 样子的乱码
解决办法 : 查看 locale 输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行
#export LC_CTYPE=en_US.UTF-8
然后重新调用安装程序
.
3. 用 IE 登录 Linux 服务器上的 em 出现乱码
在 Linux(Unix) 环境下成功安装了 Oracle 10g, 从 windows 下用 IE 浏览器登录 10g 的 em, 按钮是 " 口口 " 这样的方框 .
解决办法 : 参考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是参考这个 http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 后者比较彻底,前者比较 "Quick & Dirty ".
4. 创建数据库的时候出现 ORA-03113 的错误
解决办法 : 查看核心参数是否调整正确 . 参考 http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1 等系统 10g 不支持如何安装 ?
解决办法: 在 10g 不支持的 Linux 发行版上安装 10g 的解决方法
1). 运行 runInstaller -ignoreSysPrereqs ,这样会跳过检查
2). 摘自 www.puschitz.com 修改 /etc/redhat-release 文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕,执行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同样的思路,我们可以修改 Oracle 的 install/oraparam.ini 文件达到目的
6 如何关掉那些 ocssd.bin 进程?
解决办法 : 编辑 /etc/inittab 文件 ( 做好备份 )
注释掉这一行 :
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
3. 用 IE 登录 Linux 服务器上的 em 出现乱码
在 Linux(Unix) 环境下成功安装了 Oracle 10g, 从 windows 下用 IE 浏览器登录 10g 的 em, 按钮是 " 口口 " 这样的方框 .
解决办法 : 参考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是参考这个 http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 后者比较彻底,前者比较 "Quick & Dirty ".
4. 创建数据库的时候出现 ORA-03113 的错误
解决办法 : 查看核心参数是否调整正确 . 参考 http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1 等系统 10g 不支持如何安装 ?
解决办法: 在 10g 不支持的 Linux 发行版上安装 10g 的解决方法
1). 运行 runInstaller -ignoreSysPrereqs ,这样会跳过检查
2). 摘自 www.puschitz.com 修改 /etc/redhat-release 文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕,执行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同样的思路,我们可以修改 Oracle 的 install/oraparam.ini 文件达到目的
6 如何关掉那些 ocssd.bin 进程?
解决办法 : 编辑 /etc/inittab 文件 ( 做好备份 )
注释掉这一行 :
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null
参考信息
Werner Puschitz 的 10g 安装指南 http://www.puschitz.com/InstallingOracle10g.shtmlWerner Puschitz 的站点的文章很翔实 , 如果您遇到了本文没有说清的问题,可以去看看那里 . 本文借鉴了该站点不少内容.
ITPUB 论坛 10g 版块 Kamus 等的大作 http://www.itpub.net/forumdisplay.php?s=&forumid=70
关于核心参数等信息请查找 Google http://www.google.com
Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm
Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm
DBAnotes.net 我的站点 包括不少和 Oracle 有关的信息 http://www.dbanotes.net
Werner Puschitz 的 10g 安装指南 http://www.puschitz.com/InstallingOracle10g.shtmlWerner Puschitz 的站点的文章很翔实 , 如果您遇到了本文没有说清的问题,可以去看看那里 . 本文借鉴了该站点不少内容.
ITPUB 论坛 10g 版块 Kamus 等的大作 http://www.itpub.net/forumdisplay.php?s=&forumid=70
关于核心参数等信息请查找 Google http://www.google.com
Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm
Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm
DBAnotes.net 我的站点 包括不少和 Oracle 有关的信息 http://www.dbanotes.net