RHEL5安装oracle10g
一、 安装环境
我是在
vmware
里虚拟的
RHEL5
,分配的内存
1G
,
SWAP
分区
1G
,建议你最好把
SWAP
分区改成
2G
。否则安装时,到了测试的步骤会提示监测失败。(有人说如果强行安装一样没问题,这个我没有测试),我检测
swap
没有通过,本着都通过的原则,抛了块砖,争取引块玉吧:
我找个英文的,用户要用
root
噢
~~
1.
choosea location where you have lots of space (/usr comes to mind)
选择你需要作为增加交换分区的磁盘空间,这里建议用
usr
。但是我建议,先看看那分区
free–m
。
2.
create a file the size you want the swap tobe:
dd if=/dev/zeroof=/usr/swap bs=1024 count=100000
(the above willcreate a file 100Mb in size, so adjust the count as yousee fit)
/*Here may bewrong. Comment by baif. */
翻译:
建立一个你想要的分区空间(以在
/usr/swap
),命令为:
>dd if=/dev/zero of=/usr/swap bs=1024
(块的大小
block_size
)
count=10000
(块数量
number_of_block
)
注释:判定新交换文件的大小,将
(块的大小
block_size
)
乘以
1024
来判定块的大小。例如,大小为
64MB
的交换文件的块大小为
65536
。
3.
runthe command: mkswap /usr/swap
设置交换分区文件:
mkswap /usr/swap
。
4.
runthe command: swapon /usr/swap
立即启用交换分区文件:
#swapon /usr/swap
5.
checkw/ free that you just added 100Mb of swap
还是让你
free –m
,看看空间成功没有。
6.
ifyou want this to be permanent through reboots, you'll need to add theappropriate line to /etc/fstab
若要想使开机时自启用,则需修改文件
/etc/fstab
中的
swap
行,
添加
/usr/swap swap swap defaults 0 0
二、 安装Oracle10g Release2 前的配置
1.
安装
Oracle 10g R2
所需的软件包(谢谢一个网友
Commandos
提醒
!这里面用dvd的就比较方便了)
# cd/mnt/cdrom/Server/
# rpm -Uvhsetarch-2*
# rpm -Uvhmake-3*
# rpm -Uvhglibc-2*
# rpm -Uvhlibaio-0*
# rpm -Uvhcompat-libstdc++-33-3*
# rpm -Uvhcompat-gcc-34-3*
# rpm -Uvhcompat-gcc-34-c++-3*
# rpm -Uvhgcc-4*
# rpm -UvhlibXp-1*
# rpm -Uvhopenmotif22-*
# rpm -Uvh compat-db-4*
2.
修改
/etc/redhat-release
文件
因为
Oracle 10g
官方只支持到
RHEL4
为止,所以需要更改版本说明,编辑
/etc/redhat-release
文件
,
删除
RedHat Enterprise Linux Server release 5 (Tikanga)
替换为:
RedHat Enterprise Linux AS release 4 (Nahant Update 4)
3.
修改内核参数
#vi /etc/sysctl.conf
kernel
.
shmmni
=
4096
kernel
.
sem
=
25032000 100 128
fs
.
file
-
max
=
65536
net
.
ipv4
.
ip_local_port_range
=
102465000
net
.
core
.
rmem_default
=
262144
net
.
core
.
rmem_max
=
262144
net
.
core
.
wmem_default
=
262144
net
.
core
.
wmem_max
=
262144
使更改立即生效,使用下面的命令:
#sysctl–p
4. 检测磁盘、帐号和oracle安装历史
a) 验证交换分区:grep SwapTotal /proc/meminfo
b) 检测磁盘空间:df -l df -h df-k /tmp/
c) 检测是否安装过oracle:more/etc/oraInst.loc
5.
建立安装
Oracle
需要的用户,组,及目录
安装
oracle
的目录建议安装在一个单独的分区或者磁盘上。我这个是有点问题,不合乎
FHS
标准,以后再整理吧,)
a) 判断dba和oinstall组是否存在: grep dba /etc/group grep oinstall /etc/group-----这个是oracle的用户组,一定要有。
b) 创建组:/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba
c) 创建帐号:/usr/sbin/useradd -m -g oinstall -G dba oracle
d) 检测帐号: id oracle (uid=501(oracle)gid=501(oinstall) groups=501(oinstall),502(dba))
e) 设置口令: passwd oracle
f) 检测是否存在:id nobody uid=99(nobody) gid=99(nobody) groups=99(nobody)
g) mkdir -p /u01/app/oracle -----软件安装位置
h) mkdir -p /u02/oradata -----数据文件存放位置
i) chown -R oracle:oinstall /u01
j) chown -R oracle:oinstall /u01/app/oracle//u02/oradata/
k) chmod -R 775 /u01/app/oracle/ /u02/oradata/
6.
设置
oracle
用户的
shell limit
#vi/etc/security/limits.conf
增加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
接下来更改
/etc/pam.d/login
文件,添加下面的内容,使
shell limit
生效:
#vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limts.so
7.
配置
IP
地址
最好用静态IP。要不检测不会通过的,但是我改了也没通过,一狠心,算了,过去了,没事,哈哈~修改静态:#vi
/etc/sysconfig/network-scripts/ifcfg-eth0
中的
BOOTPROTO
=
static
8.
配置
oracle
用户的环境变量和语言版本
注意:
下面的操作,该用
oracle
用户登陆执行了。
为了防止安装
oracle
时出现乱码,先把语言环境改为英文
,
在终端里输入
:
export LC_CTYPE
=
en_US
.
UTF
-
8
接下来,编辑
/home/oracle
目录下的
.bash_profile
文件,添加如下内容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportORACLE_HOME_LISTNER=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=base
exportPATH=$HOME/bin:$ORACLE_HOME/bin:${PATH}
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/app/temp
export TMPDIR=/app/temp
export LANG=EN_US
unset USERNAME
umask 022
三、 安装Oracle10g
把
10201_database_linux32.zip
放在
/opt
目录下,并通过
#unzip10201_database_linux32.zip
解压,现在使用
oracle
用户到
/opt/database
目录下执行安装
:
1.
选择安装类型,这里选择高级安装(最下面的)。
2.
指定证书存放目录。
/u01/app/oracle/oraInventory
3.
选择安装的数据库类型及
oracle
所支持的语言,这里选择企业版
,
语言选择英文和简体中文。(选择
EnterpriseEdition,
语言要简体中文的)
4.
指定
oracle
环境变量,安装路径。
/u01/app/oracle/product/10.2.0/db_1
5.
Oracle
开始进行安装前的检查工作
6.
选择配置选项。(第一个,安装数据库)
7.
选择创建的数据库模式。(第一个,通用模式)
8.
指定数据库配置的相关选项(
SID
:自己起、字符集:
Unicode UTF-8
)。
9.
选择数据库管理选项。(默认第二个,下一步)
10.
指定数据库存储选项。(
/u02/oradata
)
11.
指定数据库备份回复选项。(选一个不做,大家随意)
12.
指定数据库相关用户密码。(随意)
13.
显示安装概要。(
next
吧
~~
)
14.
开始安装。(等吧
~~
)
15.
上面的窗口点击
OK
后。(一定要点,上面的窗口点击
OK
后,会出现显示的内容:需要
root
权限执行就可以了)
16.
安装结束。
17.
安装完成后,恢复语言环境以及版本信息
#export
LC_CTYPE
=zh_CN.UTF-8
#vi /etc/redhat-release
Red HatEnterprise Linux Server release 5 (Tikanga)
四、 手工和自动启动数据库与监听
声明:手动我没成功过,靠。来自动的吧~
1.
使用
root
用户修改
/etc/oratab
文件:
vi /etc/oratab
,修改配置文件:
SID
名字
:/Oracle/app/product/10.2.0/db_1:N
为
orcl:/Oracle/app/product/10.2.0/db_1:Y
2.
使用
Oracle
用户修改
$
Oracle_HOME/bin/dbstart
文件:
vi $Oracle_HOME/bin/dbstart
把其中的
Oracle_HOME_LISTNER=
什么东西,删掉,直接
=$Oracle_HOME
。
3.
以
root
修改增加配置文件,起名字叫
oracle
。。
# vi /etc/rc.d/init.d/oracle
===== Script====
#!/bin/bash
#
# chkconfig: 3595 1
# description:init script to start/stop oracle database 10g, TNS listener, EMS
# match thesevalues to your environment:
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportORACLE_TERM=xterm
exportPATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
exportORACLE_SID=demo1
exportDISPLAY=localhost:0
exportORACLE_USER=oracle
# see how weare called:
case $1 in
start)
su -"$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch/var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
===========endof script==============
4.
授权
:
chown root.root /etc/rc.d/init.d/oracle
5.
修改文件属性:
chmod755 /etc/rc.d/init.d/oracle
6.
启动
/
关闭:
# service oracle start
# service oracle stop
五、 卸载(简单,全是rm)
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
用户和组。
六、 结束语
这个是RHEL5上我亲自安装的,在4上面只要不修改版本,基本上都一样。嘿嘿。
本文出自 “小乌龟” 博客,请务必保留此出处http://tinytortoise.blog.51cto.com/72584/110131