很多初学者都遇到这样的问题:
一、操作系统安装环境 :
所讨论的五个已通过 Oracle 数据库 10g 认证的 Linux 发行版本是: Red Hat Enterprise Linux 4 (RHEL4)
Red Hat Enterprise Linux 3 (RHEL3)
Red Hat Enterprise Linux 2.1 (RHEL2.1)
Novell SUSE Linux Enterprise Server 9
Novell SUSE Linux Enterprise Server 8
这安装环境关系到后面的安装情况,这里先不提;
二、安装OpenSUSE10.2
这里不需要太多的介绍了;
三、检查环境
所需内核:
2.6.9-5.EL 或更高版本
验证内核版本:
# uname -r
2.6.9-5.ELsmp
其他所需程序包的版本(或更高版本):
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
验证已安装的程序包:
# rpm -q make gcc compat-db
make-3.80-5
gcc-3.4.3-9.EL4
compat-db-4.1.25-9
Red Hat Enterprise Linux 3 (RHEL3)
所需内核:
2.4.21-4.EL 或更高版本
验证内核版本:
# uname -r
2.4.21-4.0.1.ELsmp
其他所需程序包的版本(或更高版本):
make-3.79
binutils-2.11.90.0.8-12
gcc-3.2.3-2
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
openmotif21-2.1.30-8
setarch-1.3-1
验证已安装的程序包:
# rpm -q make binutils gcc compat-db compat-gcc compat-gcc-c++ compat-libstdc++
compat-libstdc++-devel openmotif setarch
make-3.79.1-17
binutils-2.14.90.0.4-26
gcc-3.2.3-20
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
openmotif-2.2.2-16
setarch-1.3-1
Red Hat Enterprise Linux 2.1
所需内核:
2.4.9-e.25 或更高版本
验证内核版本:
# uname -r
2.4.9-e.27smp
其他所需程序包的版本(或更高版本):
gcc-2.96.108.1
make-3.79
binutils-2.11.90.0.8-12
openmotif-2.1.30-11
glibc-2.2.4-31
验证已安装的程序包:
# rpm -q gcc make binutils openmotif glibc
gcc-2.96.2-38
make-3.79.1-8
binutils-2.11.90.0.8-12
openmotif-2.1.30-11
glibc-2.2.4-32.8
SUSE Linux Enterprise Server 9 (SLES9)
所需程序包集:
基本运行时系统
YaST
图形基本系统
Linux 工具
KDE 桌面环境
C/C++ 编译器和工具(默认情况下未选择)
不要安装:
认证服务器 (NIS、LDAP、Kerberos)
所需内核:
2.6.5-7.5 或更高版本
验证内核版本:
# uname -r
2.6.5-7.97-smp
其他所需程序包的版本(或更高版本):
make-3.8
gcc-3.3.3-43
gcc-c++=3.3.3-43
libaio-0.3.98-18
libaio-devel-0.3.98-18
openmotif-libs-2.2.2-519
验证已安装的程序包:
# rpm -q make gcc gcc-c++ libaio libaio-devel openmotif-libs
make-3.80-184.1
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
libaio-0.3.98-18.3
libaio-devel-0.3.98-18.3
openmotif-libs-2.2.2-519.1
SUSE Linux Enterprise Server 8 (SLES8)
所需内核的最低版本取决于您选择的共享存储 选项: 存储选项 内核版本
原始 2.4.21-138 或更高版本
存储选项 | 内核版本 |
原始 | 2.4.21-138 或更高版本 |
使用原始设备的 ASM | 2.4.21-138 或更高版本 |
具有 ASMLib 的 ASM | 2.4.21-251 或更高版本 |
OCFS v1 (1.0.14-1) | 2.4.21-266 或更高版本 |
验证内核版本:
# uname -r
k_smp-2.4.21-215
其他所需程序包的版本(或更高版本):
make-3.79
binutils-2.11.90.0.8-12
gcc-3.2.2-38
openmotif-2.2.2-124
为了安装集群就绪服务,您还需要从 rpmfind.net ncompress-4.2.4-24.i386.rpm(或更新版本)获得以下程序包
ncompress 程序包与 gzip 程序包冲突,因此使用 rpm 的 --force 命令行选项。
例如:
# rpm -ivh --force ncompress-4.2.4-36.i386.rpm
验证已安装的程序包:
# rpm rpm -q gcc make binutils openmotif ncompress
gcc-3.2.2-38
make-3.79.1-407
binutils-2.12.90.0.15-50
openmotif-2.2.2-124
ncompress-4.2.4-36
四、创建 Oracle 组和用户帐户
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=1001(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
用户 ID 和组 ID 在所有集群主机上必须相同。 使用从 id oracle 命令得到的信息,在其余集群主机上创建 Oracle 组和用户帐户:
例如:
# /usr/sbin/groupadd -g 1000 oinstall
# /usr/sbin/groupadd -g 1001 dba
# /usr/sbin/useradd -m -u 1000 -g oinstall -G dba oracle
# id oracle
uid=1001(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
注:这里用命令建立组跟用户,但笔者这里试验,用户目录并没有建立;
笔者是在YAST环境下建立组跟用户的。
设置 oracle 帐户的口令:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
创建挂载点
现在创建存储 Oracle 10g 软件的挂载点。本指南在创建目录结构时所用的命名惯例将遵循最佳灵活体系结构 (OFA)。有关 OFA 标准的更多信息,请参见 Oracle 数据库 10g 安装指南 的附录 D。
以 root 用户身份执行以下命令:
例如:
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01/app/oracle
配置内核参数
以 root 用户身份登录并在每个主机上配置 Linux 内核参数。
cat >> /etc/sysctl.conf >>EOF
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.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
/sbin/sysctl -p
对于 Novell SUSE 版本,在完成以上步骤之后运行以下命令:
/sbin/chkconfig boot.sysctl on
为 oracle 用户设置 Shell 限制
Oracle 建议对每个 Linux 帐户可以使用的进程数量和打开文件的数量设置限制。要进行这些更改,以 root 用户身份剪切和粘贴下列命令。
cat >> /etc/security/limits.conf >>EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login >>EOF
session required /lib/security/pam_limits.so
EOF
对于 Red Hat Enterprise Linux 版本,使用以下命令:
cat >> /etc/profile >>EOF
if [ /$USER = "oracle" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login >>EOF
if ( /$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
对于 Novell SUSE 版本,使用以下命令:
cat >> /etc/profile >>EOF
if [ /$USER = "oracle" ]; then
if [ /$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login >>EOF
if ( /$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
SLES8 和 SLES9:避免错误!
在 SLES8 和 SLES9 上安装 Oracle Enterprise Manager 10g 的一个错误将导致安装因网络 端口不可用而失败。OEM DBConsole 需要端口 1830,而在 SLES 环境中,此端口已经预留给 /etc/services。此错误在 MetaLink 上的错误号为 3513603。
要避免安装过程中出现问题,以 root 用户身份登录,并在安装 Oracle 10g 软件之前将 /etc/services 文件中的端口 1830 至 1849 对应的行注释掉。
注:这里没有必要配置
配置 Hangcheck 计时器
所有 RHEL 版本:
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
cat >> /etc/rc.d/rc.local >>EOF
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF
所有 SLES 版本:
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
cat >> /etc/init.d/boot.local >>EOF
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF
注:这里没有必要配置
配置 /etc/hosts
有些 Linux 发行版本将主机名与回送地址 (127.0.0.1) 相关联。 如果出现这种情况,则从回送地址中删除主机名。
用于此指南的 /etc/hosts 文件:
127.0.0.1 localhost.localdomain localhost
192.168.100.51 ds1-priv.orademo.org ds1-priv # ds1 private
192.168.100.52 ds2-priv.orademo.org ds2-priv # ds1 private
192.168.200.51 ds1.orademo.org ds1 # ds1 public
192.168.200.52 ds2.orademo.org ds2 # ds2 public
192.168.200.61 ds1-vip.orademo.org ds1-vip # ds1 virtual
192.168.200.62 ds2-vip.orademo.org ds2-vip # ds2 virtual
注:这里没有必要配置这么多IP
五/安装 Oracle 数据库软件
以oracle 用户名登录系统,配置oracle 用户的环境。以oracle 帐号用安装器来安装oracle,但是开始运行安装器之前,还得设定oracle用户的环境变量:
这里做些安装前的配置工作;
1、 开启一个终端会话
2、 确认xwindow 能正常显示。
执行:xhost +
access control disabled, clients can connect from any host
说明配置成功,不用管它;
3、 改变用户为oracle.
$ su oracle
4、 检查oracle用户的默认shell.
echo $SHELL 笔者是bash
5、 用文本编辑器修改oracle用户的环境变量
6、 运行shell开始配置脚本:
●Bash shell
$ . ./.profile
●C shell % source ./.login
9、设置环境变量
●Bash shell
$ ORACLE_BASE=/u01/app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID
●c shell
% setenv ORACLE_BASE /u01/app/oracle
% setenv ORACLE_SID sales
10、确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置
●Bash shell
$ unset ORACLE_HOME
$ unset TNS_ADMIN
022 --前面已经设置过了
●c shell
% unsetenv ORACLE_HOME
% unsetenv TNS_ADMIN
11、再检验一下上面设定的环境变量是否正确。
$ umask
$ env | more
12、export LIBXCB_ALLOW_SLOPPY_LOCK=1
注意:如果不执行此步操作,将会显示错误信息(据说是因为xcb库中的校验更加严格,导致java.swing中的某些不规范的语句也无法通过校验):
"xcb_xlib_unlock: Assertion 'c->xlib.lock' failed. "
安装:
解压缩oracle data。
执行命令:./runInstaller -ignoresysprereqs
如果这里出错,表示有些包还没有安装;找到包安装即可;
这里安装也可以绕过这部
六、安装配置
直接下一步,按提示操作即可;
- 启动oracle
#启动监听
lsnrctl start
#关闭监听
lsnrctl stop
#启动数据库
sqlplus
sql>/as sysdba
sql>startup
#停止数据库
sql>shutdown immediate
#启动dbconsole服务
emctl start dbconsole
#停止dbconsole服务
emctl stop dbconsole
#启动或停止 iSQL*Plus:
isqlplusctl start | stop
但是在安装过程中发现问题,首先:
1、提示不能找到字体,好像是jdk的zh.UTF-8的问题,可以在安装过程中使用zh.GBK,安装界面是英文的,可以安装
2、启动过程中报如下错误
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/products/10.1.0.3/db_1/dbs/initrawdb.ora'
解决办法:
cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init.ora /opt/oracle/products/10.1.0.3/db_1/dbs/initrawdb.ora
七、安装成功;
yeah!!!!!!!!!!!
参考:
精讲-Linux x86 安装Oracle 10g
http://publish.it168.com/2005/0822/20050822024905.shtml
linux下安装oracle 10g 的艰难之旅
http://edu.yesky.com/edupxpt/497/2154497.shtml
Oracle Database10g R2 (10.2.0.1)
on openSUSE 10.2 Introduction
错误提示及解决方法:
1.Xlib: connection to ":0.0" refused by server
xhost local:oracle non-network local connections being added to access control list
2.libxp.so.6 cannot open shared object file no such file or directory occurred
rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm