1.在安装数据库之前,建议最好先把jdk配好。
2.然后就是一些rh5的安装包装上,我就是在这个上面吃的亏,在网上说要安装好什么什么包,当你装好之后,安装数据库时仍然出错,关键是他们没有说全,这也是为什么我装了三天的原因。
0)查询所需安装包是否完整
# rpm -q gcc make binutils openmotif setarch libXp
1)插入redhat 5安装光盘,以文件夹形式打开,搜索全部以rpm结尾的文件
2)找出第0步所缺少的文件,还要找出所有的以compat开头的文件,全部装上他们。有的装不上需要依赖其它包的,那就跳过,等装完能装的了,再来装这些剩下的就可以了。有几个还是装不上就不用装了,说明他们用不上(这是什么逻辑?)。但是libXp一定要装,就算光盘上没有或装不上,也要上网上下一个。
PS:光盘上有一个libXp-devel-*.rpm的,你装一下会装不上,他会告诉所需要的依赖包libXp-*.rpm,根据它提示的版本上网上找一个。
注:以 root 用户身份登录后执行下命令
3.设置交换分区,最好是大于或等于你的内存。具体情况是,小于2G的,swap设为你内存的2倍。内存为2~4G的设为1~2倍。后面的我就莫试过了,需要的话可以上网查。如果swap小于你的内存,oracle安装检测时,好像会报错的。我的内存是3G,已有swap为2G,所以只要再加2G的swap就可以了.
1)# grep MemTotal /proc/meminfo //查看内存
# grep SwapTotal /proc/meminfo //查看交换空间
2)如果交换空间不够,该咋办呢?请往下看.
# cd /usr //这里建议在/usr里建swap,你也可以自己决定,最好是个单独的分区
# dd if=/dev/zero of=swap bs=1024 count=2097152
//bs是设定块的大小,这里的意思就是1块的大小是1024,count是由1024*2048(2G)得来的
# /sbin/mkswap swap //创建交换文件
# /sbin/swapon swap //激活当前swap文件
# /sbin/swapon -s //查看swap是否激活
# vi /etc/fstab //编辑fstab文件,让开机时自动启动,在行尾加上如下语句
/var/swapfile swap swap defaults 0 0
4.修改参数,这里我就不多说了,网上这样的介绍多的是.
修改完内核参数后不必重启系统。其中给出的是最小值,如果系统使
用的值较大,就不要更改它。
1)#vi /etc/sysctl.conf
在该文件末尾加入如下内容:
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
保存后,再运行sysctl -p应用以上参数
SEMMNI 100 Defines the maximum number of semaphore sets in the entire system.
SEMMNS 256 Defines the maximum semaphores on the system. This setting is a minimum recommended value, for initial installation only. The SEMMNS parameter should be set to the sum of the PROCESSES parameter for each Oracle database, adding the largest one twice, and then adding an additional 10 for each database.
SEMOPM 100 Defines the maximum number of operations for each semop call.
SEMMSL 100 Defines the minimum recommended value, for initial installation only.
SHMMAX 2147483648 Defines the maximum allowable size of one shared memory segment. 2 GB for SMP kernel. The recommended size is half the RAM size.
SHMMIN 1 Defines the minimum allowable size of a single shared memory segment.
SHMMNI 100 Defines the maximum number of shared memory segments in the entire system.
SHMSEG 4096 Defines the maximum number of shared memory segments one process can attach.
SHMVMX 32767 Defines the maximum value of a semaphore.
2)# vi /etc/security/limits.conf 最后一行添加如下内容:
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
3)# vi /etc/pam.d/login 行尾添加以下内容
#use for oracle
session required pam_limits.so
4)# vi /etc/selinux/config 更改以下内容
SELINUX=disabled //我认为是关闭LINUX的保护程序
5)修改/etc/redhat-release文件,这样安装的时候能通过,oracle10不支付rh5
# vi /etc/redhat-release
改为:
#Red Hat Enterprise Linux Server release 5 (Tikanga)
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
//装好oracle后还要改回来的
5.建立安装Oracle需要的用户,组,及目录
安装oracle的目录建议安装在一个单独的分区或者磁盘上。
1)创建组:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
2)创建oracle用户:
# /usr/sbin/useradd -m -g oinstall -G dba oracle
3)设置用户密码:
# passwd oracle //这里随你,我这样设的后果就是它会说这是一个糟糕的密码
4)# mkdir -p /u01/app/oracle //软件安装位置
5)# mkdir -p /u02/oradata //数据文件存放位置
6)# chown -R oracle:oinstall /u01
7)# chown -R oracle:oinstall /u01/app/oracle/ /u02/oradata/
8)# chmod -R 775 /u01/app/oracle/ /u02/oradata/
//以上三行是赋给用户文件的使用权限
6.配置oracle用户的语言版本和环境变量
注意:下面的操作,用oracle用户登陆执行,必须是界面登陆,不能是终端切换
1)$ export LC_CTYPE=zh_CN.GB2312-8 0 0
//这是避免安装软件时出现乱码,可根据安装时的错误提示更改编码格式
2)接下来,编辑/home/oracle目录下的.bash_profile文件:
$ vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME_LISTNER=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=oracle
export PATH=$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
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${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
准备工作完毕,现在是办正事的时候了
7.安装Oracle 10g
把下载好的10201_database_linux32.zip,放在/opt目录下,
在终端切换到root用户,通过下列命令解压,得到database文件夹
# unzip 10201_database_linux32.zip
切回oracle用户到/opt/database目录下执行安装:
0)$ cd /opt/database
$ export DISPLAY=":0.0"
$ ./runInstaller
进入Oracle10g安装界面
1)选择安装类型,这里选择高级安装(最下面的)。
2)指定证书存放目录。/u01/app/oracle/oraInventory
3)选择安装的数据库类型及oracle所支持的语言,这里选择企业版,
语言选择English和Simplified Chinese。
(选择Enterprise Edition,语言要简体中文的)
4)指定oracle环境变量,安装路径。/u01/app/oracle/product/10.2.0/db_1
5)Oracle开始安装前进行检查,我这报了一个Warning不过没事,继续
6)选择配置选项。(第一个,安装数据库)
7)选择创建的数据库模式。(第一个,通用模式)
8)指定数据库配置的相关选项(SID:最好用默认的,字符集:第一个Unicode UTF-8)。
9)选择数据库管理选项。(默认第二个,下一步)
10)指定数据库存储选项。(/u02/oradata)
11)指定数据库备份回复选项。(选一个,大家随意)
12)指定数据库相关用户密码。勾上所有用户共用一个密码选项,输入密码,下一步
13)显示安装概要。 (next吧~~)
14)开始安装。 (等吧~~)
15)安装成功后会弹出一个窗口,用root权限执行里面的命令,一定要执行,
别大意了,点OK。
16)安装结束。
17)安装完成后,恢复语言环境以及版本信息
$ export LC_CTYPE=zh_CN.UTF-8
以下root用户权限:
# vi /etc/redhat-release
改为:
Red Hat Enterprise Linux Server release 5 (Tikanga)
#Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
8.启动数据库与监听
1)使用root用户修改/etc/oratab文件:
# vi /etc/oratab
修改配置文件:
SID名字:/Oracle/app/product/10.2.0/db_1:N为
oracle:/Oracle/app/product/10.2.0/db_1:Y
2)修改$Oracle_HOME/bin/dbstart文件:
# vi $Oracle_HOME/bin/dbstart
把其中的Oracle_HOME_LISTNER=什么东西,注释掉,
加上Oracle_HOME_LISTNER=$Oracle_HOME
3)修改/增加配置文件,起名字叫oracle,添加下面的script
# vi /etc/rc.d/init.d/oracle
===== Script ====
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=oracle
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<
sqlplus /nolog<
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<
sqlplus /nolog<
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
===========end of script==============
4)授权 :
# chown root.root /etc/rc.d/init.d/oracle
5)修改文件属性:
# chmod 755 /etc/rc.d/init.d/oracle
6)启动/关闭服务:
# service oracle start
# service oracle stop
附:卸载(简单,全是rm)
1)使用SQL*PLUS停止数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate] //方括号内为可选
SQL> exit
2)停止Listener
$ lsnrctl stop
3)停止HTTP服务
$ $ORACLE_HOME/Apache/Apache/bin/apachectl stop //有些可能没有
4)用su或者重新登录到root
(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
(7)# rm -f /usr/local/bin/dbhome
(8)# rm -f /usr/local/bin/oraenv
(9)删除oracle用户和组。
# userdel –r oracle
# groupdel oinstall
# groupdel dba
(10)将启动服务删除
# chkconfig --del dbora //有些可能没有