分类: Oracle
2010-05-07 19:34:22
Oracle 10g 在Linux下的安装
内容均来自互联网,经本人亲自实践,对通不过的地方进行了修正。
首先我自己的linux内核版本是
[redhat@redhat ~]$ uname -r
2.6.18-128.el5
我的redhat版本是Linux Server release 5.3 如下所示:
[redhat@redhat ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
接下来开始安装oracle 10g. 从官方网站上下载的文件名是 10201_database_linux32.zip。
我把它放到/opt/tools目录下面。
首先解压数据库程序:
解压文件
解压文件命令: unzip 10201_database_linux32.zip
[root@redhat tools]# unzip 10201_database_linux32.zip
解压后得到一个文件名称是database的文件。这个文件是oracle程序文件。
接着修改 Hosts文件
在/etc/hosts 文件中包含一个完整合法的服务器名
我自己的host文件修改后的结果是:
127.0.0.1 localhost
192.168.1.132 redhat
或者在/etc/sysconfig/network文件下修改主机名
将前面对内容都加#注释掉。然后重启系统。
接着设置内核参数
在/etc/sysctl.conf中添加以下行:
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
运行下面的命令应用以上OS参数
/sbin/sysctl -p
[root@redhat ~]# sysctl -p
接着修改如下内容:
添加以下行到/ect/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/selinux/config文件来关闭linux防火墙,确保SELINUX设置如下:
SELINUX=disabled
配置文件的修改到此结束。
2检查安装包
依据官方的安装文档要求,系统上必须具有下面的软件包:
binutils-2.15.92.0.2 安装
compat-db-4.1.25-9 没安装
compat-libstdc++-296-2.96-132.7.2 已安装
control-center-2.8.0-12 已安装
gcc-3.4.3 已安装
gcc-c++-3.4.3 已安装
glibc-2.3.4 已安装
glibc-common-2.3.4 已安装
gnome-libs-1.4.1.2.90-44.1 系统里没有这个文件
libstdc++-3.4.3-22.1 已安装
libstdc++-devel-3.4.3-22.1 已安装
make-3.80-5 已安装
pdksh-5.2.14-30 没这个文件
sysstat-5.0.5-1 没安装
xscreensaver-4.18 没这个文件
libXp-1.0.0-8.i386.rpm 没安装
openmotif22-2.2.3-18.i386.rpm 没安装
compat-db-4.2.52-5.1.i386.rpm 没安装
compat-gcc-34-3.4.6-4.i386.rpm 没安装
compat-gcc-34-c++-3.4.6-4.i386.rpm 没安装
compat-libstdc++-33-3.2.3-61.i386.rpm 已安装
libaio-0.3.106-3.2.i386.rpm 已安装
对RedHatEL 5来说,需要以下包(按顺序安装):
1. Kernel-header-2.6.18-128.wl5.i386.rpm 安
2. glibc-headers-2.5-34.i386.rpm 安
3. glibc-devel-2.5-24.i386.rpm 安
4. glibc-2.5-34.i386.rpm 安
5. libaio-0.3.106-3.2.i386.rpm 安
6. libgomp-4.3.2.7-7.el5.i386.rpm 安
7. libXp-1.0.0-8.1.el5.i386.rpm 没 l
8. openmotif-2.3.1-2.el5.i386.rpm 没 2
9. compat-gcc-34-3.4.6-4.i386.rpm没 3
10. compat-gcc-34-c+-3.4.6-4.i386.rpm 没 4
11 compat-db-4.2.52-5.1.i386.rpm 没 5
12. compat-gcc-34-g77-3.4.6-4.i386.rpm 没 6
也可以通过修改安装文件oraparam.ini,添加redhat-5(二者选一即可)这里本人没有验证。
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
Oracle用户环境变量
以oracle用户登陆,在.bash_profile文件尾添加以下行:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
环境变量修改后,必须重启让其生效,也可以使用如下命令:
[oracle@redhat ~]$source .bash_profile,最好重启。
ORACLE_SID=TSH1; export ORACLE_SID,要把脚本里面的TSH1,改为自己的实例名。这里很重要!
二、开始安装
在执行命令./runInstaller时,会发现菜单栏是乱码,这是退出安装,执行一个命令:
[oracle@redhat database]$export LC_CTYPE=en_US这个是临时更改用户语言环境,重登录后会还原为先前的。
这个命令的作用是在图形化界面下安装oracle时确保字符不是乱码。
这个命令执行后立即生效。
接下来会出现oracle的图形安装界面默认路径是:
/u01/app/oracle/product/10.2.0/db_1
之后时enter the full path of the inventory directory
当安装要求安装完毕之后,需要如下操作:
[oracle@redhat database]$ netca
[root@localhost 10.2.0]#cd /u01/app/oracle/product/10.2.0/db_1
[root@localhost 10.2.0]# ./root.sh
这个命令在创建了监听之后就可以进行了。这里做事为了避免在创建数据库时出错。
[oracle@redhat database]$dbca ,建立数据库。
安装完之后17.安装完成后,恢复语言环境以及版本信息
#export LC_CTYPE=zh_CN.UTF-8
#vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
安装完成后重启机子
四、后续
1.安装完成后,首先应该启动监听器。
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用OEM或iSQL*PLUS,必须先启动监听器。
[oracle@TSM54-Test database]$ lsnrctl start
[oracle@TSM54-Test database]$ lsnrctl stop
2.使用Oracle Enterprise Manager 10g进行数据库控制
启动和停止OEM的命令为:
[oracle@TSM54-Test database]$emctl start dbconsole
[oracle@TSM54-Test database]$emctl stop dbconsole
在web浏览器中,输入:
(如果服务器没有进行DNS解析,则可以用IP地址)
用户名:SYS
口令:<安装过程中建立的口令>
连接为:SYSDBA
3.使用iSQL*Plus访问数据库
启动和停止iSQL*Plus命令:
[oracle@TSM54-Test database]$isqlplusctl start
[oracle@TSM54-Test database]$isqlplusctl stop
iSQL*Plus是历史悠久的SQL*Plus交互式工具的基于web的版本,用于访问数据库。要使用iSQL*Plus,请单击OEM控制台相关连接部分中的iSQL*Plus链接,或将浏览器指向安装过程中提供的iSQL*Plus URL。
在web浏览器中,输入:
用户名:SYSTEM
口令:<安装过程中创建的口令>
连接标识:orcl
4.启动和停止数据库
启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:
启动:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
Database mounted.
Database opened.
SQL> exitShutdown:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
五、卸载ORACLE
1. 运行 $ORACLE_HOME/bin/localconfig delete
2. rm -rf $ORACLE_BASE/*
3. rm -f /etc/oraInst.loc /etc/oratab
4. rm -rf /etc/oracle
5. rm -f /etc/inittab.cssd
6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
7. 删除oracle用户和组。
注:卸载方法是来自google。没有验证。
5. 编写开机启动Oracle10G的脚本
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!/bin/bash
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}
'`
if [ "X$pid" = "X" ]
then
echo "oracle10g is not running."
exit 1
else
echo "oracle10g is running."
exit 0
fi
}
case "$1" in
start)
#startup the listener and instance
echo -n "oracle begin to startup: "
su - oracle -c "lsnrctl start"
su - oracle -c dbstart
echo "oracle10g started"
;;
stop)
# stop listener, apache and database
echo -n "oracle begin to shutdown:"
su - oracle -c "lsnrctl stop"
su - oracle -c dbshut
echo "oracle10g shutdowned"
;;
reload|restart)
$0 stop
$0 start
;;
'status')
status
;;
*)
echo "Usage: ora10g [start|stop|reload|restart]"
exit 1
esac
exit 0
存为oracle10g后,然后
chmod 755 oracle10g 赋予其执行权限。
在/etc/rc.d/init.d里建立oracle10g这个文件。然后将其拷贝到 /u01/app/oracle/product/10.2.0/db_1/bin/目录下。即可在以后以root身份运行
service oracle10g start
如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:解决:
在.bash_profile 加了个export JAVA_OPTS=-Djava.awt.headless=true
发现缺包[libawt.so: libXt.so.6]导致,找了半天并确定缺少下边的安装包
[root@rhl6 Packages]# yum install libXt.i686 libXtst.i686